First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Engineering
Course unit
INP6075419, A.A. 2018/19

Information concerning the students who enrolled in A.Y. 2018/19

Information on the course unit
Degree course Second cycle degree in
IN0527, Degree course structure A.Y. 2008/09, A.Y. 2018/19
bring this page
with you
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination MACHINE LEARNING
Department of reference Department of Information Engineering
E-Learning website
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge ALESSANDRO CHIUSO ING-INF/04
Other lecturers GIULIA PRANDO

Course unit code Course unit name Teacher in charge Degree course code

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Educational activities in elective or integrative disciplines ING-INF/05 Data Processing Systems 3.0
Core courses ING-INF/04 Automatics 3.0

Course unit organization
Period First semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 6.0 48 102.0 No turn

Start of activities 01/10/2018
End of activities 18/01/2019
Show course schedule 2019/20 Reg.2008 course timetable

Examination board
Board From To Members of the board
3 A.A. 2018/2019 01/10/2018 15/03/2020 CHIUSO ALESSANDRO (Presidente)
VANDIN FABIO (Membro Effettivo)
2 A.A. 2017/2018 01/10/2017 15/03/2019 CHIUSO ALESSANDRO (Presidente)
VANDIN FABIO (Membro Effettivo)
ZORZI MATTIA (Supplente)

Prerequisites: Basic Knowledge of Mathematics, Probability Theory, Statistics, Linear Algebra and Algorithms. Basic programming skills.
Target skills and knowledge: The aim of this course is to provide the fundamentals and basic principles of the learning problem as well as to introduce the most common algorithms for regression and classification. The course will be complemented by hands-on experience through computer simulations. At the end of the course the student will have the following skills and knowldedge:
1. The student will know the basic principles and the main methodologies of machine learning,
2. He will be able to deal with both supervised and unsupervised learning problems.
3. He will be able to apply these methodologies to different scenarios and problems.
4. He will be able to select the best technique for the solution of a specific learning problem on the basis of the characteristics of the problem and of the available data.
5. He will have the skills allowing him to use and to adapt software applications to solve the considered problems.
6. If possible, the skills relative to more advanced and modern topics such as boosting, sparsity and deep learning will be provided.
Examination methods: The evaluation of the acquired skills and knowledge will be performed using two contributions:
1. A written exam without the book, where the student must solve some problems, with the aim of verifying the acquisition of the main ingredients of a learning problem and of the main machine learning tools, the analytical ability to use these tools and the ability to interpret the typical results of a practical machine learning problem.
2. Computer simulations (optional) with the aim of acquiring the practical competences for using machine learning tools. These simulations, to be performed at home, allows to verify the ability of practically exploiting the acquired theoretical concepts. The student will have to provide a brief document explaining the employed methodologies used to solve the assigned problem together with the obtained results.

The final grade will be based on the written test with a bonus up to 3 point for the students who will hand in also the lab assignments.
Assessment criteria: The evaluation of the acquired skills and knowledge will consider the following aspects:
1. The completeness of the acquired knowledge for what concerns the basic tools for prediction (regression and classification).
2. The analytical and practical ability in the use of these tools for the solution of basic problems.
3. The capability of using a proper technical terminology, both oral and written
4. The originality and independence in identifying the most suited methodologies for the solution of a specific machine learning problem
5. The ability to interpret the results in a practical machine learning problem.
6. The skills in the usage of the machine learning software tools
7. The practical and analytic skills in the usage of these tools for the solution of simple problems
Course unit contents: Motivation; components of the learning problem and applications of Machine Learning. Supervised and unsupervised learning.

PART I: Supervised Learning

1. Introduction: Data, Classes of models, Losses.

2. Probabilistic models and assumptions on the data. The regression function. Regression and Classification.

3. When is a model good? Model complexity, bias variance tradeoff/generalization (VC dimension, generalization error).

4. Models for Regression: Linear Regression (scalar and multivariate), subset selection, linear-in-the-parameters models, regularization.

5. Classes of non linear models: Sigmoids, Neural Networks.

6. Kernel Methods: SVM.

7. Models for Classification: Logistic Regression, Neural Networks, Perceptron, Naïve Bayes Classifier, SVM, Deep Learning.

8. Validation and Model Selection: Generalization Error, Bias-Variance Tradeoff, Cross Validation. Model complexity determination.

PART II: Unsupervised learning

1. Cluster analysis: K-means Clustering, Mixtures of Gaussians and the EM estimation.

2. Dimensionality reduction: Principal Component Analysis (PCA).
Planned learning activities and teaching methods: Theoretical classes using both the blackboard (because it allows to keep the right pace in class and facilitate the interaction with students during class) and slides or other computer-based material when this allows for a better understanding of the presented topics (for example complex drawings, animations showing the execution of the algorithms, etc..). Problem solving sessions, involving students in the solution; Computer simulations (in the lab), also employing case-studies.
All the material used during the lectures will be made available on the elearning patform ( ).
Additional notes about suggested reading: The course will be based on the four textbooks: “Understanding Machine Learning: from Theory to Algorithms”, "Machine Learninga probabilistic perspective", "Pattern Recognition and Machine Learning", and "The Elements of Statistical Learning" (see Section "Testi di Riferimento").

Additional material and detailed information regarding the exam are available on the course website, accessible from
Textbooks (and optional supplementary readings)
  • T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning. --: Springer, 2008. Cerca nel catalogo
  • C.M. Bishop, Pattern Recognition and Machine Learning. --: Springer, 2006. Cerca nel catalogo
  • Shalev-Shwartz, S. and Shai Ben-David, Understanding machine learning: From theory to algorithms. --: Cambridge University Press, 2014. Cerca nel catalogo
  • K.P. Murphy, Machine Learning A Probabilistic Perspective. --: MIT Press, 2012. Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Laboratory
  • Questioning
  • Problem solving
  • Loading of files and pages (web pages, Moodle, ...)

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)
  • Python, Jupyter notebook

Sustainable Development Goals (SDGs)
Industry, Innovation and Infrastructure