Probabilistic and Unsupervised Learning
Approximate Inference and Learning in Probabilistic Models

Dates 3 October - 15 December 2016
Lectures Mondays and Thursdays 11:00-13:00 (note any exceptions below)
Tutorials Wednesdays 9:00-11:00
Lecturer Maneesh Sahani
TAs (CS) James Townsend, Harshil Shah, Stephen Pasteris; (Gatsby) Alexander Antrobus, Kevin Li, Sanjeevan Ahilan
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)

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.


3/10: Introduction to Probabilistic Learning / screen version 6/10: Intro contd.
10/10: Latent Variables / screen version 13/10: contd.
17/10: Expectation Maximisation / screen version 20/10: Latent chain models / screen version
24/10: Latent chain models contd. 27/10: Graphical models / screen version
31/10: contd 3/11: Model selection and GPs / screen version
21/11: Intractable models / screen version 24/11: contd.
28/11: Variational approximations / screen version 1/12: Expectation Propagation / screen version
5/12: Belief Propagation / screen version 8/12: Convexity-based Methods / screen version
12/12: Sampling / screen version 15/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.
For the BONUS questions only, this will be interpreted to mean a penalty that is the lesser of:

  • 10 marks up to 2 days late
  • 50% of the maximum mark on the late work up to 5 days late
  • 100% of the marks earned (this to stop you going negative!)
This policy applies only if you have handed in credible attempts to all the required questions on time.
Assignment 0 - maths quiz to be discussed in tutorial 5 Oct 2016
Assignment 1        [binarydigits.txt,  bindigit.m] due 17 Oct 2016
Assignment 2        [geyser.txt ssm_spins.txt ssm_spins_test.txt ssm_kalman.m] due 31 Oct 2016
Assignment 3        [co2.txt] due 21 Nov 2016
Assignments 4 and 5        [images.jpg, genimages.m, Mstep.m] due 12 Dec 2016
Assignment 6        [message.txt, symbols.txt, asst6code.tgz] due 9 Jan 2017
To attend Please see the note above