MACHINE LEARNING A - L

Anno accademico 2025/2026 - Docente: Vincenza CARCHIOLO

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.

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. La frequenza e la partecipazione attiva alle attività in aula contribuiranno positivamente alla valutazione complessiva dell’esame finale.

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à

 

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

Dispense fornite dal docente

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L’esame comprende:

1) Test scritto (valutazione delle conoscenze di base e applicative)

Domande a scelta multipla e a risposta breve per verificare le conoscenze di base (terminologia, concetti chiave, algoritmi).

2) Progetto individuale in Python su un dataset fornito dal docente, con indicazione delle librerie da utilizzare come specificato dal docente. Il progetto deve includere:

  • Analisi del dataset

  • Applicazione di almeno tre algoritmi supervisionati

  • Applicazione di almeno un algoritmo non supervisionato

  • Facoltativamente, il progetto può includere l’applicazione di algoritmi semisupervisionati

3) Prova orale
Durante la prova orale saranno discusse le due prove precedenti con l’obiettivo di verificare la capacità dello studente di argomentare, collegare teoria e pratica e discutere criticamente i risultati del progetto.


Valutazione:

1) Test scritto: 10 punti
Il superamento del test scritto (6/10) è condizione necessaria per sostenere la prova orale.

2) Progetto: 10 punti
Il progetto sarà valutato sulla base della correttezza tecnica (implementazione, uso delle librerie, pipeline), analisi critica dei risultati, confronto tra modelli, chiarezza del codice e documentazione.
Il progetto deve essere consegnato su Teams almeno 4 giorni prima della prova orale.

3) Prova orale: 12 punti
La prova orale è subordinata al superamento del test scritto e alla consegna puntuale del progetto. Sarà valutata sulla base della discussione del progetto (scelte, alternative, limiti), conoscenze teoriche trasversali, capacità di collegamento tra concetti, con particolare attenzione agli algoritmi utilizzati nel progetto, chiarezza comunicativa e uso del linguaggio tecnico.


Prova in itinere:
La prova in itinere consiste nel superamento di un test scritto. Il superamento della prova in itinere esonera dalla prova scritta dell’esame e contribuisce al voto finale con un massimo di 10 punti. La prova verra considerata superata con una votazione di 5/10
L'accesso alla prova in itinere è riservato ai soli studenti frequentanti (almeno il 70% delle frequenze)

Esempi di domande e/o esercizi frequenti

Disponibili sul sito del corso TEAMS e/o Studium.