This repository stores all of my four projects I have developed throughout COMP 551(Applied Machine Learning)
This course covers a selected set of topics in machine learning and data mining, with an emphasis on good methods and practices for deployment of real systems. The majority of sections are related to commonly used supervised learning techniques, and to a lesser degree unsupervised methods. This includes fundamentals of algorithms on linear and logistic regression, decision trees, support vector machines, clustering, neural networks, as well as key techniques for feature selection and dimensionality reduction, error estimation and empirical validation.
In this miniproject I have implemented two ML models—Linear regression, Logistic regression (with gradient descent)— and provide analysis on these two models on two distinct datasets. The goal is to get started with programming for Machine Learning and learn how these two commonly used models work.
In this miniproject, I have implemented a multilayer perceptron from scratch, and used it to classify image data. I have also had the chance to experiment with convolutional neural networks and use pre-trained versions of them to perform image classification.
Emotion detection enables machines to detect various emotions. The technique that helps machines and computers to be capable of detecting, expressing and understanding emotions is known as emotional intelligence. In this miniproject I implemented naive Bayes from scratch and BERT-based model with pertained weights through package and finetuning. Then, I compared these algorithms on Emotion dataset. The goal is to gain experience implementing machine learning algorithm from scratch and running the modern deep learning libraries, and getting hands-on experience comparing their performances on the real-world textual dataset.
Reinforcement Learning (RL) is a type of machine learning where an agent learns to make decisions by interacting with an environment to achieve a goal. In our study, we implemented the paper "Playing Atari with Deep Reinforcement Learning," which pioneered the use of Deep Q-Networks (DQN) to play games. We trained a DQN on the Atari Breakout environment, following as closely as possible the architecture outlined in the original paper while focusing on tuning specific hyperparameters. Our objective was to evaluate the performance impact of these adjustments by benchmarking our modified DQN against the baseline model. This project aims to investigate how hyperparameter tuning can optimize reinforcement learning models for targeted tasks.