Instructor: Mark Schmidt.
Teaching Assistants: Jasmine (Xiaomeng) Ju, Frederik Kunstner, Cathy (Si Yi) Meng
Tutorials and office hours calendar:
Synopsis: This is an graduate (or senior undergraduate) course on machine learning, a field that focuses on using automated data analysis for tasks like pattern recognition and prediction. The course will move quickly and assumes a strong background in math and computer science as well as previous experience with statistics and/or machine learning. The class is intended as a continuation of CPSC 340/532M and it is strongly recommended that you take CPSC 340/532M first before enrolling in CPSC 540. Topics will (roughly) include deep learning, Markov models, latent-variable models, probabilistic graphical models, and Bayesian methods.
Registration and Prerequisites: Graduate and undergraduate students from any department are welcome to take the class, provided that they satisfy the prerequisites. However, you can only register automatically if you are enrolled as a graduate student in CPSC, EECE, or STAT. If you are a graduate student from a different department (or are an undergraduate student satisfying these requirements), you can register by following the instructions here and submitting the prerequisites form here. Graduate students in CPSC/EECE/STAT also need to submit the prerequisites form before the add/drop deadline to stay enrolled. We have been told by the Faculty of Science that they are going to be more strict this year about undergraduates enrolling in graduate courses, and I'm not sure what this means.
CPSC 340/532M vs. CPSC 540: CPSC 340 and CPSC 540 are roughly structured as one full-year course. CPSC 340 (which is also listed as CPSC 532M for graduate students) covers more data mining methods and the methods that are most widely-used in applications of machine learning while CPSC 540 covers more research-level machine learning methods and theory. It is strongly recommended that you take CPSC 340 first, as it covers the most common and practically-useful techniques. If CPSC 340 is full, you should still sign up for the CPSC 340 waiting list (not CPSC 540) as we may expand the class size: taking CPSC 540 because CPSC 340 is full is a terrible idea. In 540 it will be assumed that you are familiar with the material in the current offering of CPSC 340, and note that the Coursera machine learning course is not an adequate replacement for CPSC 340.
CPSC 540 requires a stronger computer science and math background and will require more work than CPSC 340. If you want an introduction to machine learning, do not have a strong computer science and math background, or are mainly interested in applying machine learning in your research, then CPSC 340 is the right course to take. You can always decide to take (or audit) CPSC 540 later.
Auditting: Rather than registering as a student, an alternate option is to register as an auditor. This is a good option for students that may be missing some of the prerequisites or that don't have enough time to do all course requirements, but that still want exposure to the material. For graduate students, the form for auditing the course is available here. For undergraduates, you need to fill out the form here and indicate on the course information section that you wish to "audit". I will describe the auditting requirements and sign these forms on the first day of class.
Textbook: There is no textbook for the course, but the textbook with the most extensive coverage of many of the course's topics is Kevin Murphy's Machine Learning: A Probabilistic Perspective (MLAPP). This book can be purchased from Amazon, is on reserve in the CS Reading Room (ICCS 262), and can be accessed through the library here. Optional readings will be given out of this textbook, in addition to other free online resources.
Grading: Assignments 40%, Final 30%, Project 30%.
Date | Lecture Slides | Related Readings and Links | Homework |
---|---|---|---|
Mon Jan 6 | Syllabus 340 Overview |
MLAPP 1.1-1.2, 1.4, 6.5, 7.1-3, 7.5, 8.1-3 ML vs. Stats (2001, 2015) 3 Cultures of ML Essence of Linear Algebra Mathematics for Machine Learning |
|
Wed Jan 8 | Fundamentals of Learning | MLAPP 1.4, 6.5, Probability Primer | Assignment 1 a1.zip a1.tex |
Fri Jan 10 | Convexity | BV 2.1-2.3, 3.1-3.2 | |
Mon Jan 13 | How Much Data? Structured Prediction Motivation |
The Tradeoffs of Large Scale Learning | |
Wed Jan 15 | Class Cancelled (Snow Day) | ||
Fri Jan 17 | Density Estimation | MLAPP 2.3, Covariance Matrix | Assignment 1 Prereq Form due |
Mon Jan 20 | Multivariate Gaussians | MLAPP 2.4-5 and 4.1-3, Properties of Gaussians | Assignment 2 a2.zip a2.tex |
Wed Jan 22 | Mixture Models | MLAPP 11.1-2 | |
Fri Jan 24 | Generative Classifers | MLAPP 3.5, 4.2, 8.6 | |
Mon Jan 27 | Expectation Maximization | MLAPP 11.3-4, 11.6 | |
Wed Jan 29 | Kernel Density Estimation | MLAPP 12.1-2, 14.7 | |
Fri Jan 31 | Markov Chains | MLAPP 17.1-2 | |
Mon Feb 3 | Monte Carlo Methods | MLAPP 23.1-2 | |
Wed Feb 5 | Message Passing | MLAPP 17.4 | |
Fri Feb 7 | Hidden Markov Models | MLAPP 17.3-5, 18.1-4 | Assignment 2 due |
Mon Feb 10 | DAG Models | MLAPP 10.1-2, 10.5 | Assignment 3 a3.zip a3.tex |
Wed Feb 12 | More DAGs | MLAPP 10.3-4, 26.1-4 | |
Fri Feb 14 | Undirected Graphical Models | MLAPP 19.1-4, 20.1-4 | |
Mon Feb 24 | Approximate Inference | MLAPP 24.1-2 | |
Wed Feb 26 | Guest Lecture: Frank Wood Probabilistic Programming |
||
Fri Feb 28 | Log-Linear Models | MLAPP 19.5 | |
Mon Mar 2 | Boltzmann Machines | MLAPP 27.7, 28.1-2 | |
Wed Mar 4 | Conditional Random Fields | MLAPP 19.6 | |
Fri Mar 6 | Neural Networks Double Descent Curves |
Assignment 3 due | |
Mon Mar 9 | Deep Structured Models | Assignment 4 a4.zip a4.tex | |
Wed Mar 11 | Fully-Convolutional Networks Recurrent Neural Networks |
||
Fri Mar 13 | CANCELLED | ||
Mon Mar 16 | Bayesian Statistics | MLAPP 3.1-4, 4.4-6, 5.1-4, 7.6 | |
Tue Mar 17 | Empirical Bayes Conjugate Priors |
MLAPP 5.6-7 | |
Wed Mar 18 | Hierarchical Bayes Topic Models |
MLAPP 5.5 MLAPP 27.1, 27.3 | |
Thu Mar 19 | Rejection/Importance Sampling Metropolis-Hastings Long Short Term Memory |
MLAPP 23.3-4 MLAPP 24.3-4 | |
Tue Mar 24 | Faster Algorithms for Deep Learning? | ||
Wed Mar 25 | Variational Inference Non-Parametric Bayes |
MLAPP 21.1-5, 22.1-2 MLAPP 15.1-3, 25.2 | |
Mon Mar 30 | VAEs and GANs | ||
Cancelled | Attention |
Notes: These are additional notes mentioned in the lectures and homeworks:
Some related courses that have online notes are: