IN550 Machine Learning – A.A. 2024/25

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 è

Gli altri riferimenti bibliografici utilizzati dal docente nella preparazione delle lezioni sono:

Legenda: = scaricabile, = disponibile in biblioteca, = include un repository con esempi di codice

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-2023.03, 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

24 Settembre

Presentazione del corso. Definizione ed esempi di Machine Learning. Tipologie di apprendimento.

[W 1.1-1.5]

24 Settembre (esercitazione)

Esercitazione: Introduzione a NumPy.

[G 2]

26 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]
[S 2.1-2.3, 9.2]

1 Ottobre

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]
[J 2.2.1-2.2.2, 3.1-3.3]
[S 5.2, 9.2.2]

1 Ottobre (esercitazione)

Esercitazione: Introduzione a Pandas.

[G 2]

Note

3 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]
[J 3.5]

8 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]

8 Ottobre (esercitazione)

Esercitazione: Implementazione del metodo del gradiente in NumPy. Introduzione a SciKit-Learn.

[W 3.5]
[G 2]

10 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]
[S 14.1]

Note

15 Ottobre

Training, validazione e test. Validazione incrociata. Riduzione delle feature. Feature selection. Regolarizzazione L2 e regressione ridge.

[W 9.7.1]
[J 5.1, 6.1, 6.2]
[S 11.2, 13.1]

15 Ottobre (esercitazione)

Esercitazione: Metodi di regressione in SciKit-Learn.

[G 4]

Documentazione scikit-learn

17 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]
[J 2.2.3]
[S 19.1, 19.3]

22 Ottobre

Classificazione generativa. Classificatore Bayesiano. Fit di gaussiane univariate. Analisi del discriminante unidimensionale.

[J 4.4]

Note

22 Ottobre (esercitazione)

Esercitazione: Classificazione generativa (univariata).

Documentazione scikit-learn

24 Ottobre

Fit di gaussiane multivariate. Matrici di covarianza. Analisi del discriminante quadratica e lineare. Naive Bayes.

[J 4.4]
[B 4.2-4.2.2]
[M 4.2-4.2.4]
[S 24.1-24.3]

Note

29 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]
[J 4.3]

Note 1, Note 2

29 Ottobre (esercitazione)

Esercitazione: Classificazione generativa (multivariata).

Documentazione scikit-learn

5 Novembre

Classe di ipotesi del percettrone. Algoritmo del percettrone. Convergenza del percettrone. Forma duale.

[W 6.4]

Note

5 Novembre (esercitazione)

Esercitazione: Regressione logistica in SciKit-Learn.

[G 4]

Documentazione scikit-learn

7 Novembre

Support Vector Machines. Hard-margin SVM. Soft-margin SVM. Metriche di qualità nella classificazione.

[W 6.4-6.4.4, 6.5-6.6, 6.8-6.9]

19 Novembre

Classificazione multiclasse: one-vs-rest e softmax. Reti neurali. Funzioni di attivazione. Emulazione di operatori logici.

[W 7.1-7.2, 7.3.5-7.3.7, 13.1-13.3]

19 Novembre (esercitazione)

Esercitazione: Linee guida per i progetti.

21 Novembre

Discesa del gradiente nelle reti neurali. Propagazione in avanti e retropropagazione. Architetture convolutive.

[W 13.4-13.5]

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

2023-24

Camerini Nicoletta

Classificazione del livello di obesità di un individuo

ObesityDataSet

2023-24

Massarone Serena

Applicazioni di modelli di apprendimento supervisionato per previsione sintomi post partum

Post Partum Depression

2023-24

Di Santo Silvia

Esopianeti

Habitable Worlds Catalog Data

2023-24

Gasparrini Gabriele

Heart attack prediction

Heart Attack Analysis

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

ChatGPT sentiment analysis

2023-24

Manna Sara

Qualità dell’acqua: classificazione binaria per predire la potabilità dell’acqua

water_potability

2023-24

Sellarione Francesca

Convolutional Neural Network per il riconoscimento e la classificazione di gemme

Gemstones Images Expanded

2023-24

Galvan Fabio

Predizione della sopravvivenza di pazienti affetti da insufficienza cardiaca

UCI Heart failure clinical records

2022-23

Ferretti Federica

Come la scienza dei dati consiglia il ristorante per te

yelp_academic_dataset_review

2022-23

Galatro Sara

L’endometriosi e il cibo

Dati raccolti durante il progetto

2022-23

Lisi Andrea

Machine Learning per il riconoscimento di strumenti musicali

Slakh2100

2022-23

Longaroni Giacomo

Classificazione di immagini raffiguranti 5 diverse condizioni meteo attraverso Convolutional Neural Network

multiclass_weather_dataset

2022-23

Moretti Davide

Riconoscimento di immagini generate artificialmente

Open Images v4

2022-23

Tacchetti Fabiana

Riconoscere segnali di depressione tramite post su Twitter

Mental-Health-Twitter

2020-21

Del Papa Michele

Sistema di predizione del genere e recommendation systems

ml-latest-small

2020-21

Di Gregorio Silvio

Dipendenza tra valori inquinanti e condizioni meteo

ARPA Lombardia

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

UCI Bank Marketing