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.


Under construction: A Comprehensive Guide to Machine Learning


  • Note 1: Levels of Abstraction, Ordinary Least Squares (OLS) Regression, Vector Calculus
  • Note 2: Polynomial Features, Hyperparameters, Overfitting, Ridge Regression
  • Note 3: Regression Hyperparameters, Error, Validation
  • Note 4: Gaussians, Maximum Likelihood Estimation (MLE), Maximum a Posteriori Estimation (MAP)
  • Note 5: Bias-Variance Tradeoff
  • Note 6: Weighted Least Squares, Multivariate Gaussians
  • Note 7: MAP with Colored Noise
  • Note 8: Total Least Squares
  • Note 9: Principal Component Analysis (PCA)
  • Note 10: Canonical Correlation Analysis (CCA)
  • Note 11: Nonlinear Least Squares
  • Note 12: Neural Nets: Introduction
  • Note 13: Backpropagation
  • Note 14: QDA/LDA, More Multivariate Gaussians
  • Note 15: Discriminative Models, Logistic Regression
  • Note 16: Training Logistic Regression, Multiclass Logistic Regression
  • Note 17: Support Vector Machines (SVM)
  • Note 18: Duality and Dual SVMs
  • Note 19: Kernels
  • Note 20: Nearest Neighbor Classification
  • Note 21: Sparsity
  • Note 22: Decision Trees and Random Forests
  • Note 23: AdaBoost
  • Note 24: Convolutional Neural Networks
  • Note 25: Dimensionality Reduction

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