MACHINE LEARNING M - Z
Anno accademico 2024/2025 - Docente: SIMONE PALAZZORisultati di apprendimento attesi
Conoscenza e Capacità di Comprensione
Questo corso fornisce una conoscenza di base delle tecniche e algoritmi di Machine Learning, con un focus particolare su modelli di regressione, classificazione e apprendimento non supervisionato. Gli studenti impareranno a valutare le prestazioni dei modelli attraverso metriche di errore e tecniche di validazione, affrontando tematiche come overfitting e il tradeoff bias-varianza. Il corso esplora anche metodi di regolarizzazione, algoritmi di ensemble come bagging e boosting, e le reti neurali.
Conoscenze Applicate e Capacità di Comprensione
Il corso include esempi pratici ed esercizi che permetteranno agli studenti di applicare metodi di Machine Learning a problemi reali, utilizzando strumenti software comunemente usati nel settore quali scikit-learn. Gli studenti impareranno a progettare e implementare modelli di Machine Learning, gestire il caricamento e il preprocessamento dei dati, e validarne le prestazioni tramite metriche standard.
Autonomia di Giudizio
Gli studenti svilupperanno la capacità di valutare le prestazioni dei modelli di Machine Learning, identificare e mitigare problemi di overfitting e bias, e scegliere tra diversi modelli e tecniche di ottimizzazione in base al contesto del problema.
Abilità Comunicative
Gli studenti acquisiranno la capacità di comunicare in modo efficace i risultati delle loro analisi e modellazioni, sia in forma scritta che orale. Saranno in grado di presentare i risultati delle loro ricerche e progetti a un pubblico tecnico e non tecnico, utilizzando un linguaggio appropriato e supportando le loro argomentazioni con dati e visualizzazioni pertinenti.
Capacità di Apprendimento
Il corso incoraggerà gli studenti a sviluppare un approccio critico e autonomo all'apprendimento, stimolando la curiosità verso le nuove tecnologie e tendenze nel campo del Machine Learning. Gli studenti saranno in grado di continuare ad apprendere in modo indipendente, utilizzando risorse accademiche e professionali per aggiornarsi sulle ultime innovazioni e tecniche nel settore.
Modalità di svolgimento dell'insegnamento
- Lezioni frontali, per fornire conoscenze teoriche e metodologiche della materia;
- Esercitazioni pratiche, per sviluppare competenze di “problem solving” e applicare la metodologia di progettazione;
- Laboratori, per apprendere e testare l’utilizzo degli strumenti correlati.
- Qualora l’insegnamento fosse erogato in modalità mista o a distanza, potrebbe essere necessario introdurre modifiche rispetto a quanto sopra.
Prerequisiti richiesti
Frequenza lezioni
Contenuti del corso
1. Concetti di base del machine learning
1.1. Modelli e parametri
1.2. Modalità di apprendimento (supervised, unsupervised, self-supervised, reinforcement learning)
1.3. Valutazione delle prestazioni (precision, recall, F1-score, Curva ROC e AUC, MAE, MSE, Cross-validation e overfitting, Bias-variance trade-off)
2. Apprendimento supervisionato
2.1. Regressione lineare
2.2. Regolarizzazione
2.3. Classificazione lineare e non-lineare
2.4. Suppor vector machines
2.5. Alberi decisionali, bagging and boosting
2.6. Classificatori non-parametrici
2.7. Reti neurali
3. Apprendimento non supervisionato
3.1. Clustering
3.2. Riduzione della dimensionalità
3.3. Cenni a tecniche di self-supervised, constrastive, semi-supervised learning
4. Laboratorio di machine learning con Python
4.1. Sintassi, tipi di dato, strutture di controllo, classi
4.2. Librerie per il machine learning
Testi di riferimento
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Concetti di base | |
2 | Laboratorio di Python: concetti base | |
3 | Regressione lineare e ottimizzazione | |
4 | Laboratorio sulla regressione lineare | |
5 | Valutazione delle prestazioni | |
6 | Laboratorio sulla valutazione delle prestazioni | |
7 | Regolarizzazione | |
8 | Laboratorio sulla regolarizzazione | |
9 | Classificazione | |
10 | Laboratorio sulla classificazione | |
11 | PCA | |
12 | Laboratorio sulla PCA | |
13 | Apprendimento non supervisionato | |
14 | Laboratorio su apprendimento non supervisionato | |
15 | Alberi decisionali e bagging/boosting | |
16 | Laboratorio su alberi decisionali e bagging/boosting | |
17 | Reti Neurali | |
18 | Laboratorio sulle reti neurali |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Progetto individuale su tematiche proposte dai docenti, da svolgere a casa.
Esame orale con discussione del progetto e domande di teoria.
Esempi di domande e/o esercizi frequenti
- Spiega il trade-off bias-variance e come influenza la capacità di generalizzazione di un modello di machine learning.
- Descrivi il metodo dei minimi quadrati e come viene utilizzato per stimare i parametri di un modello di regressione lineare.
- Qual è la differenza tra precision e recall? In quali scenari uno potrebbe essere più importante dell'altro?
- Confronta Ridge regression e LASSO, specificando quando sarebbe preferibile utilizzare uno rispetto all'altro.
- In che modo il kernel trick estende le capacità degli SVM per risolvere problemi non linearmente separabili?
- Come funziona l'algoritmo PCA per la riduzione della dimensionalità e quali sono i suoi limiti?
-
Spiega come funziona un algoritmo di boosting come AdaBoost e quali
sono i suoi vantaggi rispetto ai singoli alberi decisionali.
- Spiega la backpropagation and il suo ruolo nell'allenamento delle reti neurali
- Spiega il ruolo delle funzioni di attivazione in una rete neurale