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.
- 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.
Fortemente consigliata. La frequenza e la partecipazione attiva alle attività in aula contribuiranno positivamente alla valutazione complessiva dell’esame finale.
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à
4. Laboratorio di machine learning con Python
4.1. Sintassi, tipi di dato, strutture di controllo, classi
4.2 Librerie per il machine learning
Dispense fornite dal docente
Progetto individuale su tematiche proposte dai docenti, da svolgere a casa.
Esame orale con discussione del progetto e domande di teoria.
Disponibili sul sito del corso TEAMS e/o Studium.