Syllabus and Course Schedule

Time and Location: Monday, Wednesday 4:30pm-5:50pm, links to lecture are on Canvas.
Class Videos: Current quarter's class videos are available here for SCPD students and here for non-SCPD students.
Note: This is being updated for Spring 2020. The dates are subject to change as we figure out deadlines. Please check back soon.


Week Event Date Description Materials
Week 1 Lecture 1 4/6 Introduction and Basic Concepts Slides
  • Introduction slides [pptx]
  • Introduction slides [pdf]
Lecture 2 4/8 Supervised Learning Setup. Linear Regression. Class Notes
  • Supervised Learning, Discriminative Algorithms [pdf]
  • Live lecture notes [pdf]
Assignment 4/8 Problem Set 0. Due 4/15 at 11:59pm.
Section 1 4/10 Friday Lecture: Linear Algebra. Notes
  • Linear Algebra Review and Reference [pdf]
  • Linear Algebra, Multivariable Calculus,
    and Modern Applications
    (Stanford Math 51 course text) [pdf]
  • Linear Algebra Friday Section [pdf (slides)]
Week 2 Lecture 3 4/13 Weighted Least Squares. Logistic Regression. Netwon's Method
Perceptron. Exponential Family. Generalized Linear Models.
Class Notes
  • Live lecture notes [pdf]
Lecture 4 4/15 Class Notes
  • Live lecture notes [pdf]
Assignment 4/15 Problem Set 1. Due 4/29 at 11:59pm.
Section 2 4/17 Friday Lecture: Probability Notes
  • Probability Theory Review [pdf]
  • The Multivariate Gaussian Distribution [pdf]
  • More on Gaussian Distribution [pdf]
  • Section slides [pdf (slides)]
Week 3 Lecture 5 4/20 Gaussian Discriminant Analysis. Naive Bayes. Laplace Smoothing. Class Notes
  • Generative Algorithms [pdf]
  • Live lecture notes [pdf]
Lecture 6 4/22 Laplace Smoothing. Support Vector Machines.
Class Notes
  • Support Vector Machines [pdf]
  • Live lecture notes [pdf]
Section 3 4/24 Friday Lecture: Python and Numpy Notes
Project 4/24 Project proposal due 4/24 at 11:59pm.
Week 4 Lecture 7 4/27 Support Vector Machines. Kernels. Class Notes
  • Live lecture notes [pdf]
Lecture 8 4/29 Neural Networks - 1 Class Notes
  • Deep Learning [pdf]
  • Backpropagation
Assignment 4/29 Problem Set 2. Due 5/13 at 11:59pm.
Section 4 5/1 Friday Lecture: Evaluation Metrics Notes
Week 5 Lecture 9 5/4 Neural Networks - 2 Class Notes
  • See Neural Networks - 1 Notes
Lecture 10 5/6 Bias - Variance. Regularization. Feature / Model selection. Class Notes
  • Regularization and Model Selection [pdf, addendum]
  • Live lecture notes [draft]
  • Double Descent [link, optional reading]
Section 5 5/8 Friday Lecture: Deep Learning Notes
  • Deep Learning [pptx]
Week 6 Lecture 11 5/11 K-Means. GMM (non EM). Expectation Maximization. Class Notes
  • Unsupervised Learning, k-means clustering. [pdf]
  • Mixture of Gaussians [pdf]
  • The EM Algorithm [pdf]
  • Live lecture notes [draft]
Lecture 12 5/13 Expectation Maximization (continued) Class Notes
Assignment 5/13 Problem Set 3. Due 5/27 at 11:59pm.
Section 6 5/15 Friday Lecture: Midterm Review Class Notes
Project 5/15 Project milestones due 5/15 at 11:59pm.
Week 7 Lecture 13 5/18 Factor Analysis. Class Notes
Midterm 5/20 See details at Piazza post
Lecture 14 5/20 Principal and Independent Component Analysis. Class Notes
  • Principal Components Analysis [pdf]
  • Independent Component Analysis [pdf]
  • Live lecture notes [draft, in lecture]
Week 8 Lecture 15 5/25 Memorial Day, no lecture.
Lecture 16 5/27 Weak Supervision Class Notes Additional Material
Assignment 5/27 Problem Set 4. Due 6/10 at 11:59pm (no late days).
Week 9 Lecture 17 6/1 Markov Decision Process. Value Iteration and Policy Iteration. Q-Learning. Value function approximation. Class Notes
  • Reinforcement Learning and Control [pdf]
Lecture 18 6/3 Reinforcement Learning continued
Week 10 (Last Week of class) Lecture 19 6/8 Policy search. Reinforce. POMDPs. Class Notes
  • Policy Gradient (REINFORCE) [pdf]
Lecture 20 6/10 Recap, Fairness, Adversarial Class Notes
Project 6/10 Poster PDF and video presentation. Due 6/10 at 11:59pm (no late days).
Project 6/10 Project final report. Due 6/10 at 11:59pm (no late days).
Supplementary Notes
  1. Online Learning and the Perceptron Algorithm [pdf]
  2. Binary classification with +/-1 labels [pdf]
  3. The representer theorem [pdf]
  4. Hoeffding's inequality [pdf]
Optional Topics
  1. Decision trees [pdf]
  2. Decision tree ipython demo [ipynb]
  3. Boosting algorithms and weak learning [pdf]
  4. On critiques of ML [slides]
Other Resources
  1. Advice on applying machine learning: Slides from Andrew's lecture on getting machine learning algorithms to work in practice can be found here.
  2. Previous projects: A list of last quarter's final projects can be found here.
  3. Data: Here is the UCI Machine learning repository, which contains a large collection of standard datasets for testing learning algorithms. If you want to see examples of recent work in machine learning, start by taking a look at the conferences NIPS(all old NIPS papers are online) and ICML. Some other related conferences include UAI, AAAI, IJCAI.
  4. Viewing PostScript and PDF files: Depending on the computer you are using, you may be able to download a PostScript viewer or PDF viewer for it if you don't already have one.
  5. Machine learning study guides tailored to CS 229 by Afshine Amidi and Shervine Amidi.