COMPGI09 - Applied Machine Learning

This database contains the 2017-18 versions of syllabuses. Syllabuses from the 2016-17 session are available here.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Code COMPGI09 (also taught as COMPM090)
Year MSc

Please note that this is not an introduction to machine learning.

Students are required to have an excellent understanding and abilities with Linear Algebra, Multivariate Calculus and Probability all at first year undergraduate mathematics level.

Assignments will require students to have familiarity with coding a high level language. It is strongly recommend that students are skilled in Python.

Students should have taken in term 1 introductory modules in machine learning, either Introduction to Machine Learning, Introduction to Data Science or Supervised Learning. Ideally students will have taken Graphical Models or Unsupervised Learning.

Term 2
Taught By Dimitry Adamsky [Teaching Fellow] (100%)
David Barber [Module Lead]

To give a detailed understanding of topics related to efficient implementation of large-scale machine learning with a focus on optimisation in both linear and non-linear machine learning models.

Students will also gain experience in tackling real world problems through solving online machine learning challenges.

A key aim is that students understand the challenges of optimisation and associated time and space complexities of various approaches.

Learning Outcomes

Students will have a good understanding of a variety of optimisation methods applicable for large-scale machine learning, including first and second order methods and automatic differentiation.

Students will also become familiar with techniques used in practice to solve real world machine learning problems.


First Order Optimisation methods (gradient descent)

Second Order Optimisation methods (Newton and Quasi Newton approaches and Conjugate Gradients)

Methods for solving Large Scale Linear, including Conjugate Gradients

Automatic Differentiation methods for efficiently computing first and second order gradients

Classical methods for Regression and Classification including linear and logistic regression

Methods for Unsupervised Learning including mixture modelling

Deep Learning Methods for Regression, Classification and Unsupervised Learning

Recurrent Networks for Time-Series processing

Matrix and Tensor Factorisation

Visualisation methods including Autoencoders and tSNE

Method of Instruction

Lectures (3 hours per week)


The course has the following assessment components:

  • Written Examination (2.5 hours, 75%)
  • Coursework Section. The coursework is based on assessed practical challenges hosted by Kaggle (25%).

To pass this course, students must:

  • Obtain an overall pass mark of 50% for all sections combined


Reading list available via the UCL Library catalogue.