IN550 Machine Learning – A.A. 2020/21
Avvisi
Orari ed aule
Quando: Martedì 16.00-18.00, Mercoledì 16.00-17.00 e Giovedì 16.00-18.00
Dove: Microsoft Stream
Libro di testo
Il libro di testo adottato è
-
[W] Machine Learning Refined di J. Watts, R. Borhani, A.K. Katsaggelos (Cambridge University Press, 2020).
Il repository GitHub del libro, contenente vari dataset ed esercizi, è qui.
Gli altri riferimenti bibliografici utilizzati sono:
-
[S] Understanding Machine Learning di S. Shalev-Shwartz, S. Ben-David (Cambridge University Press, 2014).
-
[J] An Introduction to Statistical Learning di G. James, D. Witten, T. Hastie, R. Tibshirani (Springer, 2013).
-
[H] The Elements of Statistical Learning di T. Hastie, R. Tibshirani, J. Friedman (Springer, 2ª edizione, 2008).
-
[M] Machine Learning di K.P. Murphy (MIT Press, 2012).
-
[B] Pattern Recognition and Machine Learning di C.M. Bishop (Springer, 2006).
-
[G] Hands-On Machine Learning with SciKit-Learn, Keras, and Tensorflow di A. Géron (O’Reilly, 2ª edizione, 2019).
Il repository GitHub del libro, contenente vari esempi in Jupyter, è qui.
Per altre informazioni ufficiali sull’insegnamento si rimanda al GOMP.
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, gratuitamente e liberamente installabile sul proprio calcolatore, è Anaconda.
Il materiale delle Esercitazioni è disponibile all’interno del canale Teams del corso (File > Materiale del corso).
Progetti software
Le linee guida per la realizzazione dei progetti sono state inserite nella cartella Teams 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 | Appunti |
---|---|---|---|
22 Settembre |
Presentazione del corso. Definizione ed esempi di Machine Learning. Tipologie di apprendimento. |
[W 1.1-1.5] |
|
23 Settembre |
Esercitazione: Introduzione a NumPy. |
[G 2] |
|
24 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] |
|
29 Settembre |
Ipotesi bayesiana. Decomposizioni bias-varianza e stima-approssimazione. Coefficiente R². Training set e test set. Variabili qualitative e one-hot encoding. Feature crossing. Regressione polinomiale e regressione lineare generalizzata. |
[W 5.4] |
|
30 Settembre |
Esercitazione: Introduzione a Pandas. |
[G 2] |
|
1 Ottobre |
Interpretazione probabilistica del metodo dei minimi quadrati. Stima a massima verosimiglianza (MLE) e principio ERM. Metodi parametrici e non parametrici. Regressione K-Nearest Neighbor. Regressione Least Absolute Deviations (LAD). Outlier. Esempi duplicati e regressione lineare pesata. Regressione multi-output. |
[W 5.3, 5.5-5.6] |
|
6 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: Implementazione del metodo del gradiente in NumPy. Introduzione a SciKit-Learn. |
[W 3.5] |
|
8 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. Esempi di regole SGD. |
[W 3.6-3.7, 4.1-4.5, 5.2.3-5.2.4] |
|
13 Ottobre |
Training, validazione e test. Dimensionamento degli insiemi di training, validazione e test. La validazione incrociata. Riduzione delle feature. Feature selection. Best subset selection, forward stepwise selection. Regolarizzazione e principio Regularized Loss Minimization (RLM). Regolarizzazione L2 e regressione ridge. |
[W 9.7.1] |
|
14 Ottobre |
Esercitazione: Metodi di regressione in SciKit-Learn. |
[G 4] |
|
15 Ottobre |
Soluzione della regressione ridge. Regolarizzazione L1 e regressione LASSO. Classificazione e funzione di costo 0-1. Inaccuratezza di un classificatore. Classificazione K-Nearest Neighbor. Esempio sul dataset MNIST. |
[W 9.7.2-9.7.3] |
|
20 Ottobre |
Classificazione generativa. Classificatore Bayesiano. Fit di gaussiane univariate. Analisi del discriminante unidimensionale. |
[J 4.4] |
|
21 Ottobre |
Esercitazione: Classificazione generativa (univariata). |
||
22 Ottobre |
Fit di gaussiane multivariate. Coefficiente di correlazione e covarianza. Matrice di covarianza. Analisi del discriminante quadratica. Analisi del discriminante lineare. |
[J 4.4] |
|
27 Ottobre |
Confidenza nelle predizioni. Classificazione Naive Bayes. MLE per una distribuzione di Bernoulli. Funzione cross-entropia. |
[S 24.2] |
|
28 Ottobre |
Esercitazione: Classificazione generativa (multivariata). |
||
29 Ottobre |
Classificazione discriminativa. Regressione logistica nel caso binario. Sigmoide logistica e sue proprietà. Formulazione con etichette 0/1. Regola SGD per la regressione logistica. |
[W 6.1-6.2] |
|
3 Novembre |
Formulazione con etichette -1/+1. Funzione softmax. Separabilità lineare. Regressione logistica regolarizzata. Classe di ipotesi del percettrone. |
[W 6.3] |
|
4 Novembre |
Esercitazione: Regressione logistica in SciKit-Learn. |
[G 4] |
|
5 Novembre |
Funzione hinge. Algoritmo del percettrone. Convergenza del percettrone. Forma duale del percettrone. |
[W 6.4-6.4.4] |
|
10 Novembre |
Support Vector Machines. Massimizzazione del margine. Hard-margin SVM. Soft-margin SVM. |
[W 6.5-6.6] |
|
12 Novembre |
Metriche di qualità nella classificazione. Sensibilità, specificità e accuratezza bilanciata. Classificazione multiclasse: one-vs-rest e softmax. |
[W 6.8-6.9, 7.1-7.2, 7.3.5-7.3.7] |
|
17 Novembre |
Reti neurali. Funzioni di attivazione. Strati nascosti. Emulazione di operatori logici. |
[W 13.1-13.3] |
|
18 Novembre |
Esercitazione: Implementazione della regressione logistica per la classificazione di immagini. |
[W 13.2] |
|
19 Novembre |
Discesa del gradiente nelle reti neurali. Propagazione in avanti e retropropagazione. |
[W 13.4-13.5] |
|
24 Novembre |
Architetture convolutive. Approssimazione universale. Spazio delle feature. Kernel e teorema del rappresentante. |
[W 11.1-11.2, 12.1-12.2] |
|
25 Novembre |
Esercitazione: Introduzione a TensorFlow. |
[G 10] |
|
26 Novembre |
Dimostrazione del teorema del rappresentante. Esempi di Kernel. Teorema di Mercer. Predizioni con i kernel. |
[W 12.3-12.7] |
|
1 Dicembre |
Modelli ad albero. Alberi di regressione. Alberi di classificazione. Combinazione di modelli. Boosting. |
[W 14.1-14.5] |
|
2 Dicembre |
Esercitazione: Linee guida per i progetti. |
||
3 Dicembre |
AdaBoost. Bagging e random forest. Apprendimento della rappresentazione. Clustering k-means. |
[W 14.5-14.6, 8.1, 8.5] |
|
9 Dicembre |
Esercitazione: Modelli ad albero e clustering. |
[G 7, 9] |
|
10 Dicembre |
Applicazioni di k-means. Clustering gerarchico. Metodi di linkage. Riduzione della dimensionalità. Autoencoder lineare. |
[W 8.2] |
|
15 Dicembre |
Principal Component Analysis. Sferificazione PCA. Sistemi di raccomandazione. Diagnosi di alta varianza o alto bias. Analisi degli errori. |
[W 8.3-8.4, 9.3, 9.5] |