Introduction to Machine Learning
Programma
1) Introduzione: il processo di Knowledge Discovery. (6 ore)
- Processo KDD: tutti i passaggi in sintesi. (2h)
- Comprensione dei dati ed esplorazione dei dati. Introduzione alla piattaforma di data science KNIME (2h)
- Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)
- Introduzione a NumPy, Pandas e Seaborn (supporto extra in laboratorio)
2) Metodi di apprendimento non supervisionato e esercitazioni pratiche (8 ore)
- Clustering: concetti di base e principali algoritmi per clustering gerarchico basato su centroide e densità (4h)
- Mining dei pattern e Regole di associazione: concetti di base e algoritmo a-priori (2h)
- Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)
3) Apprendimento supervisionato: metodi ed esercitazioni pratiche (12 ore)
- Classificazione: introduzione, valutazione delle prestazioni. Un primo classificatore semplice: Decision tree (4h)
- Esercitazioni: esercitazioni pratiche su semplici studi di caso utilizzando librerie Python (2h)
- Panoramica sui metodi avanzati: Random Forest, Support Vector Machine (2h)
- Introduzione alle Reti Neurali, descrizione del progetto e assegnazione del progetto (2h)
- Esercitazioni: esercitazioni pratiche su metodi di classificazione avanzati e Reti Neurali con PyTorch (2h)
4) Introduzione alle architetture di Deep Learning (10 ore)
- Reti Neurali Convoluzionali, teoria e pratica con PyTorch (2h)
- Reti Neurali Ricorrenti (2h)
- Reti Generative Adversariali (2h)
- Transformers (2h)
- Graph Neural Networks (2h)
5) Principi di design e questioni di affidabilità nei sistemi basati su IA: (4h)
- Linee guida di design, scoperta di bias e spiegabilità (2h)
- Seminario di progetto e discussione (2h)
Obiettivi formativi
I formidabili progressi nella potenza di calcolo, nell'acquisizione dei dati, nell'archiviazione dei dati e nella connettività hanno creato quantità di dati senza precedenti. Il Data Mining e il Machine Learning, cioè la scienza dell'estrazione di conoscenza da queste masse di dati, si sono quindi affermati come un ramo interdisciplinare dell'informatica. Il corso introdurrà le basi dell'apprendimento automatico e delle previsioni dai dati. Un'attenzione particolare è dedicata alle moderne architetture di Reti Neurali Profonde. L'obiettivo del corso è fornire agli studenti una conoscenza di base sia dei fondamenti teorici sia degli aspetti pratici del data mining e del machine learning, con attenzione al processo complessivo di estrazione della conoscenza e ai suoi problemi ingegneristici.