Academic Year 2022-2023
The course will start on Mar. 5, 2024. Teams link.
Instructors: Prof. Fabio Roli, Prof. Battista Biggio
MSc in Computer Engineering, Cybersecurity and Artificial Intelligence
MSc in Electronic Engineering
PhD Program in Electronic and Computer Engineering
GitHub repository for course material: https://github.com/unica-ml/ml
Course objectives and outcome
Objectives
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.
Outcome
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, room I_IB (ex aula BA)
- Wednesday, h. 12:00-14:00, room I_ID (ex aula AN)
Course Outline (6 CFU)
- Introduction (2 hours)
- Bayesian Decision Theory and Gaussian Pattern Classifiers (10 hours)
- Non parametric methods and k-nn classifier (4 hours)
- Linear discriminant functions and support vector machines (6 hours)
- Artificial neural networks (4 hours)
- Performance evaluation (2 hours)
- Clustering Methods (2 hours)
- Adversarial machine learning (2 hours)
- Exercises (12 hours)
- Python Programming language and computer exercises (16 hours)
Course grading and material (6 CFU)
- Oral examination (1) + Home computer-exercise assignment (2)
- You can do the written assessment at the end of the course instead of the oral examination
- Teams of 3 students maximum can do the home computer exercise
- Grading policy = Oral examination (20/30) + Computer exercise (10/30)
- Reference books:
- Pattern Recognition and Machine Learning, C. Bishop, Springer, 2007
- Dive into Deep Learning, A. Zhang, Z. C. Lipton, M. Li, A. J. Smola, 2020, available at: https://d2l.ai
- Pattern Classification (2^ edition), R. O. Duda, P. E. Hart, e D. G. Stork, John Wiley & Sons, 2000
Slides (and Exercises)
Part 1 - Introduction
Part 2 - Bayesian Decision Theory and Gaussian Pattern Classifiers (Exercises on Bayesian Classifiers) (Exercises on Gaussian Classifier) (Assessment)
Part 3 - Elements of Nonparametric Techniques: The kNN Classifier (Exercises on kNN)
Part 4 - Elements of Linear Discriminant Functions (with Exercises)
Part 5 - Neural Networks (updated!)
Part 6 - Elements of Performance Evaluation
Part 7 - Elements of Data Clustering (Exercises on Clustering)
Laboratory
Lab. 1 - Python basics (Notebook 1)
Lab. 2 - Data Sampling, Visualization, Learning and Classification (Notebook 2)
Lab. 3 - Gaussian Classifier (Notebook 3)
Part 4 - Performance Evaluation and Hyperparameter Estimation (Notebook 4)
Part 5 - Neural Networks with PyTorch (Notebook 5)
Part 6 - Adversarial Examples on ImageNet Classifiers (Notebook 6)
Tutor (2021/2022)
Session 1 - Slides-01 (Whiteboard-01)
Session 2 - Slides-02 (Whiteboard-02)
Session 3 - Slides-03 (Whiteboard-03) (Notebook-03)
Session 4 - Slides-04 (Whiteboard-04)
Session 5 - Slides-05 (Whiteboard-05)
Session 6 - Slides-06 (Whiteboard-06)
Session 7 - Slides-07 (Whiteboard-07)