The course introduces the basic concepts and models of Machine Learning (ML). The main goal is to provide a general (but grounded) idea about learning to the students, which will be useful to (1) understand more recent state-of-the-art approaches and (2) apply ML models in practice.
[DL] Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press, 2016 Free online
[BRML] Bayesian Reasoning and Machine Learning, David Barber, Cambridge University Press, 2012 Free PDF online
[ESL] The Element of Statistical Learning, Trevor Hastie and Robert Tibshirani and Jerome Friedman, Springer, 2009 Free PDF online
[PRML] Pattern Recognition and Machine Learning, Christopher M. Bishop, Springer, 2006 Free PDF online
Learning Objectives
1) Developing critical thinking on Machine Learning (ML) topics
- Learn the theoretical concepts of ML
- Be able to read, understand and discuss research papers on ML
2) Using ML models correctly in practice
- Learn how to choose/develop an ML model given a problem
- Be able to implement the whole ML pipeline (from correct data management to the model development)
Prerequisites
We assume basic knowledge of linear algebra, probability, statistics and programming. We use Python as programming language, but no previous experience is required.
Type of Assessment
The examination includes realising an individual project (with a report) and an oral discussion.
The projects must be agreed with the lecturer and are of two types:
- Type A: the student must implement 3 basic models seen in lectures and test their performance on a task
- Type B: the student must implement a single advanced model (only partially introduced in the lecture) and test its performance on a task.
The aim of the project is to demonstrate the student's ability to practically solve a given task using ML models. The project evaluation pays particular attention to how the student has applied the theoretical concepts seen in the lecture and to his or her critical thinking on the analysis of the results or any undesirable behaviour.
In the oral discussion, we assess the student's preparation on the concepts/models seen during the lectures and his ability to reason about them.
Course program
Part 1 - Basic ML Concepts
Hypothesis Space, Training as Research, Generalisation, Underfitting, Overfitting, Model Bias/Variance, Regularization and Priors, Bayesian Learning, MLE and MAP, Validation Schemes, Model Selection and Model Assessment.
Part 2 - Supervised Learning
Supervised Learning + k-NN, Decision Trees, Logistic Regression, Perceptron, Support Vector Machine, , Limitation of linear models, Basis Functions and Kernel Functions, Multi-Layer Perceptron (MLP), How to use an MLP in practice, Introduction to Pytorch
Part 3 - Unsupervised Learning
Unsupervised Learning, Graphical Models and Bayesian Networks (BN), BN and Hidden Variables
Part 4 - Advanced topics
ML for images, ML for sequences, ML for structured data