Projects
A selection of projects that I'm not too ashamed of
Lunar Lander Problem
Python, OpenAI Gym, Reinforcement Learning

Implemented this project as part of my final semester thesis in undergrad. Implemented a complete Reinforcement Learning task using the LunarLanderEnvironment from OpenAI Gym. Formalized the reward function and trained the agent to find a robust and efficient policy to land on a marked landing pad in the lunar environment using the on-policy Expected Sarsa algorithm. The agent consistently outperformed the baseline.
Author Attribution using NLP and ML
Python, Machine Learning, Natural Language Processing

Leveraged machine learning methods, such as Random Forests, SVMs and TF-IDF Vectorizations,to train classifiers to predict media publication based on article text. Interpreting the features and/or thresholds used for predicting media outlets may provide valuable insight into prevalent biases.
Predicting survival of patients with heart failure using Machine Learning
R, Machine Learning

Used Machine Learning (ML) methods for predicting the survival of patients with heart failure. We use several ML classifiers to not only predict patient survival but also rank the most important risk factors in the data, which can be used for prediction. We use our ML methods in conjunction with traditional biostatistical analysis methods to carry out feature ranking and compare their results. As a fascinating result to our project, we were able to show that by using only the top 2 features obtained from applying ML methods for feature ranking, we were able to obtain higher prediction accuracy for the prediction of patient survival.
Inverted Pendulum Problem
Python, OpenAI Gym, Reinforcement Learning

Trained an RL agent to balance a pendulum in the upright position using Softmax Actor-Critic parametrization.
Waste Bottle Classifier Model Implemented on a Raspberry Pi Module
Python, TFLite, Deep Learning, AI on an Embedded Platform

Built a Waste Bottle Classifier system using Deep Learning, a Raspberry Pi 3B, and a USB camera module. The proposed system utilizes a pre-trained and fine tuned MobileNet model to classify recyclable bottles in real-time into four classes: PET, HDPEM, Glass, and Aluminium Cans. All data used for training was collected and preprocessed by us. MobileNet model was quantised and converted to a TF Lite model, which maintained a 96.11% classification accuracy on test images.
Shakespearean Poem Generator
Python, Natural Language Processing

Built a model which generates Shakespearean poems from an existing data set of poems using a character-level language model which uses LSTM cells (2-layer stacked LSTM model to capture long range dependencies).
Road Object Detection
Python, CNNs, TensorFlow

Built an Object Detection Model using the YOLO Algorithm to detect and classify 80 classes of objects that can be observed on roads using a car detection dataset and a deep CNN with pre-trained weights.
Reproduction of the Swin Transformer Model
Python, CNNs, TensorFlow

Reproduced a complete Swin Transformer Network, including image partition, embedding layers and Swin Transformer Blocks, from scratch using Tensorflow. Experimented with various configuration settings to investigate the effect of different network parameters and configurations on the effectiveness of the model. We applied our model for the classification of images in the Cifar100 dataset. In our project, we were unable to replicate the accuracy obtained by the original paper and examined our results and implementations. (Paper attached!)
JPEG Encoder
Verilog HDL, Image Processing

Programmed a JPEG Encoder using DCT based Encoder Processing steps with Verilog HDL - for efficient image compression.
