This repository contains a collection of assignments from various machine learning courses, covering topics ranging from basic linear regression to advanced deep reinforcement learning techniques.
In this module, we explored the basics of linear regression, including the following:
- Understanding the linear regression model.
- Implementing linear regression using normal equations.
- Evaluating model performance using metrics such as Mean Squared Error (MSE) and R-squared.
Files:
linear_regression.ipynb
- Jupyter notebook implementing linear regression.
This module focused on logistic regression for binary classification tasks:
- Understanding the logistic function and its use in binary classification.
- Implementing logistic regression using gradient descent.
- Evaluating model performance using metrics such as accuracy, precision, recall, and F1-score.
Files:
logistic_regression.ipynb
- Jupyter notebook implementing logistic regression.
This module covered various gradient descent algorithms:
- Understanding the gradient descent algorithm and its variants (Batch, Stochastic, Mini-batch).
- Implementing gradient descent for linear and logistic regression.
- Comparing the performance and convergence rates of different gradient descent algorithms.
Files:
gradient_descent.ipynb
- Jupyter notebook implementing various gradient descent algorithms.
In this module, we applied TensorFlow to the problem of handwritten digit recognition:
- Understanding the basics of neural networks.
- Implementing a neural network using TensorFlow to recognize handwritten digits from the MNIST dataset.
- Evaluating model performance using accuracy and confusion matrix.
Files:
mnist_tensorflow.ipynb
- Jupyter notebook implementing handwritten digit recognition with TensorFlow.
This module explored techniques for reducing bias and variance:
- Understanding the bias-variance tradeoff.
- Implementing techniques such as cross-validation, regularization, and ensemble methods.
- Evaluating the impact of these techniques on model performance.
Files:
bias_variance_reduction.ipynb
- Jupyter notebook implementing bias and variance reduction techniques.
In this module, we explored various unsupervised learning methods:
- Understanding clustering algorithms (K-means, Hierarchical clustering).
- Implementing dimensionality reduction techniques (PCA, t-SNE).
- Evaluating the performance of unsupervised learning algorithms.
Files:
unsupervised_learning.ipynb
- Jupyter notebook implementing various unsupervised learning methods.
This module covered the basics of recommender systems:
- Understanding collaborative filtering and content-based filtering.
- Implementing a simple recommender system.
- Evaluating the performance of recommender systems using metrics such as RMSE and precision@k.
Files:
recommender_systems.ipynb
- Jupyter notebook implementing a recommender system.
In this module, we explored deep reinforcement learning:
- Understanding the basics of reinforcement learning and the Bellman equation.
- Implementing deep Q-learning.
- Evaluating the performance of reinforcement learning algorithms.
Files:
deep_reinforcement_learning.ipynb
- Jupyter notebook implementing deep reinforcement learning.
This project is licensed under the MIT License - see the LICENSE file for details.