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–2

Prerequisite test

An 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 forests

Lecture 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 regression

Google 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, convexity

Not recorded.

Classification and neural networks

Lectures 18–26
Lecture 18

Guest lecture: adversarial examples for ML

Guest 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.