Docente
|
SCARPINITI MICHELE
(programma)
L'obiettivo del corso è fornire una panoramica generale delle moderne tecniche di Machine Learning e della loro applicabilità ai sistemi di sicurezza. Oltre alla descrizione dei fondamenti del Machine Learning, il corso fornisce il background necessario per comprendere e applicare approcci del Machine Learning alle tecniche di classificazione, regressione e clustering per risolvere problemi pratici in diversi scenari applicativi mediante reti neurali e altre tecniche di apprendimento. Durante il corso verrà inoltre descritto l'utilizzo di specifici pacchetti software, come WEKA, per l'implementazione, l'utilizzo e la validazione delle moderne tecniche di Machine Learning. Il progrmma del corso, in sintesi, è dettagliato di seguito:
1. Introduzione al corso: motivazioni al Machine Learning, Data Mining, problemi ed esempi applicativi. [4 ore]
2. La rappresentazione dei segnali e delle sequenze. [2 ore]
3. Richiami di algebra lineare e teoria della probabilità. [2 ore]
4. Richiami di teoria dell’ottimizzazione. Ottimizzazione non vincolata e vincolata: Lagrangiana e condizioni KKT. La regolirizzazione. [2 ore]
5. Meta-euristiche: algoritmi genetici, Random Search, Simulated Annealing e Tabu Search. [2 ore]
6. Stima della densità di probabilità: metodi parametrici e non parametrici. La finestratura di Parzen. [2 ore]
7. Valutazione degli algoritmi di Machine Learning. Metriche: matrice di confusione, True Positive Rate, False Positive Rate, Precision, Recall, F-Measure, AUC, ROC analysis. K-fold Cross Validation, One Leave Out. Grid search. [2 ore]
8. Pre-procesasmento dei dati: rimozione della media, de-trading e riduzione della dimensionalità. SVD, PCA, LDA e CCA. Rimozione degli outlier. [3 ore]
9. Apprendimento lineare: stima ottima e algoritmo LMS. [2 ore]
10. Il clustering: K-means, algoritmo EM, algoritmi gerarchici. [2 ore]
11. La classificazione e la regressione. Algoritmi supervisionati e non supervisionati. L’algoritmo k-NN. [2 ore]
12. Alberi di decisione: Random Tree e Random Forest. [2 ore]
13. Le reti neurali: il perceptron, il MLP, le RBF, le deep networks. L’algoritmo di back propagation. [4 ore]
14. Le macchine a kernel: le Support Vector Machine (SVM). [3 ore]
15. I modelli grafici: modelli direzionali e non direzionali. Inferenza e diagnosi. [2 ore]
16. I modelli di Markov nascosti (HMM). [2 ore]
17. I metodi Monte Carlo. [2 ore]
18. Combinazione di algoritmi multipli: voting, bagging, boosting, ensemble. [2 ore]
19. Reinforcement Learning. [2 ore]
20. La logica fuzzy e l’inferenza fuzzy. [2 ore]
21. WEKA: descrizione e uso del software. Il formato del file arff. Esempi di utilizzo. [2 ore]
22. Cenni di programmazione Python per lo sviluppo di algoritmi di Machine Learning. Esempi di utilizzo. [10 ore]
23. Etica e Machine Learning [2 ore]
1. Stephen Marsland, Machine Learning: An Algorithmic Perspective, 2nd edition, Chapman and Hall/CRC, 2014.
2. Ethem Alpaydin, Introduction to Machine Learning, 3rd edition, MIT Press, 2014.
3. Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, Data Mining: Practical Machine Learning Tools and Techniques, 4th edition, Morgan Kaufmann, 2016.
4. Dispense a cura del docente, reperibili online al link: http://michelescarpiniti.site.uniroma1.it/didattica/mlss.
|