CS 189/289A Introduction to Machine Learning
Jonathan Shewchuk 
Final exam solutions are available.
This class introduces algorithms for learning, which constitute an important part of artificial intelligence.
Topics include
If you want to brush up on prerequisite material, Stanford's machine learning class provides nice reviews of linear algebra and probability theory. Other suggestions for review material appear in this Piazza post.
Both textbooks for this class are available free online. Hardcover and Kindle/eTextbook versions are also available.
You have a total of 5 slip days that you can apply to your semester's homework. We will simply not award points for any late homework you submit that would bring your total slip days over five.
Homework 1 is due February 10.
Homework 2 is due February 18.
Homework 3 is due March 3.
Homework 4 is due March 31.
Homework 5 is due April 12.
Homework 6 is due April 26.
Homework 7 is due May 3.
The CS 289A Project has a proposal due Monday, April 4. The video and final report are due Friday, May 6.
Previous midterms (including this semester's) are available: Spring 2013, Spring 2014, Spring 2015, Fall 2015, Spring 2016.
Previous final exams (including this semester's) are available. Without solutions: Spring 2013, Spring 2014, Spring 2015, Fall 2015, Spring 2016. With solutions: Spring 2013, Spring 2014, Spring 2015, Fall 2015, Spring 2016.
Lecture 1 (January 20): Introduction. Classification, training, and testing. Validation and overfitting. Read ESL, Chapter 1. My lecture notes (text). The screencast.
Lecture 2 (January 25): Linear classifiers. Predictor functions and decision boundaries. The centroid method. Perceptrons. Read parts of the Wikipedia Perceptron page. Optional: Read ESL, Section 4.5–4.5.1. My lecture notes (text). The screencast.
Lecture 3 (January 27): Gradient descent, stochastic gradient descent, and the perceptron learning algorithm. Feature space versus weight space. The maximum margin classifier, aka hardmargin support vector machine (SVM). Read ISL, Section 9–9.1. My lecture notes (text). The screencast.
Lecture 4 (February 1): The support vector classifier, aka softmargin support vector machine (SVM). Features and nonlinear decision boundaries. Read ESL, Section 12.2 up to and including the first paragraph of 12.2.1. My lecture notes (text). The screencast.
Lecture 5 (February 3): Machine learning abstractions: application/data, model, optimization problem, optimization algorithm. Common types of optimization problems: unconstrained, constrained (with equality constraints), linear programs, quadratic programs, convex programs. Optional: Read (selectively) the Wikipedia page on mathematical optimization. My lecture notes (text). The screencast.
Lecture 6 (February 8): Decision theory: the Bayes decision rule and optimal risk. Generative and discriminative models. Read ISL, Section 4.4.1. My lecture notes (text). The screencast.
Lecture 7 (February 10): Gaussian discriminant analysis, including quadratic discriminant analysis (QDA) and linear discriminant analysis (LDA). Maximum likelihood estimation (MLE) of the parameters of a statistical model. Fitting an isotropic Gaussian distribution to sample points. Read ISL, Section 4.4. Optional: Read (selectively) the Wikipedia page on maximum likelihood. My lecture notes (text). The screencast.
February 15 is Presidents' Day.
Lecture 8 (February 17): Eigenvectors, eigenvalues, and the eigendecomposition. The Spectral Theorem for symmetric real matrices. The quadratic form and ellipsoidal isosurfaces as an intuitive way of understanding symmetric matrices. Application to anisotropic normal distributions (aka Gaussians). Read Chuong Do's notes on the multivariate Gaussian distribution. My lecture notes (text). The screencast.
Lecture 9 (February 22): Anisotropic normal distributions (aka Gaussians). MLE, QDA, and LDA revisited for anisotropic Gaussians. Read ISL, Sections 4.4 and 4.5. My lecture notes (text). The screencast.
Lecture 10 (February 24): Regression: fitting curves to data. The 3choice menu of regression function + loss function + cost function. Leastsquares linear regression as quadratic minimization and as orthogonal projection onto the column space. The design matrix, the normal equations, the pseudoinverse, and the hat matrix (projection matrix). Logistic regression; how to compute it with gradient ascent or stochastic gradient descent. Read ISL, Sections 44.3. My lecture notes (text). The screencast.
Lecture 11 (February 29): My Mom's 18th birthday (not kidding). Newton's method and its application to logistic regression. LDA vs. logistic regression: advantages and disadvantages. ROC curves. Weighted leastsquares regression. Leastsquares polynomial regression. Read ISL, Sections 4.4.3, 7.1, 9.3.3; ESL, Section 4.4.1. My lecture notes (text). The screencast. Happy birthday, Mom!
Lecture 12 (March 2): Statistical justifications for regression. The empirical distribution and empirical risk. How the principle of maximum likelihood motivates the cost functions for leastsquares linear regression and logistic regression. The biasvariance decomposition; its relationship to underfitting and overfitting; its application to leastsquares linear regression. Read ESL, Sections 2.5 and 2.9. Optional: Read the Wikipedia page on the biasvariance tradeoff. My lecture notes (text). The screencast.
Lecture 13 (March 7): Ridge regression: penalized leastsquares regression for reduced overfitting. How the principle of maximum a posteriori (MAP) motivates the penalty term (aka Tikhonov regularization). Kernels. Kernel ridge regression. The polynomial kernel. Read ISL, Sections 6.26.2.1 and ESL, Sections 12.312.3.2. Optional: This CrossValidated page on ridge regression is pretty interesting. My lecture notes (text). The screencast.
Lecture 14 (March 9): Kernel perceptrons. Kernel logistic regression. The Gaussian kernel. Subset selection. Lasso: penalized leastsquares regression for reduced overfitting and subset selection. Read ISL, Sections 66.1.2 and the last part of 6.1.3 on validation; and ESL, Sections 3.43.4.3. Optional: Read ISL, Section 9.3.2 if you're curious about kernel SVM. My lecture notes (text). The screencast.
Lecture 15 (March 14): Decision trees; algorithms for building them. Entropy and information gain. Read ISL, Sections 88.1. My lecture notes (text). The screencast.
The Midterm takes place in class on Wednesday, March 16. You are permitted one “cheat sheet” of lettersized (8½" × 11") paper.
March 21–25 is Spring Recess.
Lecture 16 (March 28): More decision trees: multivariate splits; decision tree regression; stopping early; pruning. Ensemble learning: bagging (bootstrap aggregating), random forests. Read ISL, Section 8.2. My lecture notes (text). The screencast.
Lecture 17 (March 30): Neural networks. Gradient descent and the backpropagation algorithm. Read ESL, Sections 11.311.4. Optional: I've heard positive recommendations for Welch Labs' video tutorial Neural Networks Demystified on YouTube. Also of special interest is this Javascript neural net demo that runs in your browser. My lecture notes come in two parts: a text part and a handwritten part (PDF) on backpropagation. The screencast.
Lecture 18 (April 4): Neuron biology: axons, dendrites, synapses, action potentials. Differences between traditional computational models and neuronal computational models. Backpropagation with softmax outputs and logistic loss. Unit saturation, aka the vanishing gradient problem, and ways to mitigate it. Heuristics for avoiding bad local minima. My lecture notes come in two parts: a text part and a handwritten part (PDF) on backpropagation. The screencast.
Lecture 19 (April 6): Heuristics for avoiding bad local minima. Heuristics for faster training. Heuristics to avoid overfitting. Convolutional neural networks. Neurology of retinal ganglion cells in the eye and simple and complex cells in the V1 visual cortex. Read ESL, Sections 11.5 and 11.7. Optional: A fine paper on heuristics for better neural network learning is Yann LeCun, Leon Bottou, Genevieve B. Orr, and KlausRobert Müller, “Efficient BackProp,” in G. Orr and K.R. Müller (Eds.), Neural Networks: Tricks of the Trade, Springer, 1998. Also of special interest is this Javascript convolutional neural net demo that runs in your browser. The lecture notes come in two parts: a text part and some slides (PDF) I stole from Alyosha Efros, Stephen Palmer, FeiFei Li, Andrej Karpathy, Marc'Aurelio Ranzato, and probably others. The screencast.
Lecture 20 (April 11): Unsupervised learning. Principal components analysis (PCA). Derivations from maximum likelihood estimation, maximizing the variance, and minimizing the sum of squared projection errors. Eigenfaces for face recognition. Read ISL, Sections 10–10.2 and the Wikipedia page on Eigenface. My lecture notes (text). The screencast.
Lecture 21 (April 13): The singular value decomposition (SVD) and its application to PCA. Clustering: kmeans clustering aka Lloyd's algorithm; kmedoids clustering; hierarchical clustering; greedy agglomerative clustering. Dendrograms. Read ISL, Section 10.3. My lecture notes (text). The screencast.
Lecture 22 (April 18): Spectral graph partitioning and graph clustering. Relaxing a discrete optimization problem to a continuous one. The Fiedler vector, the sweep cut, and Cheeger's inequality. The vibration analogy. Greedy divisive clustering. The normalized cut and image segmentation. Read my survey of Spectral and Isoperimetric Graph Partitioning, Sections 1.2–1.4, 2.1, 2.2, 2.4, 2.5, and optionally A and E.2. For reference: Jianbo Shi and Jitendra Malik, Normalized Cuts and Image Segmentation, IEEE Transactions on Pattern Analysis and Machine Intelligence 22(8):888–905, 2000. My lecture notes (text). The screencast.
Lecture 23 (April 20): Graph clustering with multiple eigenvectors. Latent factor analysis (aka latent semantic indexing). Nearest neighbor classification and its relationship to the Bayes risk. The geometry of highdimensional spaces. The exhaustive algorithm for knearest neighbor queries. Read ISL, Section 2.2.3. Optional: Read the Wikipedia page on latent semantic analysis. For reference: Andrew Y. Ng, Michael I. Jordan, Yair Weiss, On Spectral Clustering: Analysis and an Algorithm, Advances in Neural Information Processing Systems 14 (Thomas G. Dietterich, Suzanna Becker, and Zoubin Ghahramani, editors), pages 849–856, the MIT Press, September 2002. My lecture notes (text). The screencast.
Lecture 24 (April 25): Guest lecture by Anca Dragan on her research on robot planning and learning for interaction with humans. How to make robot intentions transparent to human observers, and how to plan actions that coordinate with people. (Not examinable.)
Lecture 25 (April 27): Speeding up nearest neighbor queries. Voronoi diagrams, orderk Voronoi diagrams, and point location. kd trees. Application of nearest neighbor search to the problem of geolocalization: given a query photograph, determine where in the world it was taken. The lecture notes come in two parts: a text part and a handwritten part (PDF). For reference: the IM2GPS web page, which includes links to the paper. The screencast.
The Final Exam takes place on Friday, May 13, 3–6 PM in Wheeler Auditorium. (CS 189 is in exam group 19.)
Sections begin to meet on January 28. Sections 102 and 103 are cancelled.


Your teaching assistants:
Rohan Chitnis,
ronuchit@berkeley.edu
Tuomas Haarnoja,
haarnoja@berkeley.edu
Brian Hou,
brian.hou@berkeley.edu
Vashisht Madhavan,
vashisht.madhavan@berkeley.edu
Aldo Pacchiano,
pacchiano@berkeley.edu
Shaun Singh,
sdsingh@berkeley.edu
Ajay Solanky,
ajaysolanky@berkeley.edu
Daylen Yang,
daylen@berkeley.edu
Marvin Zhang,
zhangmarvin@berkeley.edu
Supported in part by the National Science Foundation under Awards CCF0430065, CCF0635381, IIS0915462, and CCF1423560, in part by a gift from the Okawa Foundation, and in part by an Alfred P. Sloan Research Fellowship.