An assortment of coding projects from COMS W4771: Machine Learning.
Project 1: Using K Nearest Neighbor classification and Maximum Likelihood Estimation on a handwritten digit dataset.
Project 2: Working with SVM and playing with hyperparameters on custom datasets (moons and rolls) as well as on the same handwritten digit dataset as in Project 1.
Project 3: Creating a customizable neural network and optimizer (similar to the design of linear neural network layers in PyTorch) from scratch using only basic data management libraries like Numpy. Neural networks in this implementation are comprised of linear layers followed by sigmoid activation functions, and the input/output sizes of each layer can be customized. The optimizer is an Adam optimizer. As a test of usability, the neural network can be tested on reconstructing a sample dataset, as is done in reconstruction.py.