Page 1 of 1

Module Code - Title:


Year Last Offered:


Hours Per Week:













Grading Type:


Prerequisite Modules:

Rationale and Purpose of the Module:

Artificial Intelligence is the broader concept of machines being able to carry out tasks in a way that we would consider "smart". Machine Learning is a current application of AI based around the idea that we should be able to give machines access to data and let them learn for themselves. The module covers what is is we mean by learning from data and using patterns in data to learn from it as long as we have enough data from which to learn. We will look at how to learn from data, using basic techniques and trialing them on data sets, we will look at algorithms to make machine learning better.


1. The learning problem: feasibility of learning, error and noise 2. Theory of generalization: Effective number of hypothesis, VC bound, sample and model complexity, approximation-generalization trade-off, bias and variance 3. Linear classification and regression, logistic regression, gradient descent and feature space transformations 4. Overfitting and regularisation 5. Validation and model selection, data snooping 6. Neural Networks: Perceptrons, Multi-Layer Perceptrons and the Back-Propagation training algorithm. 7. Optimal Margin Classifiers and Support Vector Machines. 8. Parametric vs. Non-Parametric classifiers.

Learning Outcomes:

Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)

At the end of this module students will be able to: 1. Demonstrate an understanding of the theory of generalisation and its practical implications for machine learning algorithms, the concept of model complexity, in particular the VC bound and its practical interpretation. 2. Be able to apply regularization in order to prevent overfitting. 3. Demonstrate an understanding of and be able to apply non-linear transformations to feature spaces. 4. Recognise and manage under- and overfitting. 5. Apply methods for selecting one final machine learning model from among a collection of candidate machine learning models for a training dataset. 6. Apply methods for model validation, the process where a trained model is evaluated with a testing data set. 7. Apply a number of linear and non-linear and parametric and non-parametric machine learner training models e.g. linear regression, logistic regression, feed forward neural networks and Support Vector Machines.

Affective (Attitudes and Values)

At the end of this module students will be able to: 1. Differentiate and critique various techniques that could be used and be able to justify an appropriate classification technique for a given a classification problem. 2. Demonstrate an awareness of and be able to implement appropriate protocols and practices to manage bias and data snooping when training a machine learner, for a given data set. 3. Demonstrate an awareness of the impact of the availability of data, for a given data set used to train the machine learner, when assessing the machine learner's performance.

Psychomotor (Physical Skills)


How the Module will be Taught and what will be the Learning Experiences of the Students:

The module will be delivered using using on-line lectures, virtual labs and tutorials.

Research Findings Incorporated in to the Syllabus (If Relevant):

Prime Texts:

Yaser Abu Mostafa, Malik Magdon-Ismailm Hsuan-Tien Lin (2012) Learning from Data , AML
Aurelien Geron (2017) Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems , O'Reilly
Andrew Ng (2020) Machine Learning Yearning ,

Other Relevant Texts:

Andreas C. Müller and Sarah Guido (2016) Introduction to Machine Learning with Python: A Guide for Data Scientists , O'Reilly
Trevor Hastie, Robert Tibshirani, Jerome Friedman (2009) The elements of statistical learning , Springer

Programme(s) in which this Module is Offered:


Semester - Year to be First Offered:

Module Leader: