Introductory description
This module aims to provide students with an indepth introduction to two main areas of Machine Learning: supervised and unsupervised
Module aims
It will cover some of the main models and algorithms for regression, classification, clustering and probabilistic classification. Topics such as linear and logistic regression, regularisation, probabilistic (Bayesian) inference, SVMs and neural networks, clustering and dimensionality reduction. The module will use primarily 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: OLS, regularization, linear classifiers
 Logistic Regression, Multiclass logistic regression Ranking Support Vector Machines
 Feature selection latent factor models (PCA)
 Clustering (kmeans, soft kmeans)
 Ensemble methods such as Random Forest and Ada Boost
 Probabilistic methods (Bayesian view)
 Model evaluation and model selection

Introduction to neural networks and convolutional neural networks

Autoencoders
Learning outcomes
By the end of the module, students should be able to:
 Develop an appreciation for what is involved in Learning models from data
 Understand a wide variety of learning algorithms
 Understand how to evaluate models generated from data
 Apply the algorithms to a real problem, optimize the models learned and report on the expected accuracy that can be achieved by applying the models
Indicative reading list
 Mitchell T, Machine Learning, McGrawHill, 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, WileyInterscience.
Subject specific skills
Understand the concept of learning in computer and science.
Understand the difference between supervised and unsupervised learning.
Understand the difference between machine lea ring and deep learning.
Design and evaluate machine and deep learning algorithms.
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 of supplemental 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 D3

Weighting 
Study time 
Individual practical assignment

40%


Individual practical assignment. This assignment is worth more than 3 CATS and is not, therefore, eligible for selfcertification.

Inperson Examination

60%


CS342 Exam
 Answerbook Pink (12 page)
 Students may use a calculator

Assessment group R2

Weighting 
Study time 
Inperson Examination  Resit

100%


CS342 resit examination
 Answerbook Pink (12 page)
 Students may use a calculator

Feedback on assessment
Feedback via Tabula for coursework
Past exam papers for CS342
Prerequisites
Students must have studied CS130 and CS131 OR CS136 and CS137 or be able to show that they have studied equivalent relevant content.
Courses
This module is Optional for:

UCSAG4G1 Undergraduate Discrete Mathematics

Year 3 of
G4G1 Discrete Mathematics

Year 3 of
G4G1 Discrete Mathematics

Year 3 of
UCSAG4G3 Undergraduate Discrete Mathematics

Year 4 of
UCSAG4G4 Undergraduate Discrete Mathematics (with Intercalated Year)

Year 4 of
UCSAG4G2 Undergraduate Discrete Mathematics with Intercalated Year

USTAG1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)

Year 3 of
G1G3 Mathematics and Statistics (BSc MMathStat)

Year 4 of
G1G3 Mathematics and Statistics (BSc MMathStat)

USTAG1G4 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
UCSAG504 MEng Computer Science (with intercalated year)

UCSAG500 Undergraduate Computer Science

Year 3 of
G500 Computer Science

Year 3 of
G500 Computer Science

UCSAG502 Undergraduate Computer Science (with Intercalated Year)

Year 4 of
G502 Computer Science with Intercalated Year

Year 4 of
G502 Computer Science with Intercalated Year

UCSAG503 Undergraduate Computer Science MEng

Year 3 of
G500 Computer Science

Year 3 of
G503 Computer Science MEng

Year 3 of
G503 Computer Science MEng

USTAG302 Undergraduate Data Science

Year 3 of
G302 Data Science

Year 3 of
G302 Data Science

Year 3 of
USTAG304 Undergraduate Data Science (MSci)

Year 4 of
USTAG303 Undergraduate Data Science (with Intercalated Year)
This module is Option list B for:

Year 3 of
UCSAG406 Undergraduate Computer Systems Engineering

Year 3 of
UCSAG408 Undergraduate Computer Systems Engineering

Year 4 of
UCSAG407 Undergraduate Computer Systems Engineering (with Intercalated Year)

Year 4 of
UCSAG409 Undergraduate Computer Systems Engineering (with Intercalated Year)

USTAGG14 Undergraduate Mathematics and Statistics (BSc)

Year 3 of
GG14 Mathematics and Statistics

Year 3 of
GG14 Mathematics and Statistics

Year 4 of
USTAGG17 Undergraduate Mathematics and Statistics (with Intercalated Year)