Supervised Learning
Trained decision trees, neural networks, boosted decision trees, support vector machines, and k-nearest neighbors on two datasets. Analyzed effects of hyperparameters and other factors on accuracy.
View report.
Unsupervised Learning
Use k-means clustering and gaussian mixture models (GMMs) via expectation maximization to find clusters in two datasets. Then reduce the dimensions of the datasets using Principle Component Analysis (PCA), rerun the clustering algorithms, and analyze the differences.
View report.
Reinforcement Learning
Analyze the performance of MDP (Markov Decision Process) on small and large problems, and using policy iteration and value iteration.
View report.
Randomized Search
Use three local search algorithms (randomized hill climbing, simulated annealing, and genetic algorithms) to find good weights for a neural network. Analyze the performance of each algorithm and the effects of tuning the parameters.
View report.
Computer Vision
Image Filtering
Learned how to implement image filtering (convolution). Then created a hybrid image by combining a low-pass and high-pass version of the same image.
Local Feature Matching
Learned to detect feature points in an image using a neural network. Then used detected features to compare two images of the same object.
Camera Projection Matrix
Estimate pose of camera using two images using epipolar geometry. Then use RANSAC to automatically identify matching points between the two images instead of manually picking them.
Depth Estimation Using Stereo Images
Create disparity maps by using similarity functions (ex. sum of squared differences) to compare two images. Then use a neural network to create disparity maps.
Scene Recognition
Part 1
Use k-nearest-neighbor and tiny images to classify images of landscapes and locations. Then use SIFT and k-means clustering.
Part 2
Classify the same dataset using deep learning.