This repository contains my assignments and projects for the Machine Learning course (Fall 2022), presented by Dr. Sharifi Zarchi at Sharif University of Technology.
The homeworks cover both fundamental machine learning algorithms and advanced deep learning architectures, implemented primarily in Python using Jupyter Notebooks.
Implementation and experimental analysis of classical machine learning algorithms:
- Linear Regression: Predicting continuous targets.
- Decision Trees: Classification algorithms using tree-based recursive partitioning.
- Support Vector Machines (SVM): Margin-based classification.
Introduction to ensemble learning and building neural networks from scratch:
- AdaBoost: Implementing adaptive boosting algorithms to improve weak classifiers.
- Neural Networks (from scratch): Forward and backward passes, activation functions, and gradient descent.
- Neural Networks (with PyTorch): Introduction to the PyTorch deep learning framework.
Advanced topics focusing on deep neural architectures for complex tasks:
- Convolutional Neural Networks (CNN): Image feature extraction and classification.
- Recurrent Neural Networks (RNN): Sequence modeling, including tasks like image captioning utilizing caption datasets.
- Autoencoders: Unsupervised representation learning and dimensionality reduction.
- Language: Python
- Frameworks/Libraries: PyTorch, Scikit-Learn, NumPy, Pandas, Matplotlib
- Environment: Jupyter Notebook
Sharif University of Technology - Computer Engineering Department