This repository contains a collection of machine learning projects completed during my 4th year of undergraduate studies as part of a course on machine learning. These assignments and problem sets showcase my skills in implementing various ML algorithms and techniques using Python libraries like TensorFlow, PyTorch, Keras, and XGBoost. The projects cover regression, classification, gradient boosting, deep neural networks (DNNs), convolutional neural networks (CNNs), and transfer learning, applied to both theoretical models (e.g., Ising model) and real-world datasets (e.g., MNIST, bird species classification).
Below is a summary of the key assignments and problem sets included in this repository:
-
Linear and Logistic Regression
- Implemented fitting and prediction models for linear and logistic regression.
- Focused on understanding foundational ML concepts like optimization and loss functions.
-
Classification
- Built classification models to predict categorical outcomes.
- Explored techniques like feature preprocessing and evaluation metrics.
-
Gradient Boosting with XGBoost
- Developed gradient-boosted models using XGBoost for improved prediction accuracy.
- Applied to structured datasets with hyperparameter tuning.
-
1D and 2D Ising Model with TensorFlow
- Simulated the Ising model (1D and 2D) to study statistical physics using TensorFlow.
- Implemented custom loss functions and training loops.
-
Deep Neural Networks (DNNs) with Keras or PyTorch
- Designed and trained DNNs for various tasks.
- Experimented with architectures, activation functions, and optimization techniques.
-
Convolutional Neural Networks (CNNs)
- MNIST Classifier: Built a CNN to classify handwritten digits from the MNIST dataset.
- General CNNs: Explored CNN architectures for image-based tasks using Keras or PyTorch.
-
CNN and Transfer Learning with PyTorch
- 200 Bird Species Image Classification: Applied transfer learning with pre-trained CNNs (e.g., ResNet) to classify 200 bird species.
- Fine-tuned models on a custom dataset for high accuracy.
linear_logistic_regression/: Code and notebooks for regression projects.classification/: Classification model implementations.xgboost_gradient/: Gradient boosting with XGBoost.ising_model/: 1D and 2D Ising model simulations.dnn/: Deep neural network projects.cnn_mnist/: CNN for MNIST digit classification.cnn_bird_classification/: Transfer learning for bird species classification.
- Languages: Python
- Libraries:
- TensorFlow (Ising model, DNNs, CNNs)
- PyTorch (DNNs, CNNs, transfer learning)
- Keras (DNNs, CNNs)
- XGBoost (gradient boosting)
- NumPy, Pandas (data manipulation)
- Matplotlib, Seaborn (visualization)
- Tools: Jupyter Notebooks, Git
These projects were completed to deepen my understanding of machine learning concepts and their practical applications. They reflect my ability to implement algorithms from scratch, leverage modern frameworks, and tackle both theoretical and real-world problems.
Email: jerrychangyiming@gmail.com
© 2025 YiMing Chang