Andrea Passerini

Machine Learning

General information

Degree: Master in Computer Science
Period: September - December


Provide knowledge of both theoretical and practical aspects of machine learning, of the main techniques of supervised and unsupervised learning and probabilistic reasoning. Show applications of machine learning techniques to real world problems.


Linear algebra, probability theory (briefly revised during the course). Boolean algebra, knowledge of a programming language.


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. Clustering: k-means, hierarchical clustering. Kernel Machines: kernels, support vector machines for classification, regression and ranking, kernel construction, kernels for structured data. Neural networks: representation learning, deep architectures.

Course Information

Instructor: Andrea Passerini
Office hours: Thursday 15:00-16:00 (send email before)
Lecture time and place: Wednesday 9:00-11:00 (room a107)
Thursday 16:00-18:00 (room a107)
Bibliography: R.O. Duda, P.E. Hart and D.G. Stork, Pattern Classification (2nd edition), Wiley-Interscience, 2001.
C.M.Bishop, Pattern Recognition and Machine Learning, Springer, 2006.
J.Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, 2004.
B. Schölkopf and A.J. Smola,Learning with Kernels, The MIT Press, 2002.
T. Mitchell, Machine Learning, McGraw Hill, 1997.
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]
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]
Evaluation [slides] [handouts]


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