Previous offerings: 2022w2 by me, or 2021w2, 2020w2 by Mark Schmidt. This course will be broadly similar to these, with some changes.
Italicized entries are tentative; in particular, the timing and even number of assignments might change. Textbook acronyms are explained below.
Date | Topic/slides | Supplements | |
---|---|---|---|
M | Jan 8 | Syllabus Binary density estimation | ML vs. Stats, 3 Cultures of ML Math for ML, Essence of Linear Algebra PML1 2.1-2.4 |
W | Jan 10 | Bernoulli MLE and MAP; product of Bernoullis | PML1 4.5, 4.6.2 |
Th | Jan 11 | Assignment 1 released: pdf, tex, zip | |
M | Jan 15 | Multivariate models; generative classifiers | PML1 9.3 |
W | Jan 17 | Discriminative models | |
F | Jan 19 | Assignment 1 due at 5pm | |
F | Jan 19 | Add/drop deadline | |
M | Jan 22 | Deep learning: review, double descent, autodiff | PML1 13 Double descent papers: 1 2 3 4 |
W | Jan 24 | Deep learning: CNNs, autoencoders, FCNs | PML1 14.1-14.5 |
M | Jan 29 | Class canceled (sick) | |
Tu-Th | Jan 30-Feb 1 | Quiz 1 | |
W | Jan 31 | Categorical variables, Monte Carlo | PML1 2.5; PML2 11.2 |
M | Feb 5 | More categorical / Monte Carlo | |
Tu-Th | Feb 6-8 | Quiz 2 | |
W | Feb 7 | Recurrent networks | PML1 15.2 |
Th | Feb 9 | Assignment 2 released: pdf, tex, zip | |
M | Feb 12 | Attention and transformers [Guest lecturer: Alan Milligan (TA)] | PML1 15.4-15.7; PML2 16.2.7, 16.3.5 |
W | Feb 14 | What are we learning? [Online: at a workshop] | PML2 19; Fairness in vision tutorial Fair ML book; Data Feminism |
M | Feb 19 | No class: Family Day + midterm break | |
W | Feb 21 | No class: midterm break | |
M | Feb 26 | Gaussians, Bayesian learning | PML1 2.6, 4.6.7 |
Tu-Th | Feb 27-29 | Quiz 3 | |
W | Feb 28 | Multivariate Gaussians | PML1 3.2 |
F | Mar 1 | Withdrawal deadline | |
F | Mar 1 | Assignment 2 due at 11:59pm | |
M | Mar 4 | Project proposal guidelines released | |
M | Mar 4 | Learning with Gaussians; empirical Bayes | PML1 3.3, 11.7 |
W | Mar 6 | Empirical Bayes | PML2 3.7 |
M | Mar 11 | Approximate inference | PML2 7.4.3, 11.4, 11.5; PML2 2.4 |
Tu-Th | Mar 12-14 | Quiz 4 | |
W | Mar 13 | Exponential families; start mixtures | PML2 2.4 |
M | Mar 18 | Mixtures, EM, KDE | PML1 8.7.2 / PML2 6.5; PML2 16.3 |
M | Mar 18 | Assignment 3 released: pdf, tex, zip | |
W | Mar 20 | finish EM/KDE; start Markov chains | PML2 2.6 |
M | Mar 25 | Markov chains; start message passing | PML2 2.6, 9.2 |
Tu-Th | Mar 26-28 | Quiz 5 | |
W | Mar 27 | Message passing; start MCMC | PML2 9.2; 12.1-12.2 |
F | Mar 29 | Project proposal due at 11:59pm (or hand in earlier for earlier feedback) | |
M | Apr 1 | No class: Easter Monday | |
Tu | Apr 2 | Assignment 3 due at 11:59pm | |
W | Apr 3 | More MCMC; directed graphical models | PML2 4.2, bonus material on PML2 9 |
M | Apr 8 | Undirected graphical models | PML2 4.3-4.4; bonus on PML2 9, 28.5 |
Tu-Th | Apr 9-11 | Quiz 6 | |
W | Apr 10 | Variational inference, VAEs, image generation | |
Th | Apr 19 | Bonus assignment 4 released: pdf, tex, zip | |
Su | Apr 21 | Final exam (in person, handwritten), 3:30-6pm in PHRM 1101 | |
Sa | Apr 27 | Final project due at 11:59pm — style files, instrutions | |
Sa | Apr 27 | Bonus assignment 4 due at 11:59pm |
This course is intended as a second or third university-level course on machine learning, a field that focuses on using automated data analysis for tasks like pattern recognition and prediction. The class is intended as a continuation of CPSC 340 (also called 540, or previously 532M); it will assume a strong background in math and computer science. Topics will (roughly) include deep learning, generative models, latent-variable models, Markov models, probabilistic graphical models, and Bayesian methods.
Note that the numbers for graduate cross-listings of our machine learning courses changed this year: previously 340 was also called 532M, and 440 was also called 540. Now 340 is also called 540, and 440 is also called 550.
The course meets in person in MacMillan 360. I plan to release recordings, but encourage you to come to class in person if you can.
Grading scheme:
Further details in the syllabus slides.
Starting in the second week of classes, we'll have weekly tutorials run by the TAs. These will do things like go through provided assignment code, review background material, review big concepts, and/or do exercises. You can register for particular tutorial sections if you want to save a seat at a particular time, but note that you do not need to register in a tutorial section.
CPSC 340/540 vs. CPSC 440/550: CPSC 340 and 440 are roughly structured as one full-year course. CPSC 340 (which is sometimes cross-listed as CPSC 540 for graduate students; formerly 532M) covers more data mining methods and the methods that are most widely-used in applications of machine learning. CPSC 440 (cross-listed as CPSC 545 for graduate students) focuses on probabilistic methods which appear in more niche applications, as well as various other topics not covered in 340/540. It is strongly recommended that you take CPSC 340/540 first, as it covers the most fundamental ideas as well as the most common and practically-useful techniques. In 440/550 it will be assumed that you are basically familiar with all the material in the current offering of CPSC 340/540. Note that online machine learning courses and courses from many other universities may not be an adequate replacement for CPSC 340; they typically have more overlap with our applied machine learning course, CPSC 330. If you're not sure, look at last term's 340 website and see if it all seems familiar.
Undergraduate students will not be able to take the class without these prerequisites. Graduate students may be asked to show how they satisfy prerequisites.
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 Probabilistic Machine Learning series. While the one-volume 2012 version covers most of the material, we'll refer to the very recent two-volume version (2022/2023), PML1 and PML2, both of which have free Creative Commons draft pdfs through those links. I'll try to refer to the relevant sections of both versions as we go, as well as links to various other free online resources.
If you need to refresh your linear algebra or other areas of math, check out Mathematics for Machine Learning (Marc Deisenroth, Aldo Faisal, Cheng Soon Ong; 2020).
Related courses: Besides CPSC340, there are several 500-level graduate courses in CPSC and STAT that are relevant: check out the graduate courses taught by people on the ML@UBC page and the MILD list. CPSC 422/425/436N, DSCI 430, EECE 360/592, EOSC 510/550, and STAT 305/306/406/460/461 are also all relevant.
Some related courses that have online notes are: