Machine Learning

Machine Learning course
Academic Year 2019-2020
MSc in Computer Engineering, Cybersecurity and Artificial Intelligence
MSc in Electronic Engineering
PhD programme in Electronic and Computer Engineering


News: The course mailing list is active. To subscribe, send an email to ml-unica+subscribe (at) 

Course objectives and outcome


The objective of this course is to provide students with the fundamental elements of machine learning and its applications to pattern recognition. The main concepts and methods of machine learning and statistical pattern recognition are presented, as well as basic methods to design and evaluate the performance of a pattern recognition system.


An understanding of fundamental concepts and methods of machine learning, statistical pattern recognition and its applications. An ability to analyse and evaluate simple algorithms for pattern classification. An ability to design simple algorithms for pattern classification,  code them with Python programming language and test them with benchmark data sets. 

Class schedule

Tuesday, h. 15:00-18:00,  I_IB classroom 

Wednesday, h. 15:00-18:00, I_ID classroom

Syllabus - MSc in Computer Engineering, Cybersecurity and Artificial Intelligence (6 CFU)
1. Introduction (2 hours)
2. Bayesian decision theory (6 hours)
3. Introduction to pattern classification methods (2 hours)
4. Parametric methods (4 hours)
5. Non parametric methods and decision trees (4 hours)
6. Linear discriminant functions and support vector machines (4 hours)
7. Artificial neural networks (4 hours)
8. Performance evaluation (2 hours)
9. Clustering Methods (2 hours)
10. Adversarial machine learning (2 hours)
11. Exercises (12 hours)
12. Python Programming language and computer exercises (16 hours)
Course grading and material (6 CFU)
• Home computer-exercise assignment + Oral examination
   — You can do intermediate assessments instead of the oral examination
   — You can do intermediate assessments instead of the home computer- exercise assignment
   — You can do the oral examination only after the computer exercise — Teams of 3 students maximum can do the home computer exercise
• Grading policy = Computer exercise (10/30) + Oral examination (20/30)
• Reference book: Pattern Classification (2^ edition), R. O. Duda, P. E. Hart, e D. G. Stork, John Wiley & Sons, 2000


Slides (and Exercises)

This is the material of the academic year 2018/2019. Updates will be made available in the due course

Part 1 - Introduction to the course [updated]

Part 2 - Elements of Bayesian Decision Theory (Base Rate Fallacy) (Exercises) [updated]

Part 3 - Introduction to Statistical Classification Techniques

Part 4 - Elements of Parametric Techniques (Exercises)

Part 5 - Elements of NonParametric Techniques (Exercises)

Part 6 - Elements of Linear Discriminant Functions (Exercises)

Part 7 - Neural Networks

Part 8 - Elements of Performance Evaluation

Part 9 - Elements of Data Clustering (Exercises)


Part 1 - Python basics

Part 2 - Data Sampling, Visualization, Learning and Classification (Code)

Part 3 - Performance Evaluation (Code)

Part 4 - Parameter Estimation (Code)

Part 5 - Short seminar on Adversarial Machine Learning (Code)


Prof. Fabio Roli  

Dr. Battista Biggio   battista.biggio(at)