MEng Software Engineering
Year of entry: 2020
Course unit details:
Machine Learning and Optimisation
|Unit level||Level 2|
|Teaching period(s)||Semester 1|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||Yes|
The world is filling up with data - billions of images online, billions of supermarket transactions, billions of events pouring out of our everyday lives. Machine Learning is about designing algorithms capable of automatically learning patterns from this supplied data. Examples of this are in online shopping like Amazon.com - which learns what products you like to buy, or in spam detection systems, which learn what spam looks like as you tag it in your spam folder.
In this course unit we will introduce you to the basics of these algorithms, implementing a basic spam filter and a handwriting recognition engine.
|Unit title||Unit code||Requirement type||Description|
|Fundamentals of Artificial Intelligence||COMP14112||Pre-Requisite||Compulsory|
|Mathematical Techniques for Computer Science||COMP11120||Pre-Requisite||Compulsory|
|Foundations of Pure Mathematics B||MATH10111||Pre-Requisite||Compulsory|
To enrol students are required to have taken COMP11120 and COMP14112. Or, if you are on a Computer Science and Maths programme you must have taken MATH10111.
Our aims include the introduction of the essential concepts behind key machine learning techniques, the methodologies for building machine learning systems, the approaches for learning from data, and the experimental methods on how to evaluate the performance of a learning system and get the best performance from it. Also, we aim to provide the necessary mathematical background required to understand how the methods work. This course covers basics on both supervised and unsupervised learning paradigms and is pitched towards students with scientific/mathematical background interested in adaptive techniques for learning from data as well as data analysis and modelling.
Specifically, the course will cover the following. A general introduction to key concepts in machine learning and the development of the field. Essential knowledge on how to build a supervised machine learning system, including classification and regression, with respect to model architecture (e.g., instance-based model, linear model, linear basis function model, kernel methods, single- and multi-layer perceptrons, etc.), loss functions (e.g., sum of squares error, regularisation, cross-entropy, etc.), and optimisation approaches for training (e.g., basic optimality conditions, (stochastic) gradient descent, etc.). Basic knowledge on parametric, non-parametric, deterministic and probabilistic models. Essential knowledge on clustering analysis. Essentials on how to measure performance of a machine learning system for classification, regression and clustering. Basics on bias and variance issues, over-fitting and under-fitting. Essential knowledge and practical skills on how to perform machine learning experiments, data usage for model training, model selection and model testing.
- Understand essential concepts in machine learning
- Understand the fundamental principals of the studied learning techniques and essential elements for building a machine learning system
- Understand the advantages and disadvantages of the studied supervised learning methods, and decide which is appropriate for a particular application
- Understand basic clustering algorithms studied in the course and their applications to clustering analysis
- Understand the differences between parametric and non-parametric, between deterministic and probabilistic models, and interpret the results
- Understand how to use data, design experiments for learning, model selection and evaluation, and make observations from results
- Understand general factors that affect the performance of a machine learning system, and be able to use these to analyse and learn from data
- Machine Learning Basics
- k-Nearest Neighbours
- Machine Learning Experiments
- Machine Learning Models
- Loss Functions
- Training and Optimisation
- Artificial Neural Networks
- Support Vector Machines
- Clustering Analysis
- Deep Learning Models
Teaching and learning methods
Lectures & Revision Classes:
22 hours in total, 2-hour session per week
10 hours in total, 5 x 2-hour sessions, partly credited to COMP20910/COMP20920
Face to face marking of all project work in the lab
- Analytical skills
- Project management
- Problem solving
- Written communication
|Practical skills assessment||30%|
Face to face marking of all project work in lab
1. Pattern Recognition and Machine Learning. Bishop, Christopher M. ISBN: 978-0387-31073-2. PUblished by springer. 2006. Core material.
2. Introduction to machine learning. Alpaydin, E. ISBN: 978-0-262-02818-9. Published by The MIT Press. 2014.
3. Machine learning: A probabilistic perspective. Murphy, Kevin P. ISBN: 978-0-262-01802-9. Published by The MIT Press. 2012.
|Scheduled activity hours|
|Assessment written exam||2|
|Practical classes & workshops||12|
|Independent study hours|
|Tingting Mu||Unit coordinator|