Graduate Projects
Answer Sorceror
This was a course project for the course, Foundations of Machine Learning. The objective was to predict, based on prior training data, whether a given user will answer a particular question correctly. Our implementation used collaberative filtering model whose parameters were estimated through Stochastic Gradient Descent Algorithm.
POS Tagger
This was a course project for the course, Speech, NLP, and the Web. Our program assigns part-of-speech tags for wods in English sentences. The BNC corpus was used for training and the tagger achieves an accuracy of approximately 94% using five-fold validation.
Index Tuning Wizard for PostgresSQL
This was a course project for the course Implementation Techniques in Relational Databases. The goal is to find which indices will best benefit a given workload (set) of queries. Our utility takes as input a set of queries/updates, and a list of potential indices, and for each of the indices, find out its benefit. To do so, it creates a fake index, by modifying the index creation code to add the index to the catalog, but not actually create it. Then, it finds the optimal plan for each query by invoking the optimizer. Using this process iteratively, it finds the optimal set of indices for the workload.
Undergraduate Projects
Reinforcement Learning in Infinite Mario (August 2011 - May 2012)
The aim of the project was to design an intelligent agent that can learn to play Mario, a side-scrolling action game, using reinforcement learning. Action games are an interesting platform for research in artificial intelligence and machine learning. Due to the high degree of relative motion between game entities, action games often demand good physical reactive skills. Furthermore, players have to often choose between competing goals and make decisions that can give favorable long term rewards.
Like most computer games, action games also involve large and continuous state spaces. This makes the task of learning difficult. Through this work, we investigated state representation schemes and action selection mechanisms that could make learning tractable. The proposed agent was able to achieve a higher domain-specific performance level compared existing solutions.
The environment was provided by
RL Competition 2009
Schema Analysis at Officebox Software (May - July 2011 )
OfficeBox Software maintains several databases for each of its subscribers. With each new release, changes are made to database schemas. I developed a tool which compares the present schemas with an ideal schema and analyses whether the changes have taken effect.
Neural Network for digit recognition (Autumn 2010)
Developed a program to train a neural network to recognize digit patterns using the Backpropagation algorithm. This was my term project for the course Neuro Fuzzy Techniques.
FTP Client and Server (Self-initiated: May 2010 – June 2010)
Developed terminal based FTP client and server programs using socket programming in C for Linux based operating systems.