Probabilistic and Unsupervised Learning
Approximate Inference and Learning in Probabilistic Models

Dates 1 October - 13 December 2018
Lectures Mondays and Thursdays 11:00-13:00 (note any exceptions below)
Tutorials Wednesdays 9:00-11:00
Lecturer Maneesh Sahani
Coordinator (CS) Dmitry Adamskiy. Please direct all correspondence regarding coursework, extensions and administrative issues to Dmitry at
TAs (CS) Benoit Gaujac, Raza Habib, Tom Bird, Harshil Shah, (Gatsby/SWC) Franziska Broeker, Heishiro Kanagawa, Ilyes Khemakhem, Roman Pogodin.
Location Ground Floor Seminar Room, 25 Howland Street, London W1T 4JG
About the course

This course (offered as two successive modules to MSc students) provides an in-depth introduction to statistical modelling, unsupervised, and some supervised learning techniques. It presents probabilistic approaches to modelling and their relation to coding theory and Bayesian statistics. A variety of latent variable models will be covered including mixture models (used for clustering), dimensionality reduction methods, time series models such as hidden Markov models which are used in speech recognition and bioinformatics, Gaussian process models, independent components analysis, hierarchical models, and nonlinear models. The course will present the foundations of probabilistic graphical models (e.g. Bayesian networks and Markov networks) as an overarching framework for unsupervised modelling. We will cover Markov chain Monte Carlo sampling methods and variational approximations for inference. Time permitting, students will also learn about other topics in probabilistic (or Bayesian) machine learning.

The complete course forms a component of the Gatsby PhD programme, and is mandatory for Gatsby students. The two component modules are also available to students on Machine Learning related MSc programmes. Note that MSc student may only take the second part (Approximate Inference and Learning in Probabilistic Models) if they complete the first.

Mailing list TBC
General attendance

UCL Students, postdocs and faculty from outside the unit and these programmes are welcome to attend the lectures as long as space is available. If you are not a student on either MSc programme above, please do not register officially for the course without consulting the course administrator.


A good background in statistics, calculus, linear algebra, and computer science. You should thoroughly review the maths in the following cribsheet [pdf] [ps] before the start of the course. This quiz may help you check where you stand. You must know Matlab, Octave or Python/NumPy.


There is no required textbook. However, the following are excellent sources for many of the topics covered here.

David J.C. MacKay (2003) Information Theory, Inference, and Learning Algorithms, Cambridge University Press.
Christopher M. Bishop (2006) Pattern Recognition and Machine Learning, Springer-Verlag.
David Barber (2012) Bayesian Reasoning and Machine Learning, Cambridge University Press.
Kevin Patrick Murphy (2012) Machine Learning: a Probabilistic Perspective, MIT Press.
Daphne Koller and Nir Friedman (2009) Probabilistic Graphical Models, MIT Press. (This contains a more extensive treatment of graphical models, good for reference)

Some of our work will depend numerical computation. A very useful reference in this area is:

Gene H. Golub and Charles F. Van Loan (2013) Matrix Computations, 4th ed, Johns Hopkins Univ. Press
Reading material

Specific recommendations for additional reading can be found here. New material may be assembled as course progresses.

Lecture schedule and slides (provisional) Lecture slides and assignments will be posted here as the course progresses. Note that the content and sequence of lectures may vary slightly from those of previous years. Some lectures (boldface dates) will be moved to the Wednesday morning tutorial slot.


Probabilistic and Unsupervised Learning
1/10: Introduction to Probabilistic Learning / screen version 4/10: Intro contd.
8/10: Latent Variables / screen version 11/10: Expectation Maximisation / screen version
15/10: Latent chain models / screen version 18/10: contd.
22/10: no lecture 25/10: no lecture
29/10: Graphical models / screen version 1/11: contd
5/11: Model selection and GPs / screen version 8/11: contd.
Approximate Inference (may change)
12/11: Intractable models / screen version 16/11: contd.
19/11: Sampling / screen version 23/11: contd.
26/11: Factored variational approximations / screen version 30/11: contd.
3/12: Expectation Propagation / screen version 6/12: no lecture
10/12: Belief Propagation / screen version
Convexity and Free-Energy / screen version
12/12: Parametric variational and recognition models / screen version
50% of the total mark (for each module) is based on coursework assignments (the other 50% being based on the final written examination).

Assignments (coursework) are due before the beginning of lecture on the date specified (except Assignement 6, which is due at 5pm). They must be submitted online if you are registered for the course through an MSc programme. Late assignments will be penalised For Gatsby, SWC and related students, they should be handed in by email or on paper to a Gatsby TA.

Late Assignment Policy: we will be using the official UCL-wide late policy.

Assignment 0 - maths quiz to be discussed in tutorial 3 Oct 2018
Assignment 1        [binarydigits.txt,  bindigit.m,] due 15 Oct 2018
Assignment 2        [geyser.txt ssm_spins.txt ssm_spins_test.txt ssm_kalman.m] due 5 Nov 2018
Assignment 3        [co2.txt] due 19 Nov 2018
Assignment 4        [message.txt, symbols.txt, matlab code, python code] due 3 Dec 2018
Assignment 5        [images.jpg, genimages.m, Mstep.m,,]--> due 14 Dec 2018
Assignment 6 due 18 Jan 2019
To attend Please see the note above