Machine Learning 4f13 Lent 2011

Keywords: Machine learning, probabilistic modelling, graphical models, approximate inference, Bayesian statistics

Taught By: Zoubin Ghahramani and Carl Edward Rasmussen

Code and Term: 4F13 Lent term

Year: 4th year (part IIB) Engineering, also open to MPhil and PhD students in any Department.

Structure & Assessment:14 lectures, 2 coursework revisions, 4 pieces of course work. The evaluation is by coursework only, all four pieces of course work carry an equal weight. There is no final exam.

Time: 16:00 - 17:00 Tuesdays and 11:00 - 12:00 Thursdays.

Location: Lecture Room 3B (LR3B), Inglis Building, Trumpington Street, Cambridge

Prerequisites: A good background in statistics, calculus, linear algebra, and computer science. 3F3 Signal and Pattern Processing and 4F10 Statistical Pattern Processing would both be useful. You should thoroughly review the maths in the following cribsheet [pdf] [ps] before the start of the course. The following Matrix Cookbook is also a useful resource. If you want to do the optional coursework you need to know Matlab or Octave, or be willing to learn it on your own. Any student or researcher at Cambridge meeting these requirements is welcome to attend the lectures. Students wishing to take it for credit should consult with the course lecturers.

Textbook: There is no required textbook. However, the material covered is treated in:

Christopher M. Bishop (2006) Pattern Recognition and Machine Learning. Springer

and we will provide references to sections in this book. Another excellent textbook is:
David J.C. MacKay (2003) Information Theory, Inference, and Learning Algorithms, Cambridge University Press, available freely on the web.

For a summary of the topics covered in this module you can read the following chapter:
Ghahramani (2004) Unsupervised Learning. In Bousquet, O., Rätsch, G. and von Luxburg, U. (eds)
Advanced Lectures on Machine Learning LNAI 3176. Springer-Verlag.
NOTE: If you want to see lecture slides from a similar but not identical course taught last year click on the Lent 2010 course website, but be warned that the slides will change this year.


LECTURE SYLLABUS

Jan 20     Introduction to Machine Learning(1L): review of probabilistic models, relation to coding terminology: Bayes rule, supervised, unsupervised and reinforcement learning Lecture 1 slides
Jan 25, 27 Unsupervised learning (2L): factor analysis, PCA, the EM algorithm Lecture 2 and 3 slides
Feb 1, 3, 8 and 10 Graphical Models (4L): conditional independence, Belief Propagation Lecture 4: Graphical Models
Lecture 5: Inference in Graphical Models
Lecture 6: Learning in Graphical Models
Feedback on Assignment number 1
Feb 15, 17 Monte Carlo Methods (2L): simple Monte Carlo, rejection sampling, importance sampling, Metropolis, Gibbs sampling and Hybrid Monte Carlo.

Good introductions to Monte Carlo methods are contained in MacKay's book, chapter 29 or Bishop's book, chapter 11.

Download a few demo matlab scripts showing different sampling methods.
Lecture 7 and 8 slides
Feb 22, 24 Variational approximations (2L): KL divergences, mean field, expectation propagation Lecture 10 and 11 slides
Mar 1, 3 and 8 Reinforcement Learning, Decision Making and MDPs (3L): value functions, value iteration, policy iteration, Bellman equations, Q-learning, Bayesian decision theory Lectures 12, 13 and 14 slides
Mar 10, 15 Model comparison (1L): Bayes factors, Occam's razor, BIC, Laplace approximations. Lecture 15 and 16 slides
Assignment feedback

COURSE WORK

Course work is to be handed in to Rachel Fogg in Baker BNO-37 no later than 16:00 on the date due. Each of the four pieces of course work carry an equal weight in the evaluation.

Assignment 1 on Message Passing in Factor Graphs due Feb 10th 2011.

Assignment 2 on Gibbs Sampling is due on Feb 24th 2011.

You will need the following files images.jpg, Mstep.m, genimages.m and parameters.mat.

Assignment 3 on Variational Approximations is due on Mar 8th 2011.

Assignment 4 on Reinforcement Learning is due on March 15th 2011. The relevant matlab files for the assignment are: rl.m, initGridworld.m, rc2s.m, s2rc.m and plotVP.m.