Machine Learning

General information

Degree: Master in Computer Science
Period: September - December


Provide knowledge of both theoretical and practical aspects of machine learning. Present the main techniques of machine learning and probabilistic reasoning.


Linear algebra, probability theory (briefly revised during the course). Boolean algebra, knowledge of a programming language. For a good introduction to linear algebra see: Gilber Strang, Introduction to Linear Algebra, Wellesley-Cambridge Press, 2016.


Introduction to machine learning: designing a machine learning system, learning settings and tasks, decision trees, k-nearest-neighbour estimation. Mathematical foundations: linear algebra, probability theory, statistical tests. Bayesian decision theory, maximum likelihood and Bayesian parameter estimation. Probabilistic graphical models, inference, parameters and structure learning. Discriminative learning: linear discriminant functions, support vector machines, kernels for vectorial and structured data. Neural networks: representation learning, deep architectures.

Course Information

Instructor: Andrea Passerini
Teaching assistant: Luca Erculiani
Office hours: Thursday 14:30-15:30 (send email before)
Lecture time and place: Wednesday 11:30-13:30 (room a106)
Thursday 11:30-13:30 (room a205)
Bibliography: R.O. Duda, P.E. Hart and D.G. Stork, Pattern Classification (2nd edition), Wiley-Interscience, 2001.
D. Koller and N. Friedman, Probabilistic Graphical Models, The MIT Press, 2009
J.Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, 2004.
I. Goodfellow, Y. Bengio and A. Courville, Deep Learning, The MIT Press, 2016 (online version available here).
Material: Slides and handouts (pdf format)
Introduction [slides] [handouts]
Decision Trees [slides] [handouts]
K-nearest neighbours [slides] [handouts]
Linear algebra [slides] [handouts]
Probability theory [slides] [handouts]
Evaluation [slides] [handouts]
Bayesian decision theory [slides] [handouts]
Parameter estimation [slides] [handouts]
Bayesian Networks [slides] [handouts]
Inference in BN [slides] [handouts]
Learning BN [slides] [handouts]
Naive Bayes [slides] [handouts]
Linear discriminant functions [slides] [handouts]
Support Vector Machines [slides] [handouts]
Non-linear Support Vector Machines [slides] [handouts]
Kernel Machines [slides] [handouts]
Kernels [slides] [handouts]
Deep Networks [slides] [handouts]


Modality: Exercises during course and oral examination
Exercises: Bayesian Network lab [slides] [data] [software]
Scikit-learn lab [slides] [material]
Deep Network lab [slides] [material]