Lectures
Each lecture lists its slides and reading first, then its full class recording, then practice notebooks. Slides and notebooks come from ml-teaching, which also lists all slides and all notebooks.
SlidesFull recordingNotebookReading
Foundations
Lectures 1–2Prerequisite testAn open-book test on Python, linear algebra, probability and calculus, required to take the course. |
||
| Lecture 01 | Introduction and logistics |
|
| Lecture 02 | Conventions, metrics, classification and regression |
Trees, model fit and ensembles
Lectures 3–7| Lecture 03 | Decision trees I |
|
| Lecture 04 | Decision trees II, bias and variance |
|
| Lecture 05 | Tutorial on NumPy, pandas and classes; cross-validation |
|
| Lecture 06 | Cross-validation and ensemble methods |
|
| Lecture 07 | Random forestsLecture on random forests, and a tutorial on random forests and meshgrid. |
Linear models and optimisation
Lectures 8–17| Lecture 08 | Linear regression |
|
| Lecture 09 | Linear regression: basis functions |
|
| Lecture 10 | Linear regression: geometric interpretation |
|
| Lecture 11 | Multicollinearity and dummy variables |
|
| Lecture 12 | Gradient descent I |
|
| Lecture 13 | Tutorial: Google Cloud, forecasting, polynomial regressionGoogle Cloud, forecasting, and polynomial regression with basis functions. |
|
| Lecture 14 | Gradient descent II |
|
| Lecture 15 | Movie recommendation and matrix factorisation |
|
| Lecture 16 | Regularised linear regression: ridge and lasso |
|
| Lecture 17 | Coordinate descent, time complexity, maths for ML, convexityNot recorded. |
Classification and neural networks
Lectures 18–26| Lecture 18 | Guest lecture: adversarial examples for MLGuest lecture by Arjun Bhagoji. |
|
| Lecture 19 | Logistic regression I |
|
| Lecture 20 | Logistic regression II |
|
| Lecture 21 | Multi-layer perceptrons I |
|
| Lecture 22 | Multi-layer perceptrons II |
|
| Lecture 23 | Next-token prediction |
|
| Lecture 24 | Autograd |
|
| Lecture 25 | Convolutional neural networks I |
|
| Lecture 26 | Convolutional neural networks II |
Neighbours, unsupervised and reinforcement learning
Lectures 27–30| Lecture 27 | K-nearest neighbours |
|
| Lecture 28 | Reinforcement learning |
|
| Lecture 29 | Unsupervised learning |
|
| Lecture 30 | Approximate nearest neighbours |
Support vector machines
Lectures 31–35| Lecture 31 | Constrained optimisation |
|
| Lecture 32 | Support vector machines I |
|
| Lecture 33 | Support vector machines II: kernels |
|
| Lecture 34 | Support vector machines III: QP, kernels as similarity |
|
| Lecture 35 | Support vector machines IV: kernels, soft margin |
Notebooks marked "GitHub, not rendered" are in the ml-teaching repository only. Quizzes, mock quizzes, the mid-semester exam discussion and the final revision class are on the Assessment page.