Throughout the 2020-21 academic year, we will be adapting the way we teach and assess modules in line with government guidance on social distancing and other protective measures in response to Coronavirus. Teaching will vary between online and on-campus delivery through the year, and you should read the additional information linked on the right hand side of this page for details of how we anticipate this will work. The contact hours shown in the module information below are superseded by the additional information. You can find out more about the University’s overall response to Coronavirus at: https://warwick.ac.uk/coronavirus.
CS342-15 Machine Learning
This module aims to provide students with an in-depth introduction to two main- areas of Machine Learning: supervised and unsupervised
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.
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
- Linear regression: OLS, regularization, linear classifiers
- Logistic Regression, Multi-class logistic regression Ranking Support Vector Machines
- Feature selection latent factor models (PCA)
- Clustering (k-means, soft k-means)
- 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
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, 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 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.
Mathematical analysis of learning methods.
Evaluation of algorithms.
Programming skills in python.
|Lectures||30 sessions of 1 hour (20%)|
|Practical classes||9 sessions of 1 hour (6%)|
|Private study||111 hours (74%)|
Private study description
Background reading on wireless networks.
Reading of supplemental material to reinforce the concepts covered in class.
Revision of concepts covered in class.
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 D1
|Individual practical assignment (4 labs)||40%|
The practical assessment consists of 4 labs:
1 lab on Neural Networks – 10%
1 lab on Denoising autoencoders – 10%
1 lab on Convolutional Neural Networks – 10%
|2 hour online examination (Summer)||60%|
Assessment group R
|2 hour online resit examination (September)||100%|
CS342 resit examination
Feedback on assessment
Feedback via Tabula for coursework
Students must have studied CS130 and CS131 OR CS136 and CS137 or be able to show that they have studied equivalent relevant content.
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-G4G2 Undergraduate Discrete Mathematics with Intercalated Year
USTA-G1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)
- Year 3 of G1G3 Mathematics and Statistics (BSc MMathStat)
- Year 4 of G1G3 Mathematics and Statistics (BSc MMathStat)
- Year 4 of USTA-G1G4 Undergraduate Mathematics and Statistics (BSc MMathStat) (with Intercalated Year)
This module is Option list A for:
- Year 3 of UCSA-G400 BSc Computing Systems
- Year 4 of UCSA-G401 BSc Computing Systems (Intercalated Year)
- Year 4 of UCSA-G504 MEng Computer Science (with intercalated year)
- Year 3 of UCSA-G402 MEng Computing Systems
- Year 4 of UCSA-G403 MEng Computing Systems (Intercalated Year)
- Year 3 of UCSA-G500 Undergraduate Computer Science
- Year 4 of UCSA-G502 Undergraduate Computer Science (with Intercalated Year)
- Year 3 of UCSA-G503 Undergraduate Computer Science MEng
- 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-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-GN51 Undergraduate Computer and Business Studies
- Year 4 of UCSA-GN5A Undergraduate Computer and Business Studies (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)