The objective of this module is to familiarise students with the fundamental theoretical concepts in machine learning, as well as to instruct students in the practical aspects of applying machine learning algorithms. Key techniques in supervised machine learning will be covered, such as classification using decision trees and nearest neighbour algorithms, and regression analysis. A particular emphasis will be placed on the evaluation of the performance of these algorithms. In unsupervised machine learning, a number of popular clustering algorithms will be presented in detail. Further topics covered include ensemble learning, dimension reduction, and model selection. This module requires strong mathematical ability, as some of the algorithms require some understanding of linear algebra and statistical concepts. Exercises and assignments will use the machine learning libraries in Python.
Learning Outcomes:
On completion of this module, students will be able to:
1) Distinguish between the different categories of machine learning algorithms;
2) Identify a suitable machine learning algorithm for a given application or task;
3) Run and evaluate the performance of a range of algorithms on real datasets using Python libraries.