Machine learning techniques enable us to automatically extract features from data so as to solve predictive tasks, such as speech recognition, object recognition, machine translation, question-answering, anomaly detection, medical diagnosis and prognosis, automatic algorithm configuration, personalisation, robot control, time series forecasting, and much more. Learning systems adapt so that they can efficiently solve new tasks related to previously encountered tasks.

This course will introduce the field of machine learning, in particular focusing on the core concepts of supervised and unsupervised learning. In supervised learning we will discuss algorithms which are trained on input data labelled with a desired output, for instance an image of a face and the name of the person whose face it is, and learn a function mapping from the input to the output. Unsupervised learning aims to discover latent structure in an input signal where no output labels are available, an example of which is grouping news articles based on the topics they cover. Students will learn algorithms which underpin many popular machine learning techniques, as well as developing an understanding of the theoretical relationships between these algorithms. The practicals will concern the application of machine learning to a range of real-world problems.


Machine learning is a mathematical discipline and it is helpful to have a good background in linear algebra, calculus, probability and algorithms. If you have not taken the following courses (or their equivalents) you should speak with the instructor prior to registering for this course.

Who should take this course?

Undergraduates who have completed the prerequisites and interested in machine learning should enrol. M.Sc. students who have not completed a machine learning course may enrol; those who have completed a machine learning course should consider either AML or DL or both.

Recommended Textbooks

Most material covered in the course can be found in the following books. Multiple copies are available for short loan in the department library. Further copies may be available in the RSL and college libraries.

  • (Mur) K. P. Murphy. Machine Learning: A Probabilistic Perspective. MIT Press 2012. (Electronic copy available through the Bodleian library.)
  • (Bis) C. M. Bishop. Pattern Recognition and Machine Learning. Springer 2007.
  • (HTF) T. Hastie, R. Tibshirani and J. Friedman. The Elements of Statistical Learning. Springer 2011. (Available for download on the authors' web-page)

In addition, for neural networks and deep learning, students may find the following online books useful.

  • (Nie) M. Nielsen. Neural Networks and Deep Learning. Online book available here.
  • (GBC) I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press (in preparation). Draft available here.


The course will have a sit-down final exam. The exam for M.Sc. students and undergraduates will be at different times.

Contact Information

Apart from lectures, classes and practicals, we have set up a Piazza forum. Please sign up here. You should use this forum to ask questions which could be answered by your classmates, TAs, and the lecturer. Should you so wish, you can also post to this forum anonymously. You may also send private messages to the lecturer and teaching staff, though we recommend that you use this option sparingly.

If your question is personal in nature, you should contact the lecturer and/or your academic adviser directly via email. Please allow at least 48 hours for an email response.

It can be challenging for the lecturer to gauge how smoothly the course is progressing. Your comments, suggestions and feedback are always welcome. If you would like to remain anonymous while doing so, feel free to use an anonymous emailer such as this one. In addition, please do not forget to fill out the official feedback forms at the end of the term.