EE Department Intranet -
Close window CTRL+W

ELEC60019 Machine Learning

Lecturer(s): Prof Krystian Mikolajczyk; Dr Deniz Gunduz


The aim of this course is to introduce students to the theory and practice of modern machine learning methods. Extracting information from the unprecedented amount of data (aka. big data) that has been collected in recent years is a very important task in science and engineering, with great social and economical impact. Machine learning addresses the problem of how computers can learn and extract information automatically from data, and it is behind many methods used in artificial intelligence, data mining or adaptive system design. It is widely applied in practice in most disciplines where data is available, including, e.g., electrical engineering, computer science, or medicine. Students will learn the main concepts from theory and practice of how to convert observations given in the form of data into expertise. You will learn how to model learning and inference problems and how to design and analyse algorithms to solve them. The module will also introduce popular machine learning algorithms.

Learning Outcomes

Intellectual skills:
You will become familiar with standard machine learning scenarios and the general methodology to learn from data under various conditions. You will have an understanding of basic concepts and ideas, as well as the theory underlying machine learning problems and algorithms. You will become familiar with several machine learning algorithms, the standard tools and techniques used in their design and analysis, and will be able to evaluate and analyse them.

Practical Skills:
You will learn how to approach real world machine learning problems, how to formulate them, pre-process data, choose appropriate algorithm and its parameters.

Transferable / Key Skills:
You be able to employ your knowledge in machine learning in various projects where learning from data is essential. You will also have a better understanding of problems related to data analysis.


Background and overview
Overview of terminology, formulations and concepts,
Introduction of main tasks, error and performance metrics, data preparation/annotation,
Components of learning, data representation, linear classification, formulation of ML problem,

Hoeffding's inequality, VC inequality, , overfitting, performance/complexity, bias/variance trade-off,

Empirical risk minimization and dealing with noise
Feature transformation, model selection and validation, regularisation

Neural Networks
Logistic regression, gradient descent, Perceptron, MLP, backpropagation,

SVM and kernels
Hyperplane, separation with hard margin, soft margin, support vector machines, kernel methods

Unsupervised learning
Clustering, k-means algorithm

Reinforcement learning
Formulation, comparison with other ML methodologies, agent/environment/policy, actor/critic

Co-requisite topics:
EE3-10 Mathematics for Signals and Systems

Prerequisite topics:
Although the course does not have prerequisite modules, familiarity with basic concepts from linear algebra, probability theory and statistics, vector calculus is required, as well as familiarity with some programming language to be able to code non-trivial algorithms (e.g., MATLAB, python, C++, Java, etc). Some knowledge from optimization might also prove helpful.

Exam Duration: 3:00hrs
Coursework contribution: 20%

Term: Autumn

Closed or Open Book (end of year exam): N/A

Coursework Requirement:

Oral Exam Required (as final assessment): N/A

Prerequisite module(s): None required

Course Homepage: Blackboard

Book List:
Please see Module Reading list