AVVISO RELATIVO ALLA SOSPENSIONE DELLA DIDATTICA
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: imdjsqi). 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)
INGIND/31 (Electrical Engineering)
Overview and Credits
MSZR; First year; Second semester.
6 CFUs.
Prerequisites
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 nontrivial computer program
Grading
Written test.
Syllabus
 Course overview
 Introduction to Machine Learning: motivation to Machine Learning, Data Mining, challenges and application examples.
 Signal and sequence representation.
 Basics on probability theory.
 Basics on estimation theory. Maximum likelihood, MAP, MMSE and MAE estimation.
 Basics on optimization theory. Unconstrained and
constrained optimization: Lagrangian function and KKT conditions. The
regularization.
 Metaheuristics: genetic algorithms, Random Search, Simulated Annealing and Tabu Search.
 Data preparation. Preprocessing: mean removal, detrending and dimensionality reduction. SVD, PCA, LDA e CCA. Outlier removal.
 Probability density estimation: parametric and nonparametric methods. Parzen windowing.
 Instancebased learning. The kNN algorithm. Bayesian classification and Naive Bayes classifier. Associacion rules.
 Linear learning: optimal estimate and LMS algorithm. Logistic regression.
 Neural Networks: the neuron, the perceptron, the MLP, deep networks. The back propagation algorithm.
 Kernel Machines: the RBF and the Support Vector Machine (SVM).
 Decision trees: ID3, CART and C4.5. Rule extraction.
 Testing Machine Learning algorithms. Indicators:
confusion matrix, True Positive Rate, False Positive Rate, Precision,
Recall, FMeasure, AUC, ROC analysis. Kfold Cross Validation, One Leave
Out. Grid search.
 Clustering techniques: Kmeans, EM algorithm, hierarchical clustering.
 Monte Carlo methods. Sampling.
 Graphical models: directed and undirected models. Inference and diagnosis.
 Hidden Markov Models (HMMs).
 Combining several algorithms: voting, bagging, boosting, mixture of experts. Random Forest
 Reinforcement Learning.
 Fuzzy logic and fuzzy reasoning. Fuzzy vs. crisp.
Fuzzyfication and defuzzyfication, membership function. Mamdani and
Sugeno rules.
 WEKA: description and usage of the software. The arff file format. Examples of applications.
 Hints of MATLAB and Python programming for Machine Learning algorithm development. Examples of applications.
 Ethics in Machine Learning.
 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 HundredPage 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.
Classroom
The course is also available on Google Classroom, with the code: imdjsqi.
Course Materials
Lecture Slides: 
Overview
 Introduction
 Signal and sequence representation
 Basics on probability theory
 Basics on estimation theory
 Basics on optimization theory
 Metaheuristics
 Data preparation
 Probability density estimation
 Instancebased algorithms
 Linear models
 Neural networks
 Kernel machines and SVM
 Decision trees
 Testing ML algorithms
 Clustering algorithms
 Monte Carlo methods
 Graphical models
 Hidden Markov models
 Ensemble learning
 Reinforcement learning
 Fuzzy logic
 WEKA
 Python
 Ethics in Machine Learning
 Python for Machine Learning
Lecture Notes:
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 parttime, offcourse, 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 parttime, offcourse, repeating and graduating students.
Please, note that the exam is reserved electronically via the INFOSTUD system.
