MACHINE LEARNING M - Z

Anno accademico 2025/2026 - Docente: SIMONE PALAZZO

Risultati 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

 È richiesta una conoscenza preliminare di programmazione e i fondamenti di algebra lineare e analisi matematica.

Frequenza lezioni

Fortemente consigliata

Contenuti del corso

1.     Concetti di base del machine learning

1.1.         Modelli e parametri (2 ore)

1.2.         Modalità di apprendimento (supervised, unsupervised, self-supervised, reinforcement learning) (2 ore)

1.3.        Valutazione delle prestazioni (precision, recall, F1-score, Curva ROC e AUC, MAE, MSE, Cross-validation e overfitting, Bias-variance trade-off) (4 ore)

 2.     Apprendimento supervisionato

2.1.         Regressione lineare (3 ore)

2.2.         Regolarizzazione (2 ore)

2.3.         Classificazione lineare e non-lineare (6 ore)

2.4.         Suppor vector machines (3 ore)

2.5.         Alberi decisionali, bagging and boosting (6 ore)

2.6.         Classificatori non-parametrici (3 ore)

2.7.         Reti neurali (6 ore)

 

3.     Apprendimento non supervisionato

3.1.         Clustering (3 ore)

3.2.         Riduzione della dimensionalità (3 ore)

3.3.         Cenni a tecniche di self-supervised, constrastive, semi-supervised learning (1 ora)

4.     Laboratorio di machine learning con Python

4.1.         Sintassi, tipi di dato, strutture di controllo, classi (4 ore)

4.2.         Librerie per il machine learning (10 ore)

Testi di riferimento

Materiale di studio fornito dai docenti.

Il materiale del corso, le assegnazioni delle esercitazioni e gli avvisi saranno pubblicati sul Team del corso (codice di accesso: nue1xxu).

Programmazione del corso

 ArgomentiRiferimenti testi
1Concetti di base
2Laboratorio di Python: concetti  base
3Regressione lineare e ottimizzazione
4Laboratorio sulla regressione lineare
5Valutazione delle prestazioni
6Laboratorio sulla valutazione delle prestazioni
7Regolarizzazione
8Laboratorio sulla regolarizzazione
9Classificazione
10Laboratorio sulla classificazione
11PCA
12Laboratorio sulla PCA
13Apprendimento non supervisionato
14Laboratorio su apprendimento non supervisionato
15Alberi decisionali e bagging/boosting
16Laboratorio su alberi decisionali e bagging/boosting
17Reti Neurali
18Laboratorio sulle reti neurali

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame di superamento del corso prevede una prova finale pratica al calcolatore e una prova finale orale.

La prova finale pratica consiste nella risoluzione di un problema di machine learning: caricamento dei dati, preprocessing e analisi del dataset, allenamento di modelli di regressione/classificazione, valutazione delle prestazioni. La prova si terrà sui PC delle aule multimediali dall'Università.

La prova finale orale consiste nella discussione della prova pratica (descrizione delle scelte progettuali, commento dei risultati e spiegazione dell'implementazione) e in domande di teoria.

Durante il corso, verranno assegnate, con cadenza settimanale, delle esercitazioni da svolgere a casa e consegnare entro determinate scadenze. La consegna e la valutazione positiva di tutte le esercitazioni permetteranno agli studenti l'accesso alla prova in itinere. La prova consisterà in una prova in itinere pratica, analoga a quella dell'esame finale, e in una prova in itinere scritta, con domande di teoria a risposta aperta. La prova in itinere si considera superata se entrambe le parti sono superate. Gli studenti che superano la prova in itinere svolgeranno, all'esame di superamento del corso, una prova finale pratica ridotta ed una prova finale orale ridotta, entrambe riguardanti gli argomenti svolti successivamente alla prova in itinere. Il voto finale del corso sarà la media dei voti riportati nella prova in itinere e nella prova finale ridotta.

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