Lectures

Each lecture lists its slides and reading first, then videos, then practice: notebooks and interactive demos. Slides are the PDFs used in class; the notebooks are also collected on the Notebooks page.

SlidesNotebookInteractive labCodeReading

Foundations

Lectures 1–2
Lecture 01

Introduction and logistics

Prerequisite test

An open-book test on Python, linear algebra, probability and calculus, required to take the course.

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

Lecture 05

Bias and variance

Lecture 06

Bias and variance II, cross-validation

Lecture 07

Ensemble methods

Linear models and optimisation

Lectures 8–17
Lecture 08

Ensembles, weighted samples in trees, maths for ML, linear regression

Lecture 09

Linear regression, contour plots, geometric view

Lecture 10

Linear regression II

Lecture 11

Gradient descent

Lecture 12

Gradient descent II

Lecture 13

Gradient descent continued, ridge regression

Lecture 14

Ridge regression and lasso

Lecture 15

Logistic regression I

Lecture 16

Logistic regression II

Lecture 17

Logistic regression III

Neural networks

Lectures 18–23
Lecture 18

Multi-layer perceptrons I

Lecture 19

Multi-layer perceptrons II

Lecture 20

Multi-layer perceptrons III

Lecture 21

Next-word prediction

Lecture 22

Convolutional neural networks

Lecture 23

Autograd and naive Bayes

Naive Bayes, neighbours and clustering

Lectures 24–26
Lecture 24

Naive Bayes and k-nearest neighbours

Lecture 25

KNN, parametric and non-parametric models, recommendation

Lecture 26

Curse of dimensionality and unsupervised learning

Support vector machines

Lectures 27–29
Lecture 27

Constrained optimisation and support vector machines I

Lecture 28

Support vector machines II

Lecture 29

Support vector machines: soft margin

Lectures ran on Tuesdays and Thursdays from 3 January to 25 April 2023. Quiz dates are on the Assessment page.