CS 189 is the Machine Learning course at UC Berkeley. I have had the fortune to be a TA for this course for the past two semesters, and I am currently a TA for the third time. In this guide I have created course notes along with my good friend Garrett Thomas in order to share our knowledge with students and the general public, and hopefully draw the interest of students from other universities to Berkeley's Machine Learning curriculum.

### Book

*Under construction*: A Comprehensive Guide to Machine Learning

### Notes

- Note 1: Introduction
- Note 2: Linear Regression
- Note 3: Features, Hyperparameters, Validation
- Note 4: MLE and MAP for Regression (Part I)
- Note 5: Bias-Variance Tradeoff
- Note 6: Multivariate Gaussians
- Note 7: MLE and MAP for Regression (Part II)
- Note 8: Kernels, Kernel Ridge Regression
- Note 9: Total Least Squares
- Note 10: Principal Component Analysis (PCA)
- Note 11: Canonical Correlation Analysis (CCA)
- Note 12: Beyond Least Squares
- Note 13: Optimization Methods
- Note 14: Neural Networks
- Note 15: Training Neural Networks
- Note 16: Discriminative vs. Generative Classification, LS-SVM
- Note 17: Logistic Regression
- Note 18: Gaussian Discriminant Analysis
- Note 19: Expectation-Maximization (EM) Algorithm, k-means Clustering
- Note 20: Support Vector Machines (SVM)
- Note 21: Duality
- Note 22: Nearest Neighbor Classification
- Note 23: Sparsity
- Note 24: Decision Trees and Random Forests
- Note 25: Boosting
- Note 26: Convolutional Neural Networks (CNN)
- Note 27: Autoencoders
- Note 28: Generative Adversarial Networks (GAN)

### Useful Resources

- Math4ML: a great review of linear algebra, vector calculus, and probability
- CS231n: Stanford's deep learning course covering MLPs, CNNs, RNNs, GANs, and Deep RL
- Guide on Long Short Term Memory networks (LSTMs)
- Prof. Shewchuk's CS 189 notes from Spring 2017
- Previous CS 189 exams
- Useful blog on tensorflow basics