Machine Learning for Safety Systems
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
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.
Meta-heuristics: genetic algorithms, Random Search, Simulated Annealing and Tabu Search.
Data preparation. Pre-processing: mean removal, de-trending and dimensionality reduction. SVD, PCA, LDA e CCA. Outlier removal.
Probability density estimation: parametric and non-parametric methods. Parzen windowing.
Instance-based learning. The k-NN algorithm. Bayesian classification and Naive Bayes classifier. Associacion rules.
Linear learning: optimal estimate and LMS algorithm. Logistic regression.
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.
Decision trees: ID3, CART and C4.5. Rule extraction.
Neural Networks: the neuron, the perceptron, the MLP, deep networks. The back propagation algorithm.
Kernel Machines: the RBF and the Support Vector Machine (SVM).
Combining several algorithms: voting, bagging, boosting, mixture of experts. Random Forest
Clustering techniques: K-means, EM algorithm, hierarchical clustering.
Ethics in Machine Learning.
WEKA: description and usage of the software. The arff file format. Examples of applications.
Hints of Python programming for Machine Learning algorithm development. Examples of applications.
Python for Machine Learning. Advanced topics on Python to work with ML applications.
Monte Carlo methods. Sampling.
Graphical models: directed and undirected models. Inference and diagnosis.
Hidden Markov Models (HMMs).
Fuzzy logic and fuzzy reasoning. Fuzzy vs. crisp. Fuzzyfication and defuzzyfication, membership function. Mamdani and Sugeno rules.
Stephen Marsland, Machine Learning: An Algorithmic Perspective, 2nd edition, Chapman and Hall/CRC, 2014.
Sebastian Raschka, Vahid Mirjalili, Python Machine Learning - Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow, Second Edition, Packt Publishing, 2017. (Practical)
Sebastian Raschka, Vahid Mirjalili, Machine Learning con Python - Costruire algoritmi per generare conoscenza, Seconda edizione, Apogeo, 2020. (Practical in Italian)
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.
Jeremy Watt, Reza Borhani, Aggelos K. Katsaggelos, Machine Learning Refined: Foundations, Algorithms, and Applications, Cambridge University Press, 2016.
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.
Andreas C. Müller, Sarah Guido, Introduction to Machine Learning with Python, O'Reilly Media, 2016. (Practical)
Aurélien Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, O'Reilly Media, 2nd edition, 2019. (Practical)
Time and Location
The course will start on March 01 2023, with the following schedule:
Monday, 17:00 - 19:00, Room 34
Wednesday, 15:00 - 18:00, Room 32
Every day by appointment.
News, updates, and communications about the course will be available on Google Classroom, with the code: aqc545a.
Python Source Codes:
The discussion of the project can be held at any time, by appointment. The formal verbalization takes place on the dates indicated below:
I round: 15 June 2023 at 14:00 (Exam reservation date ends on 14 June 2023).
II round: 20 July 2023 at 14:00 (Exam reservation date ends on 19 July 2023).
III round: 14 September 2023, at 14:00 (Exam reservation date ends on 13 September 2023).
Special round: 26 October 2023, at 14:00 (Exam reservation date ends on 25 October 2023). Please note that this round is reserved only for part-time, off-course, repeating and graduating students.
IV round: 18 January 2024 at 14:00 (Exam reservation date ends on 17 January 2024).
V round: 15 February 2024 at 14:00 (Exam reservation date ends on 14 February 2024).
Special round: 11 April 2024 at 14:00 (Exam reservation date ends on 10 April 2024). Please note that this round is reserved only for part-time, off-course, repeating and graduating students.
I round: 13 June 2024 at 14:00 (Exam reservation date ends on 12 June 2024).
II round: 18 July 2024 at 14:00 (Exam reservation date ends on 17 July 2024).
III round: 16 September 2024, at 14:00 (Exam reservation date ends on 15 September 2024).
Special round: 24 October 2024, at 14:00 (Exam reservation date ends on 23 October 2024). Please note that this round is reserved only for part-time, off-course, repeating and graduating students.
IV round: 23 January 2025 at 14:00 (Exam reservation date ends on 22 January 2025).
V round: 13 February 2025 at 14:00 (Exam reservation date ends on 12 February 2025).
Special round: 03 April 2025 at 14:00 (Exam reservation date ends on 02 April 2025). 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.