You are here: Home » Study Plan » Subject



master degree course in COMPUTER SCIENCE

Course year 1
Teaching units Unit Computational and statistical learning
Related or Additional Studies (lesson)
  • TAF: Supplementary compulsory subjects SSD: MAT/08 CFU: 6
Teachers: Giorgia FRANCHINI, Marco PRATO
Moodle portal
Exam type oral
Evaluation final vote
Teaching language Italiano
Contents download pdf download




The course aims to provide the knowledge, skills, and tools necessary to analyze from a numerical point of view a machine learning problem, selecting the most appropriate algorithm according to the peculiarities of the specific problem.
For a more complete understanding of the training objectives, please refer to the reading of the expected learning outcomes following the completion of this training course.

Admission requirements

- Differential calculus for real functions of real variables.
- Basics of linear algebra.
- Basics of probability and statistics.
- Basics of computer programming in Matlab and Python.

Course contents

The scanning of the contents for CFU is to be understood as purely indicative. In fact, it may undergo changes during the course of teaching in light of the feedback from students.

1 CFU (7 hours)
- Introduction to learning from examples
- Supervised learning: loss functions and Vapnik theory

2 CFU (14 hours)
- Linear models: ridge regression, lasso, elastic net, logistic regression
- Kernel methods and Support Vector Machines

2 CFU (14 hours)
- Statistical methods: discriminant analysis, mixture models
- Ensemble learning: random forests, decision trees
- Reinforcement learning: Q-learning

1 CFU (7 hours)
- Unsupervised learning: principal component analysis, manifold learning, clustering

3 CFU (21 hours)
- Deep learning: stochastic optimization, artificial, recurrent and convolutional neural networks
- AutoML e NAS (Neural Architecture Search)

Teaching methods

The course is delivered through face-to-face lectures and exercises that are carried out with the aid of a blackboard, audiovisual means (slides), and the computational environments Matlab and Python. Attendance to face-to-face lessons and exercises is not compulsory. Working students can use the material provided by the lecturers: notes, slides and recordings in addition to the recommended texts. The course is delivered in Italian.

Assessment methods

The exam will take place at the end of the course according to the official exam schedule. The exam is oral, lasting about 40 minutes. The exam includes the presentation of a project assigned during the class followed by two open questions on the algorithms seen in the course. These questions are aimed at evaluating: - knowledge and understanding skills; - the application of knowledge and understanding; - communication skills; - autonomy of judgment. The grade reported in the exam is given by the overall evaluation in the light of the discussion of the project and the answers to the two questions. The grade, in thirtieths, is obtained by taking the arithmetic mean of the two parts, therefore the project grade will count for 50% of the final grade, as well as the open questions. The result will be communicated to the individual student at the end of the oral exam.

Learning outcomes

1) Knowledge and understanding.
At the end of the course and through classroom lessons and individual study, it is hoped that the students will be able to know fundamental methods in machine learning, implement them within the Matlab/Python software environment, and analyze their performance in terms of efficiency and computational complexity.

2) Applied knowledge and understanding.
At the end of the course and through classroom exercises and individual work, it is hoped that the students will be able to face some machine learning problems arising from real applications, find the machine learning methods suitable for the considered problems, and develop their Matlab/Python codes.

3) Autonomy of judgment.
At the end of the course, it is hoped that the students will be able to:
a) verify their degree of learning and understanding of the concepts exposed thanks to the possibility of intervention in class;
b) reorganize the knowledge learned and implement one's own ability to critically and independently evaluate what has been learned;
c) mastering a methodological approach that leads to verifying the statements and methods presented by means of rigorous arguments.

4) Communication skills.
At the end of the course, it is hoped that the students will be able to:
a) express their knowledge correctly and logically, recognizing the required topic and responding in a timely and complete manner to the exam questions.
b) face a dialectical confrontation in a timely and coherent way, arguing with precision.

5) Learning skills
At the end of the course, it is hoped that the students will be able to:
a) acquire computational knowledge as one's own heritage, which can be used at any other moment of one's cultural path;
b) have developed an aptitude for a methodological approach that leads to an improvement of the study method with consequent deepening of the ability to learn.


Il materiale di riferimento del corso saranno le dispense e le slides dei docenti, che verranno fornite agli studenti prima dell'inizio del corso.

Eventuali testi consigliati per approfondire le tematiche sviluppate nel corso sono i seguenti:

[1] C.M. Bishop, Pattern recognition and machine learning. Springer, 2006
[2] T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, 2nd Edition. Springer, 2009
[3] I. Goodfellow, Y. Bengio, A. Courville, Deep Learning. MIT Press, 2016
[4] S. Raschka , Y. Liu , V. Mirjalili, Machine Learning with PyTorch and Scikit-Learn, Packt, 2022
[5] A. Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition. O'Reilly Media Inc., 2019