100 Lectures on Machine Learning

This is a collection of course material from various courses that I've taught on machine learning at UBC, including material from over 100 lectures covering a large number of topics related to machine learning. The notation is fairly consistent across the topics which makes it easier to see relationships, and the topics are meant to be gone through in order (with the difficulty slowly increasing and concepts being defined at their first occurrence). I'm putting this in one place in case people find it useful for educational purposes.

Part 1: Computer Science 340

The first set of notes is mainly from the Fall 2019 version of CPSC 340, a course on machine learning and data mining. Related readings and assignments are available from the Fall 2019 course homepage. In the relevant places, I've also included some lectures from previous terms in cases where I covered different topics.

I've given a "title" to each lecture, but the length of time I spent on each topic usually did not exactly equal 50 minutes. This means that most of the topics are spread across more or less than one lecture. This does not matter if you go through the lectures in order, but if you "skip" to a certain topic you may need to look at the lecture before/after and there may be material from the previous topic included.

I made the first version of these notes in 2015, but Mike Gelbart has also been teaching the course since 2016 and has made numerous improvements. Although I've never had my lectures for this course recorded, videos of the lectures from the Winter 2018 section of this course taught by Mike Gelbart are available here (the material is largely the same).

Bonus Slides: Many lectures include "bonus material", and these slides have a different background colour (orange in the case of the 340 slides). These slides cover tangential or more-advanced topics, and should probably be skipped if this is the first time you are seeing this material. Also note that the lecture end on the slide titled "Summary", and typically all slides after this one only contain "bonus material" slides.

1. Supervised Learning

2. Unsupervised Learning

3. Linear Models

4. Latent-Factor Models

5. Deep Learning

Part 2: Data Science 573 and 575

The second set of notes are from an assortment of other places where I've given lectures, mainly from courses in the Master of Data Science program, aimed at a target audience that is familiar with the above material.

Part 3: Computer Science 440

The third set of notes is mainly from the January-April 2022 of CPSC 440, a course on machine learning that builds upon the material in CPSC 340. The notation in this course is similar to CPSC 340, except that we switch to using superscripts to refer to training examples (so that subscripts can refer to individual variables). Related readings and assignments are available from the course homepage.

A. Binary Random Variables

B. Categorical Random Variables

C. Gaussian Random Variables

D. Markov Models

E. Latent-Variable Models

Part 4: Computer Science 540

The fourth set of notes are from an assortment of other places where I have given lectures, mainly previous offerings of CPSC 540, aimed at a target audience that is familiar with the above material.

Part 5: Large-Scale Machine Learning

The fifth set of notes is related to one of my core research areas, which is continuous optimization algorithms designed specifically for machine learning problems. The below notes are mainly from a series of 13 lectures I gave in August 2020 on this topic.

Part 6: Machine Learning Reading Group

The final set of notes are topics that I have not covered in a formal course, but where I've given overviews in our machine learning reading group.

Mark Schmidt > Courses