Coursework Projects

Projects I have done in Machine Learning and Deep Learning Specializations

Transformer Screenshot

Transformer Architecture with TensorFlow

Implemented Transformer from scratch using TensorFlow and Keras โ€” including scaled dot-product attention, multi-head attention, positional encodings, and encoder-decoder blocks.

Course: Deep Learning Specialization โ€“ Course 5, Week 4

Python TensorFlow Keras Transformer

๐Ÿง  End-to-End Transformer Model with Attention in TensorFlow

NER Transformer Screenshot

NER with Transformer Architecture

Built a Named-Entity Recognition model using Transformers and TensorFlow โ€” part of DeepLearning.AI's Sequence Models course (Week 4).

Course: Deep Learning Specialization โ€“ Course 5, Week 4

Python TensorFlow NER Transformer

๐Ÿ”Ž Entity Recognition with Transformer + TensorFlow

Transformer Preprocessing Screenshot

Transformer Pre-processing Lab

Covers input embeddings, positional encoding, and token handling as a preprocessing step for Transformers in the Sequence Models course.

Course: Deep Learning Specialization โ€“ Course 5, Week 4

Python Jupyter Transformer Preprocessing

๐Ÿ”ง Embeddings & Positional Encoding for Transformers

Trigger Word Detection Screenshot

Trigger Word Detection

Built an audio-based trigger word detection system using spectrogram features and LSTM-based sequence modeling to detect "activate" in streaming speech.

Course: Deep Learning Specialization โ€“ Course 5, Week 3

Python TensorFlow Librosa LSTM

๐ŸŽง Detecting the Word โ€œActivateโ€ from Live Audio with LSTMs

Neural Machine Translation Screenshot

Neural Machine Translation with Attention

Implemented a seq2seq model with attention to translate English sentences into French. Demonstrates attention-enhanced decoding for improved context and accuracy.

Course: Deep Learning Specialization โ€“ Course 5, Week 3

Python TensorFlow Keras Attention Mechanism

๐ŸŒ English-to-French Translation with Seq2Seq + Attention

Emojify Screenshot

Emojify - Sequence Models

Built LSTM-based text classification models that map input sentences to emojis using pre-trained GloVe vectors and sequence modeling.

Course: Deep Learning Specialization โ€“ Course 5, Week 2

Python Keras GloVe LSTM

๐Ÿ˜Š Mapping Sentences to Emojis using Word Embeddings + LSTM

Word Vector Debiasing Screenshot

Operations on Word Vectors โ€“ Debiasing

Implemented vector arithmetic and bias mitigation on GloVe embeddings. Applied neutralization and equalization to address gender bias in NLP tasks.

Course: Deep Learning Specialization โ€“ Course 5, Week 2

Python NumPy GloVe NLP

๐Ÿง  Exploring Fairness and Bias Mitigation in Word Embeddings

Jazz Improvisation Screenshot

Jazz Improvisation with LSTM

Implemented an LSTM-based model to generate jazz music sequences, capturing long-term musical patterns and improvisation using deep learning.

Course: Deep Learning Specialization โ€“ Course 5, Week 1

Python Keras LSTM Music Generation

๐ŸŽท AI-Powered Jazz Sequence Generation using LSTM Networks

Dinosaur Island Screenshot

Dinosaur Island - Character-Level Language Modeling

Built a character-level RNN from scratch using NumPy to generate dinosaur names. Demonstrates sequence modeling, sampling, and training stabilization techniques.

Course: Deep Learning Specialization โ€“ Course 5, Week 1

Python NumPy RNN Jupyter Notebook

๐Ÿฆ• Generating Dinosaur Names Using RNNs and NumPy

RNN Screenshot

Building My Recurrent Neural Network - Step by Step

Step-by-step implementation of a character-level RNN using NumPy to understand sequence modeling and BPTT without deep learning libraries.

Course: Deep Learning Specialization โ€“ Course 5, Week 1

Python NumPy RNN Char-level Model

๐Ÿ” Character-Level Sequence Generation via Custom RNN

Neural Style Transfer Screenshot

Neural Style Transfer with VGG-19

Implemented neural style transfer to blend content and artistic style using deep convolutional features from a VGG-19 model.

Course: Deep Learning Specialization โ€“ Course 4, Week 4

Python TensorFlow VGG-19 Jupyter Notebook

๐ŸŽจ Artistic Image Generation via Deep Style Transfer

FaceNet Screenshot

Face Recognition with FaceNet

Built a face recognition system using FaceNet embeddings to perform identity verification and recognition.

Course: Deep Learning Specialization โ€“ Course 4, Week 4

Python Keras FaceNet Jupyter Notebook

๐Ÿง  Identity Verification Using Deep Face Embeddings

U-Net Segmentation Screenshot

Image Segmentation with U-Net

Implemented a U-Net architecture for road segmentation from dashcam images using pixel-wise classification.

Course: Deep Learning Specialization โ€“ Course 4, Week 3

Python TensorFlow Keras Jupyter Notebook

๐Ÿง  Semantic Segmentation for Road Scenes with U-Net

YOLO Car Detection Screenshot

Car Detection with YOLO

Used a pre-trained YOLO model to detect cars in images and video frames using non-max suppression and bounding box visualization.

Course: Deep Learning Specialization โ€“ Course 4, Week 3

Python TensorFlow OpenCV Jupyter Notebook

๐Ÿš— Object Detection using YOLOv2 & Non-Max Suppression

MobileNet Screenshot

Transfer Learning with MobileNet

Applied a pretrained MobileNet model for image classification, using feature extraction and fine-tuning for edge-efficient inference.

Course: Deep Learning Specialization โ€“ Course 4, Week 2

Python TensorFlow Keras Jupyter Notebook

๐Ÿ“ฑ Lightweight CNNs for Mobile & Embedded AI

ResNet Screenshot

Residual Networks (ResNets)

Implemented a deep residual network (ResNet) with skip connections to solve vanishing gradient issues and build deep CNNs.

Course: Deep Learning Specialization โ€“ Course 4, Week 2

Python TensorFlow Keras Jupyter Notebook

๐Ÿ” Skip Connections for Training Deep CNNs

CNN Application Screenshot

Convolutional Model Application

Applied a pretrained CNN using transfer learning to classify images into categories with Keras and TensorFlow.

Course: Deep Learning Specialization โ€“ Course 4, Week 1

Python TensorFlow Keras Jupyter Notebook

๐Ÿ–ผ๏ธ Real-World Image Classification using Transfer Learning

CNN Screenshot

Convolutional Model Step-by-Step

Manually implemented CNN architecture from scratch including forward and backward passes for convolution, pooling, and dense layers using NumPy.

Course: Deep Learning Specialization โ€“ Course 4, Week 1

Python NumPy Matplotlib Jupyter Notebook

๐Ÿง  Low-Level CNN Components Coded from Scratch

TensorFlow Screenshot

TensorFlow Programming Framework

Introduced core TensorFlow concepts like tensors, sessions, placeholders, and computation graphs for simple model training.

Course: Deep Learning Specialization โ€“ Course 2, Week 3

Python TensorFlow 1.x Jupyter Notebook

๐Ÿ”ง Build Simple Models using TensorFlow Basics

Optimization Methods Screenshot

Optimization Methods

Implemented and compared mini-batch gradient descent, momentum, and Adam optimizers for efficient deep network training and convergence.

Course: Deep Learning Specialization โ€“ Course 2, Week 2

Python NumPy Matplotlib Jupyter Notebook

โšก Optimize Deep Learning with Momentum & Adam

Gradient Checking Screenshot

Gradient Checking

Implemented numerical gradient checking to validate backpropagation in deep neural networks by comparing analytical and approximated gradients.

Course: Deep Learning Specialization โ€“ Course 2, Week 3

Python NumPy Jupyter Notebook

๐Ÿงช Validate Backprop with Analytical vs Numerical Gradients

Regularization Screenshot

Regularization Techniques

Implemented L2 regularization and dropout to prevent overfitting in deep neural networks, improving generalization and reducing test error.

Course: Deep Learning Specialization โ€“ Course 2, Week 2

Python NumPy Matplotlib Jupyter Notebook

๐Ÿ“‰ Prevent Overfitting with L2 & Dropout Regularization

Initialization Techniques Screenshot

Initialization Techniques

Explored Zero, Random, and He initialization methods and their impact on gradient behavior, training speed, and convergence in deep neural networks.

Course: Deep Learning Specialization โ€“ Course 2, Week 1

Python NumPy Matplotlib Jupyter Notebook

โš™๏ธ Comparing Weight Initialization Methods in DNNs

DNN Cat Classifier Screenshot

Deep Neural Network Application

Implemented a deep L-layer neural network to classify images as cat or non-cat, applying full forward and backward propagation, cost optimization, and prediction using NumPy.

Course: Deep Learning Specialization โ€“ Course 1, Week 4

Python NumPy Matplotlib h5py Jupyter Notebook

๐Ÿฑ L-Layer DNN for Binary Image Classification

DNN Step-by-Step Screenshot

Building a Deep Neural Network

Constructed a modular L-layer deep neural network from scratch using only NumPy, including all core functions from initialization to backpropagation and parameter updates.

Course: Deep Learning Specialization โ€“ Course 1, Week 4

Python NumPy Matplotlib Jupyter Notebook

๐Ÿง  Layered Architecture Built from Scratch with NumPy

Planar Classification Screenshot

Planar Data Classification

Built a shallow neural network with one hidden layer to classify non-linearly separable 2D data using NumPy, including full forward/backward propagation.

Course: Deep Learning Specialization โ€“ Course 1, Week 3

Python NumPy Matplotlib Jupyter Notebook

๐Ÿ”ฎ Shallow Neural Network for 2D Nonlinear Classification

Logistic Regression Screenshot

Logistic Regression with Neural Network Mindset

Built a binary image classifier using logistic regression and NumPy with a neural network perspective. Applied vectorized computation and gradient descent to train the model on cat/non-cat data.

Course: Deep Learning Specialization โ€“ Course 1, Week 2

Python NumPy Jupyter Notebook

๐Ÿ“ธ Binary Image Classifier with Vectorized NumPy

Python NumPy Screenshot

Python Basics with NumPy

Practiced vectorized operations, broadcasting, and avoiding loops with NumPy to enable efficient deep learning computations.

Course: Deep Learning Specialization โ€“ Course 1, Week 2

Python NumPy Jupyter Notebook

๐Ÿ’ก Foundation for Efficient Neural Network Computation

Reinforcement Learning Screenshot

Reinforcement Learning

Applied Q-learning with function approximation to learn optimal policies in continuous state spaces using scalable policy and value function updates.

Course: ML Specialization โ€“ Course 3, Week 3

Python NumPy Matplotlib Jupyter Notebook

๐Ÿค– Q-learning in Continuous State Spaces

PCA Visualization Screenshot

PCA and Data Visualization

Implemented Principal Component Analysis (PCA) for dimensionality reduction and data visualization, including eigen-decomposition, SVD, and high-dimensional data projection.

Course: ML Specialization โ€“ Course 3, Week 2

Python NumPy SciPy Matplotlib Jupyter Notebook

๐Ÿ“‰ PCA for Dimensionality Reduction and Visualization

Anomaly Detection Screenshot

Anomaly Detection

Implemented statistical anomaly detection using the multivariate Gaussian distribution to detect outliers in datasets through probability estimation and threshold tuning.

Course: ML Specialization โ€“ Course 3, Week 1

Python NumPy SciPy Matplotlib Jupyter Notebook

๐Ÿ” Gaussian-Based Outlier Detection from ML Specialization

Decision Trees Screenshot

Decision Trees

Trained a decision tree classifier on real-world data, visualized decision boundaries, and introduced ensemble methods like Random Forest and Gradient Boosting.

Course: ML Specialization โ€“ Course 2, Week 4

Python NumPy scikit-learn Matplotlib Jupyter Notebook

๐ŸŒฒ Implements Decision Trees and Boosting Techniques

Advice ML Screenshot

Advice for Applying Machine Learning

Explored strategies for handling skewed data and evaluating model performance using precision, recall, F1-score, and error analysis.

Course: ML Specialization โ€“ Course 2, Week 3

Python NumPy Matplotlib Jupyter Notebook

โญ From Andrew Ngโ€™s ML Specialization โ€“ Course 2, Week 3

Multiclass Neural Net Screenshot

Neural Networks for Multiclass Classification

Built a neural network using softmax activation and cross-entropy loss for multiclass classification, with full vectorization for efficiency.

Course: ML Specialization โ€“ Course 2, Week 2

Python NumPy Matplotlib Jupyter Notebook

โญ From Andrew Ngโ€™s ML Specialization โ€“ Course 2, Week 2

Neural Networks Screenshot

Neural Networks for Binary Classification

Implemented a two-layer neural network using vectorized operations for binary classification with forward/backward propagation and visualization.

Course: ML Specialization โ€“ Course 2, Week 1

Python NumPy Matplotlib Jupyter Notebook

๐Ÿง  From Advanced Learning Algorithms โ€“ Week 1

Logistic Regression Screenshot

Logistic Regression Implementation

Implemented logistic regression for binary classification using sigmoid activation and gradient descent, including L2 regularization to reduce overfitting.

Course: ML Specialization โ€“ Week 3

Python NumPy Matplotlib Jupyter Notebook

โญ From Andrew Ngโ€™s ML Specialization โ€“ Course 1, Week 3

Linear Regression Screenshot

Linear Regression Implementation

Implemented univariate linear regression using gradient descent to fit a line to data and visualize optimization with matplotlib.

Course: ML Specialization โ€“ Week 2

Python NumPy Matplotlib Jupyter Notebook

โญ From Andrew Ngโ€™s ML Specialization โ€“ Course 1, Week 2