This repository hosts a collection of machine learning assignments and projects created as part of the CSE-472 course. It includes tasks ranging from linear algebra applications, logistic regression, Gaussian Mixture Models, to building a Convolutional Neural Network (CNN) for image recognition.
- Matrix Transformations: Understanding matrix transformations and eigendecomposition through interactive notebooks.
- Eigen Decomposition: Script to perform eigen decomposition on a randomly generated matrix.
- Singular Value Decomposition: Script to calculate the Moore-Penrose Pseudoinverse using SVD.
- Simple Logistic Regression: Implementing logistic regression to predict the authenticity of banknotes.
- Logistic Regression with Bagging: Ensembling classifiers using bagging to improve prediction accuracy.
- EM Algorithm: Implementing the Expectation-Maximization algorithm to estimate parameters of Gaussian distributions.
- Visualization: Plotting the estimated Gaussian Mixture Model in 2D space, applying dimensionality reduction for higher-dimensional data.
- Custom CNN: Implementing CNN architectures from scratch to classify images of handwritten Bangla digits.
- Data Handling: Preprocessing the NumtaDB dataset for model training.
- Performance Optimization: Hyperparameter tuning for model accuracy improvement.
Ensure you have Python 3.6+ installed on your machine. You can download it from Python's official website.
To set up the environment for these assignments, clone this repository and install the required dependencies:
git clone https://github.com/thr0m3l/CSE-472-Machine-Learning.git
cd CSE-472-Machine-Learning
pip install -r requirements.txt