Introduction to Machine Learning

Module aims

This module aims to provide an overview of the different types of problems that exist in machine learning and the basic algorithms used to address them. You will learn how to create prediction models and decision makers by leveraging data and will explore applications ranging from speech recognition to autonomous cars. In addition, this module instils fundamental knowledge and skills that will prepare you for the advanced machine learning methods covered in fourth year modules.   

Learning outcomes

Upon successful completion of this module you will be able to:

  • identify the strengths and weaknesses of each family of algorithms
  • decide which is the most suitable machine learning algorithm to solve a given problem
  • evaluate the accuracy and robustness of different machine learning algorithms
  • implement machine learning algorithms to solve classification and recognition problems
  • use machine learning algorithms to automatically create predictive models
  • apply machine learning algorithms to perform unsupervised clustering

Module syllabus

Inductive Learning: concept learning, decision trees.

Instance Based Learning: K-nearest neighbours, locally weighted regression, K-means.

Model Evaluation and Comparison: training/ validation/ evaluation, measures classification performance, estimating hypothesis accuracy, comparing learning algorithms, computing P-values.

Neural Networks: perceptron, multilayer perceptron, back-propagation, stochastic gradient descend/ mini-batch, activation and error functions, overfitting (regularisation, data augmentation), data normalisation, hyper-parameter tuning.

Genetic Algorithms: genotype/ phenotype/ behavior definitions, selection and elitism, crossover, mutation, neuro-evolution, evolutionary strategies, multi-objective optimisation (pareto-dominance),  helper-objectives.

Teaching methods

The objective of this module is to provide the fundamental tools to address traditional problems in machine learning, such as classification, prediction and unsupervised clustering. The material is taught through traditional lectures and computer-based courseworks done during timetabled laboratory sessions. These courseworks are in the form a mini-projects in which you will apply the methodology seen in class. During the lectures, mini-quiz questions will happen, using Mentimeter, to identify common mistakes and rapidly address them. This module will cover the machine learning algorithms and evaluation methodology required to harness more advanced approaches, like those presented during the fourth year. 

The module has a higher coursework weighting (30%) than most modules, which reflects the increased practical component.

The Piazza Q&A web service will  be used as an open online discussion forum for the module.


There will be two computer-based courseworks that contributes 30% of the mark for the module. In these courseworks, you will implement machine learning algorithms to solve practical problems. There will be a final written exam, which counts for the remaining 70% of the marks.                                         
During the weekly laboratory sessions, Graduate Teaching Assistants (GTAs) and the lecturer will be available to answer your questions and provide feedback. There will be detailed feedback on the two coursework exercises which will include written feedback on your submissions and class-wide feedback explaining common pitfalls and suggestions for improvement. The mentimeter Q&A will also give you the chance to evaluate your progress anonymously.   

Reading list


Module leaders

Dr Marek Rei