18661

Responsive image

18661 course taught by Professor Yeuji Chi and Carlee Joe-Wong covers the fundamentals required for understanding the advanced topics of machine learning. The course covers some of the traditional algorithms like linear regression, ridge regression and dive deep into the rich probabilistic interpretation behind them. We also had some coding exercises where we built these algorithms from scratch appreciating the importance of different mathematical terms.

The course covered the basics of empirical risk minimisation and how it can be broken down into bias, variance, and noise and eventually how to build a model to balance the tradeoff’s between them. We were introduced to naive bayes, logistic regression (binary and multi-class). We utilized maximum likelihood estimation for parameter estimation. Later on SVMs were introduced, in which the dual formulation of SVM by setting up the Lagrangian and kernel trick were made familiar. We went on to explore k-NN, decision trees and some popular ensemble methods like bagging, random forest, boosting etc with some nice proofs of Adaboost formulation.

This class also covers the basics of Neural Network, starting with the perceptron and expanding to the neural nets implementing the forward propagation, backward prorogation coupled with SGD and other methods like dropout and regularizations, followed by Convolutional networks (CNNs) and brief touch on the Recurrent Neural Nets (RNNs). There was a brief introduction to the unsupervised machine learning, particularly K-means, K-means ++, and then GMM and the EM method. The GMM was used to motivate the incomplete likelihood problem followed by the Expectation Maximisation (EM) methodology. The course concluded with couple of lectures on dimensionality reduction(PCA), online learning, multi armed bandits and basic introduction to reinforcement learning like state value function, action value function and Q learning.

Major Assignments and Projects built from scratch:
• Linear Regression with online update
• Linear Regression with smooth coefficients
• Ridge Regression
• Polynomial Regression
• Naïve Bayes implementation on Spam email detection
• Gradient descent for Logistic regression
• SVM: Hinge Loss and Mistake bounds mathematical analysis
• Kernel SVM Mathematical analysis
• K- Nearest Neighbors for Regression
• Decision tree algorithm implementation
• NN for MNIST Recognition
• GMM Implementation