Introductory description
This module aims to provide students with an in-depth introduction to two main- areas of Machine Learning: supervised and unsupervised learning.
Module aims
The module covers the main models and algorithms for regression, classification, clustering, and probabilistic classification. Topics such as linear and logistic regression, regularisation, probabilistic (Bayesian) inference, SVMs, neural networks, clustering, and dimensionality reduction are covered. The module primarily uses the Python programming language and assumes familiarity with linear algebra, probability theory, and programming in Python.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Intro to Supervised/Unsupervised Learning
-
Decision Trees
- Linear regression: regularization, linear classifiers
- Logistic Regression, multi-class logistic regression, Support Vector Machines
- Feature selection latent factor models (PCA)
- Clustering (k-means, soft k-means)
- Ensemble methods such as Random Forest, AdaBoost, and XGBoost
- Probabilistic methods (Bayesian view)
- Model evaluation and model selection
-
Introduction to neural networks
-
Autoencoders
Learning outcomes
By the end of the module, students should be able to:
- Develop an appreciation for what is involved in models that are optimised based on data
- Understand a wide variety of learning algorithms
- Understand how to evaluate models optimised on data
- Understand applications of models to real data and problems.
Indicative reading list
- Mitchell T, Machine Learning, McGraw-Hill, 1997
- S. Rogers and M. Girolami, A first course in Machine Learning, CRC Press, 2011
- C. Bishop, Pattern Recognition and Machine Learning, 2007
- D. Barber, Bayesian Reasoning and Machine Learning, 2012
- Duda, Hart and Stork, Pattern Classification, Wiley-Interscience.
Subject specific skills
Understand the concept of learning in computer science.
Understand the difference between supervised and unsupervised learning.
Understand the difference between machine learning and deep learning.
Design and evaluate machine and deep learning models.
Transferable skills
Mathematical analysis of learning methods.
Evaluation of algorithms.
Programming skills in python.
Study time
Type |
Required |
Lectures |
30 sessions of 1 hour (20%)
|
Practical classes |
8 sessions of 1 hour (5%)
|
Private study |
112 hours (75%)
|
Total |
150 hours |
Private study description
Background reading on statistics and probability.
Reading supplementary material to reinforce the concepts covered in class.
Revision of concepts covered in class.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Assessment group D4
|
Weighting |
Study time |
Eligible for self-certification |
Individual practical assignment
|
40%
|
|
No
|
Individual practical assignment. This assignment is worth more than 3 CATS and is not, therefore, eligible for self-certification.
|
In-person Examination
|
60%
|
|
No
|
CS342 Exam
- Answers provided on Question Paper. No Answerbook required
- Students may use a calculator
|
Assessment group R3
|
Weighting |
Study time |
Eligible for self-certification |
In-person Examination - Resit
|
100%
|
|
No
|
CS342 resit examination
- Online examination: No Answerbook required
- Students may use a calculator
|
Feedback on assessment
Feedback via Tabula for coursework
Past exam papers for CS342
Pre-requisites
Students must have studied CS130 and CS131 OR CS146 and CS147 or be able to show that they have studied equivalent relevant content.
Courses
This module is Optional for:
-
Year 3 of
UCSA-G4G1 Undergraduate Discrete Mathematics
-
Year 3 of
UCSA-G4G3 Undergraduate Discrete Mathematics
-
Year 4 of
UCSA-G4G4 Undergraduate Discrete Mathematics (with Intercalated Year)
-
Year 4 of
UCSA-G4G2 Undergraduate Discrete Mathematics with Intercalated Year
-
Year 4 of
USTA-G1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)
-
USTA-G1G4 Undergraduate Mathematics and Statistics (BSc MMathStat) (with Intercalated Year)
-
Year 4 of
G1G4 Mathematics and Statistics (BSc MMathStat) (with Intercalated Year)
-
Year 5 of
G1G4 Mathematics and Statistics (BSc MMathStat) (with Intercalated Year)
This module is Option list A for:
-
Year 4 of
UCSA-G504 MEng Computer Science (with intercalated year)
-
Year 3 of
UCSA-G500 Undergraduate Computer Science
-
Year 4 of
UCSA-G502 Undergraduate Computer Science (with Intercalated Year)
-
UCSA-G503 Undergraduate Computer Science MEng
-
Year 3 of
G500 Computer Science
-
Year 3 of
G503 Computer Science MEng
-
Year 3 of
USTA-G302 Undergraduate Data Science
-
Year 3 of
USTA-G304 Undergraduate Data Science (MSci)
-
Year 4 of
USTA-G303 Undergraduate Data Science (with Intercalated Year)
This module is Option list B for:
-
Year 3 of
UCSA-G406 Undergraduate Computer Systems Engineering
-
Year 3 of
UCSA-G408 Undergraduate Computer Systems Engineering
-
Year 4 of
UCSA-G407 Undergraduate Computer Systems Engineering (with Intercalated Year)
-
Year 4 of
UCSA-G409 Undergraduate Computer Systems Engineering (with Intercalated Year)
-
Year 3 of
USTA-GG14 Undergraduate Mathematics and Statistics (BSc)
-
Year 4 of
USTA-GG17 Undergraduate Mathematics and Statistics (with Intercalated Year)
This module is Option list D for:
-
Year 3 of
USTA-G1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)