Didattica‎ > ‎

Machine Learning for Safety Systems


Come sapete la didattica frontale è sospesa, al momento, fino al 3 Aprile. Per non perdere un elevato numero di lezioni, l'Ateneo invita i docenti a provare forme alternative per impartire le lezioni, come teledidattica, videolezioni o altri sistemi.
Personalmente, per quanto riguarda il corso di Machine Learning for Safety Systems (MLSS), ho deciso di preparare le videolezioni che distribuirò, con la stessa cadenza delle lezioni ordinarie, e insieme al materiale aggiuntivo e tutte le comunicazioni, su Google Classroom (codice del corso:
Se non lo avete già fatto, vi chiederei di inviarmi una email con il vostro indirizzo email istituzionale, anche per creare una mailing list a cui potrò indirizzare informazioni e aggiungervi a Classroom.

Course Description and Motivation

The course objective is to provide a general overview of the modern techniques of Machine Learning and their applicability to safety systems. In addition to the description of the foundations of Machine Learning, the course provides the necessary background in order to understand and apply Machine Learning approaches to classification, regression and clustering techniques to solve practical problems in different applicative scenarios by mean of neural networks and other learning techniques. During the course, it will also describe the use of specific software packages, such as WEKA, for the implementation, use and validation of the modern Machine Learning techniques. At the end of the course students will be able to handle different Machine Learning models, to tune them to specific applications, and to design approaches that may scale with large amount of data.
  • Knowledge and understanding: to know the problems, methodologies and applications of Machine Learning techniques.
  • Applying knowledge and understanding: to implement different classification, regression and clustering algorithms to solve problems in different applicative scenarios.
  • Making judgements: to develop adequate critical skills through practical activities in implementing peculiar simulative algorithms and interpreting the obtained results.
  • Communication skills: to improve ability to critically expose the matters learned during the course.
  • Learning skills: to improve autonomous and independent study capacity.

Scientific Sector (SSD)

ING-IND/31 (Electrical Engineering)

Overview and Credits

MSZR; First year; Second semester. 6 CFUs.


Students are expected to have the following background:

  • Basic linear algebra
  • Basic optimization theory
  • Basic probability theory
  • (Optional but preferred) Knowledge of basic computer programming, at a level sufficient to write a reasonably non-trivial computer program


Written test.


  1. Course overview
  2. Introduction to Machine Learning: motivation to Machine Learning, Data Mining, challenges and application examples.
  3. Signal and sequence representation.
  4. Basics on probability theory.
  5. Basics on estimation theory. Maximum likelihood, MAP, MMSE and MAE estimation.
  6. Basics on optimization theory. Unconstrained and constrained optimization: Lagrangian function and KKT conditions. The regularization.
  7. Meta-heuristics: genetic algorithms, Random Search, Simulated Annealing and Tabu Search.
  8. Data preparation. Pre-processing: mean removal, de-trending and dimensionality reduction. SVD, PCA, LDA e CCA. Outlier removal.
  9. Probability density estimation: parametric and non-parametric methods. Parzen windowing.
  10. Instance-based learning. The k-NN algorithm. Bayesian classification and Naive Bayes classifier. Associacion rules.
  11. Linear learning: optimal estimate and LMS algorithm. Logistic regression.
  12. Neural Networks: the neuron, the perceptron, the MLP, deep networks. The back propagation algorithm.
  13. Kernel Machines: the RBF and the Support Vector Machine (SVM).
  14. Decision trees: ID3, CART and C4.5. Rule extraction.
  15. Testing Machine Learning algorithms. Indicators: confusion matrix, True Positive Rate, False Positive Rate, Precision, Recall, F-Measure, AUC, ROC analysis. K-fold Cross Validation, One Leave Out. Grid search.
  16. Clustering techniques: K-means, EM algorithm, hierarchical clustering.
  17. Monte Carlo methods. Sampling.
  18. Graphical models: directed and undirected models. Inference and diagnosis.
  19. Hidden Markov Models (HMMs).
  20. Combining several algorithms: voting, bagging, boosting, mixture of experts. Random Forest
  21. Reinforcement Learning.
  22. Fuzzy logic and fuzzy reasoning. Fuzzy vs. crisp. Fuzzyfication and defuzzyfication, membership function. Mamdani and Sugeno rules.
  23. WEKA: description and usage of the software. The arff file format. Examples of applications.
  24. Hints of MATLAB and Python programming for Machine Learning algorithm development. Examples of applications.
  25. Ethics in Machine Learning.
  26. Python for Machine Learning. Advanced topics on Python to work with ML applications. (Not mandatory)

Detailed contents.

Suggested Books

  • Stephen Marsland, Machine Learning: An Algorithmic Perspective, 2nd edition, Chapman and Hall/CRC, 2014. (Suggested)
  • Ethem Alpaydin, Introduction to Machine Learning, 3rd edition, MIT Press, 2014.

  • Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, Data Mining: Practical Machine Learning Tools and Techniques, 4th edition, Morgan Kaufmann, 2016.

  • Andriy Burkov, The Hundred-Page Machine Learning Book, 2019.
  • Lecture notes.

Further reading

  • Sergios Theodoridis, Machine Learning: A Bayesian and Optimization Perspective, Academic Press, 2015.

  • Kevin P. Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.

  • Jiawei Han, Micheline Kamber, Jian Pei, Data Mining: Concepts and Techniques, 3rd edition, Morgan Kauffmann, 2012.

Time and Location

The course will start on February 25 2020, with the following schedule:

  • Tuesday, 12:00 - 14:00, Room 12

  • Wednesday, 15:00 - 18:00, Room 34

Office Hours

Every day by appointment.


The course is also available on Google Classroom, with the code: imdjsqi.

Course Materials

Lecture Slides:

  1. Overview
  2. Introduction
  3. Signal and sequence representation
  4. Basics on probability theory
  5. Basics on estimation theory
  6. Basics on optimization theory
  7. Meta-heuristics
  8. Data preparation
  9. Probability density estimation
  10. Instance-based algorithms
  11. Linear models
  12. Neural networks
  13. Kernel machines and SVM
  14. Decision trees
  15. Testing ML algorithms
  16. Clustering algorithms
  17. Monte Carlo methods
  18. Graphical models
  19. Hidden Markov models
  20. Ensemble learning
  21. Reinforcement learning
  22. Fuzzy logic
  23. WEKA
  24. Python
  25. Ethics in Machine Learning
  26. Python for Machine Learning

Lecture Notes:

  • Note 1
  • Note 2

Exams Session

The verbalization takes place on the dates indicated below, at the instructor's office:

  • I round: 22 June 2020 at 14:00, Room tbd (Exam reservation date ends on 21 June 2020).

  • II round: 16 July 2020 at 14:00, Room tbd (Exam reservation date ends on 15 July 2020).

  • III round: 14 September 2020, at 14:00, Room tbd (Exam reservation date ends on 13 September 2020).

  • Special round: 29 October 2020, at 14:00, in instructor's Office (Exam reservation date ends on 28 October 2020). Please note that this round is reserved only for part-time, off-course, repeating and graduating students.

  • IV round: 14 January 2021 at 14:00, Room tbd (Exam reservation date ends on 13 January 2021).

  • V round: 18 February 2021 at 14:00, Room tbd (Exam reservation date ends on 17 February 2021).

  • Special round: 13 April 2021 at 14:00, in instructor's Office, (Exam reservation date ends on 12 April 2021). Please note that this round is reserved only for part-time, off-course, repeating and graduating students.

 Please, note that the exam is reserved electronically via the INFOSTUD system.