This module is intended as an introduction to the mathematical underpinnings of machine learning. It focuses on the mathematical principles underlying probabilistic and statistical approaches to 
machine learning, and these concepts are exemplified with small number of models and methods. The module also discusses techniques for applying and evaluating these approaches.

Content: Students will study the mathematical foundations of statistical machine learning. In the process, students will gain some mathematical insight about these (and related) approaches to 
probabilistic & statistical models, their strengths and weaknesses, and how to effectively evaluate their performance on data. Part of the course involves hands on experience of using and evaluating 
these techniques on real world data.

A brief outline of the topics covered is as follows:

Probability theory
	Decision theory
	Information theory
	Density estimation
	Regression
	Classification
	Neural networks (an introduction)
Key concepts and techniques will include:

Probabilistic models
	Maximum likelihood parameter estimation 
	Bayesian approaches to parameter estimation
	Multivariate gaussians and linear gaussian models
	Clustering and mixture modelling
	Optimisation approaches for machine learning
	Evaluation techniques and concepts
Intended Learning Outcomes: By the end of the course, students will have a foundational mathematical understanding of supervised learning (e.g. regression and classification) and unsupervised 
learning (e.g. clustering and density estimation). They will have a perspective on how probability and statistics relates to machine learning and be able to analyse models with tools from probability 
theory, decision theory and information theory. Students will be able to apply algorithms to machine learning tasks on real data to estimate appropriate parameter values and to evaluate the resulting 
models effectively. Students will also be able to write clearly about machine learning ideas and experimental findings.

Prerequisites: This module is designed to give students the mathematical foundations for a number of core/common machine learning algorithms. There is a significant practical aspect too, in which 
students will learn to use the methods and evaluate their performance on real world data. However, the module is not purely about learning to use machine learning libraries. It is about learning how 
and why they work too. Incoming students are expected to have studied some mathematical content at undergraduate level and to have confirmed that they meet the mathematical prerequisites, as well as 
having a rudimentary programming skill in Python. 

More detailed information on prerequisites can be found here: https://www.ucl.ac.uk/information-studies/sites/information-studies/files/inst0060_prerequisites.pdf  

IMPORTANT: PLEASE READ THE PREREQUISITES DOCUMENT LINKED TO ABOVE and make sure you have the required level of mathematical knowledge. We have a number of students each year who start the module and find the mathematics too difficult.

This module is a prerequisite for INST0075 Machine Learning Methods.