Probabilistic and Unsupervised Learning
Approximate Inference and Learning in Probabilistic Models

Dates 5 October - 18 December 2015
Lectures Mondays and Thursdays 11:00-13:00 (note exceptions below)
Tutorials Wednesdays 9:00-11:00
Lecturer Maneesh Sahani
TAs Elena Zamfir, Eszter Vertes, James Townsend, Sofia Jativa
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 the UCL MSc in Machine Learning and UCL MSc in Computational Statistics and Machine Learning. The first part (GI18: Probabilistic and Unsupervised Learning) may be used to fill a core requirement in each Masters programme. The second part (GI16: Approximate Inference and Learning in Probabilistic Models) is an optional module, but is only available to students who have completed GI18.

Mailing list

If you plan to attend the lectures, please sign up to join the email list here.

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 for the course without consulting the instructor.


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 either know Matlab or Octave, be taking a class on Matlab/Octave, or be willing to learn it on your own.


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)
Reading material

Specific recommendations from previous years 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.


5/10: Introduction to Probabilistic Learning / screen version 8/10: Intro contd.
12/10: Latent Variables / screen version 15/10: contd.
19/10: Expectation Maximisation / screen version 21/10: Latent chain models / screen version
26/10: Latent chain models contd. 29/10: Graphical models / screen version
2/11: contd 5/11: Model selection and GPs / screen version
9/11: extra lecture (if needed) 12/11: no lecture
16/11: Intractable models / screen version 18/11: contd.
23/11: Variational methods / screen version 26/11: contd.
30/11: Expectation Propagation / screen version 3/12: Belief Propagation / screen version
7/12: Convexity-based Methods / screen version 10/12: Sampling / screen version
16/12: contd. 17/12: contd.
50% of the total mark (for each module) is based on coursework assignments (the other 50% being based on the final written examination).

All assignments (coursework) are to be handed in to the Gatsby Unit, not to the CS department. Please hand in all assignments at the beginning of lecture on the due date to the lecturer or to the TAs. Late assignments will be penalised.

Late Assignment Policy: we will be using the official UCL-wide late policy. Marks will be reduced by 5 for assignments up to one day late, 15 for assignments between one and seven days late (or before the answers are discussed in tutorial, whichever comes first), and will receive no credit thereafter.

Assignment 0 - maths quiz to be discussed in tutorial 7 Oct 2015
Assignment 1        [binarydigits.txt,  bindigit.m] due 19 Oct 2015
Assignment 2        [geyser.txt ssm_spins.txt ssm_spins_test.txt ssm_kalman.m] due 2 Nov 2015
Assignment 3        [co2.txt] due 16 Nov 2015
Assignments 4 and 5        [images.jpg, genimages.m, Mstep.m] due 10 Dec 2015
Assignment 6        [message.txt, symbols.txt, asst6code.tgz] due 11 Jan 2016
To attend Please see the note above