Introduction to Machine Learning

Module aims

This module aims to provide students with a fundamental understanding of core machine learning ideas and concepts. It introduces to students different machine learning problems and basic algorithms used to address these problems. The module will cover fundamental machine learning knowledge required to tackle more advanced, specialised modules.

Learning outcomes

At the end of the module you will be able to:
- Evaluate the strengths and weaknesses of machine learning algorithms.
- Appraise the suitability of a machine learning algorithm to solve a given problem.
- Formulate appropriate methodologies to evaluate the accuracy and robustness of machine learning algorithms.
- Implement machine learning algorithms to solve classification and regression problems.
- Develop predictive models with machine learning algorithms.
- Design unsupervised clustering programs based on machine learning algorithms.

Module syllabus

This module covers the following topics:

1) Machine Learning Concepts:
Definition and taxonomies, Supervised learning pipeline (classification/regression), Feature encoding, Model learning, Bias-variance tradeoff.

2) Instance Based Learning and Inductive Learning:
K-nearest neighbours, Locally weighted regression, Decision trees.

3) Model Evaluation and Comparison:
Training/validation/test data splits, Cross-validation, Evaluation metrics, Confidence intervals, Statistical significance.

4) Neural Networks:
Perceptron, Multilayer perceptron, Back-propagation, Stochastic gradient descent, Activation and error functions, Overfitting, Data normalization, Hyper-parameter tuning.

5) Unsupervised Learning:
Clustering algorithms (K-means), Models for density estimation (Kernel Density, Gaussian and Gaussian Mixture Models).

6) Evolutionary Algorithms:
Genetic algorithms, Evolutionary strategies, Novelty search, Quality-Diversity optimisation.

Teaching methods

The module is taught through lectures, practical exercises and quizzes to reinforce what has been taught in lectures, and computer-based coursework exercises done during lab sessions. The coursework exercises are in the form of mini-projects in which students will apply the methodology seen in class to solve machine learning problems.

An online service will be used as a discussion forum for the module. 


There will be computer-based coursework exercises that contribute 30% of the marks for the module. In these coursework exercises, students 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 live interactive sessions and lab sessions, teaching staff or assistants will be available to answer questions and give feedback. There will be detailed feedback on the coursework exercises, which will include written feedback on submissions.

Reading list

Module leaders

Dr Marek Rei
Dr Josiah Wang
Dr Antoine Cully