IN550 Machine Learning – A.A. 2025/26
La pagina web inerente la precedente erogazione dell’insegnamento da parte del docente è reperibile qui.
Avvisi
Orari ed aule
Quando: Martedì 16.00-19.00 (lezione + esercitazione) e Giovedì 16.00-18.00 (lezione)
Dove: Lab (Martedì), aula A (Giovedì)
Libro di testo
Il libro di testo adottato è
- 
[W] Machine Learning Refined di J. Watts, R. Borhani, A.K. Katsaggelos (Cambridge University Press, 2ª edizione, 2020). Una copia del testo è reperibile nella biblioteca di area scientifica, sede Torri. Il repository GitHub del libro, contenente esempi in Jupyter, è qui. 
Gli altri riferimenti bibliografici utilizzati dal docente nella preparazione delle lezioni sono:
- 
[S] Understanding Machine Learning di S. Shalev-Shwartz, S. Ben-David (Cambridge University Press, 2014). Reperibile anche in biblioteca di area scientifica, sede centrale. 
- 
[J] 🇮🇹 An Introduction to Statistical Learning di G. James, D. Witten, T. Hastie, R. Tibshirani (Springer, 2ª edizione, 2021). Disponibile anche in lingua italiana: Introduzione all’apprendimento statistico di G. James, D. Witten, T. Hastie, R. Tibshirani (Piccin, 2020). Il repository GitHub del libro, contenente esempi in Jupyter, è qui 
- 
[M] Probabilistic Machine Learning di K.P. Murphy (MIT Press, 2022). Reperibile anche in biblioteca di area scientifica, sede Torri. 
- 
[B] Pattern Recognition and Machine Learning di C.M. Bishop (Springer, 2006). Reperibile anche in biblioteca di area scientifica, sede centrale. 
- 
[G] Hands-On Machine Learning with SciKit-Learn, Keras, and TensorFlow di A. Géron (O’Reilly, 3ª edizione, 2022). Reperibile anche in biblioteca di area scientifica, sede centrale. Il repository GitHub del libro, contenente esempi in Jupyter, è qui. 
- 
[SAV] Deep Learning with PyTorch di E. Stevens, L. Antiga, T. Viehmann (Manning, 2020). Il repository GitHub del libro, contenente esempi in Jupyter, è qui. 
- 
[H] 🇮🇹 The Elements of Statistical Learning di T. Hastie, R. Tibshirani, J. Friedman (Springer, 2ª edizione, 2009). La 1ª edizione è reperibile anche in biblioteca di area scientifica, sede centrale. Disponibile anche in lingua italiana: Gli elementi dell’apprendimento statistico di T. Hastie, R. Tibshirani, J. Friedman (Piccin, 2025). 
Legenda: = scaricabile, = disponibile in biblioteca, = include un repository con esempi di codice, 🇮🇹 = traduzione italiana disponibile
Software utilizzato e quaderni Jupyter
Le esercitazioni utilizzeranno il linguaggio di programmazione Python 3. Si svilupperanno quaderni di Python interattivo (Jupyter) utilizzando varie librerie.
L’ambiente software consigliato, disponibile gratuitamente e liberamente installabile sul proprio calcolatore, è Anaconda. La versione testata dal docente è Anaconda3-2025.06, ma anche con versioni successive i quaderni dovrebbero funzionare correttamente.
Il materiale delle Esercitazioni verrà reso disponibile all’interno del canale Teams del corso (File > Materiale del corso).
Diapositive a cura del docente
Diario delle lezioni
I riferimenti [W] (oppure [S], [J], eccetera) indicano le sezioni del libro di testo o degli altri riferimenti bibliografici.
| Data | Argomenti | Riferimenti al testo | Allegati | 
|---|---|---|---|
| 23 Settembre | Presentazione del corso. Definizione ed esempi di Machine Learning. Tipologie di apprendimento. | [W 1.1-1.5] | |
| 23 Settembre (esercitazione) | Esercitazione: Introduzione a NumPy. | [G 2] | |
| 25 Settembre | Funzione costo, rischio atteso, rischio empirico. Principio ERM. Compromesso bias-varianza. Regressione lineare. ERM per la regressione lineare ed equazioni normali. | [W 5.1-5.2.2] | |
| 30 Settembre | Ipotesi bayesiana. Decomposizioni bias-varianza e stima-approssimazione. Coefficiente R². Variabili qualitative e one-hot encoding. Feature crossing. Regressione polinomiale e regressione lineare generalizzata. | [W 5.4] | |
| 30 Settembre (esercitazione) | Esercitazione: Introduzione a Pandas. | [G 2] | |
| 2 Ottobre | Interpretazione probabilistica del metodo dei minimi quadrati. Stima a massima verosimiglianza (MLE) e principio ERM. Regressione K-Nearest Neighbor. Regressione Least Absolute Deviations (LAD). Regressione lineare pesata e multi-output. | [W 5.3, 5.5-5.6] | |
| 7 Ottobre | Ottimizzazione matematica, funzioni convesse, criteri di convessità, norme. Metodi di ricerca locale. Metodo della discesa del gradiente. | [W 2.1-2.5, 3.1-3.3, 3.5] | |
| 7 Ottobre (esercitazione) | Esercitazione: Implementazione del metodo del gradiente in NumPy. Introduzione a SciKit-Learn. | [W 3.5] | |
| 9 Ottobre | Dimostrazione della convergenza di Gradient Descent (GD). Problematiche di GD. Metodi del secondo ordine. GD per l’apprendimento supervisionato. Batch, Mini-Batch e Stochastic GD. | [W 3.6-3.7, 4.1-4.5, 5.2.3-5.2.4] | |
| 14 Ottobre | Training, validazione e test. Validazione incrociata. Riduzione delle feature. Feature selection. Regolarizzazione L2 e regressione ridge. | [W 9.7.1] | |
| 14 Ottobre (esercitazione) | Esercitazione: Metodi di regressione in SciKit-Learn. | [G 4] | |
| 16 Ottobre | Regolarizzazione L1 e regressione LASSO. Classificazione e funzione di costo 0-1. Inaccuratezza di un classificatore. Classificazione K-Nearest Neighbor. | [W 9.7.2-9.7.3] | |
| 21 Ottobre | Classificazione generativa. Classificatore Bayesiano. Fit di gaussiane univariate. Analisi del discriminante unidimensionale. | [J 4.4] | |
| 21 Ottobre (esercitazione) | Esercitazione: Classificazione generativa (univariata). | ||
| 23 Ottobre | Fit di gaussiane multivariate. Matrici di covarianza. Analisi del discriminante quadratica e lineare. Naive Bayes. | [J 4.4] | |
| 28 Ottobre | Classificazione discriminativa. Regressione logistica nel caso binario. Formulazione con etichette 0/1 e con etichette 1/-1. Regola SGD per la regressione logistica. Regressione logistica regolarizzata. | [W 6.1-6.3] | |
| 28 Ottobre (esercitazione) | Esercitazione: Classificazione generativa (multivariata). | ||
| 30 Ottobre | Classe di ipotesi del percettrone. Algoritmo del percettrone. Convergenza del percettrone. Forma duale. | [W 6.4] | 
Progetti software
Le linee guida per la realizzazione dei progetti verranno inserite nella cartella Teams del corso.
Esempi di progetti realizzati in passato
| Anno Accademico | Autore | Titolo | Dataset | 
|---|---|---|---|
| 2024-25 | D’Alessio Aurora | Eye Gaze Estimation for Hands-Free Typing | Dati raccolti durante il progetto | 
| 2024-25 | Palomba Chiara | Classificazione binaria per la previsione di pioggia a Roma | |
| 2024-25 | Sabatini Davide | Vision Transformer per la classificazione di immagini | |
| 2024-25 | Teodori Giulia | Sovrapposizione di oggetti in dinamica molecolare | Dati sintetizzati durante il progetto | 
| 2024-25 | Perucca Cecilia | Classificazione di frutta a guscio | |
| 2024-25 | Falcone Nicoletta | Disturbi dell’udito: uno studio sulla popolazione degli Stati Uniti del 2019 | |
| 2024-25 | Marchetti Sara | Classificazione delle meduse nel Mar Mediterraneo | Jellyfish Image Dataset + dati raccolti durante il progetto | 
| 2024-25 | Carroccia Manuel | L’impatto della qualità dell’aria sulla salute umana | |
| 2024-25 | Quintavalle Francesco | Classificazione di segnali stradali | |
| 2023-24 | Camerini Nicoletta | Classificazione del livello di obesità di un individuo | |
| 2023-24 | Massarone Serena | Applicazioni di modelli di apprendimento supervisionato per previsione sintomi post partum | |
| 2023-24 | Di Santo Silvia | Esopianeti | |
| 2023-24 | Gasparrini Gabriele | Heart attack prediction | |
| 2023-24 | Romoli Roberta | Studio delle scosse di assestamento nelle sequenze dell’Appennino Centrale | Dati INGV | 
| 2023-24 | Vallifuoco Augusta Gioia | Analisi di opere d’arte: riconoscimento di artisti usando reti neurali | Dati raccolti durante il progetto | 
| 2023-24 | Attolini Chiara | Classificazione e generazione di testo usando reti neurali | |
| 2023-24 | Manna Sara | Qualità dell’acqua: classificazione binaria per predire la potabilità dell’acqua | |
| 2023-24 | Sellarione Francesca | Convolutional Neural Network per il riconoscimento e la classificazione di gemme | |
| 2023-24 | Galvan Fabio | Predizione della sopravvivenza di pazienti affetti da insufficienza cardiaca | |
| 2022-23 | Ferretti Federica | Come la scienza dei dati consiglia il ristorante per te | |
| 2022-23 | Galatro Sara | Dati raccolti durante il progetto | |
| 2022-23 | Lisi Andrea | Machine Learning per il riconoscimento di strumenti musicali | |
| 2022-23 | Longaroni Giacomo | Classificazione di immagini raffiguranti 5 diverse condizioni meteo attraverso Convolutional Neural Network | |
| 2022-23 | Moretti Davide | Riconoscimento di immagini generate artificialmente | |
| 2022-23 | Tacchetti Fabiana | Riconoscere segnali di depressione tramite post su Twitter | |
| 2020-21 | Del Papa Michele | Sistema di predizione del genere e recommendation systems | |
| 2020-21 | Di Gregorio Silvio | Dipendenza tra valori inquinanti e condizioni meteo | |
| 2020-21 | Meloni Pietro | Classificazione di messaggi WhatsApp | Dati raccolti durante il progetto | 
| 2020-21 | Passacantilli Elisa | Il mondo del lavoro per i ragazzi degli istituti superiori professionali | Dati raccolti durante il progetto | 
| 2020-21 | Proietti Alessio | TensorPRO: Tensorflow Privacy Remindful Optimization | 

