IN550 - Machine Learning - AA 2019-2020

Lezioni

Diario delle lezioni dell'AA 2019-2020


Le lezioni si tengono nel II semestre con il seguente orario:
  • [-] Lunedì ore 09.00-11.00 (lezione, Aula M4);
  • [-] Mercoledì ore 09.00-11.00 (lezione/esercitazioni, Laboratorio Informatica).

Eventuali lezioni di recupero si tengono il
  • [-] Giovedì ore 09.00-11.00 (lezione, Aula M2).

Ricevimento:
Mercoledì dalle ore 11.00 alle 12.00, studio 308 pal C sede San L. Murialdo 1

Lezione n. 1 - Monday 23 September 2019

  • Orientamento e organizzazione del corso. Panoramica generale degli argomenti; Intreoduzione e generalita'; Cosa e' l'apprendimento automatico; definizione; apprendimentio supervisionato e non supervisionato; la regressione ed il clustering; esempi; generalita' su Octave;

Lezione n. 2 - Wednesday 25 September 2019

  • Regressione lineare univariata; rappresentazione; la funzione ipotesi; la scelta dei parametri della funzione ipotesi; la funzione costo; l'algoritmo Gradient Descent; note sulla scelta del parametro alpha; Regressione lineare multivariata; notazione vettoriale della funzione ipotesi e della funzione costo; algoritmo Gradient Descent per la multivariata; notazione matriciale;

Lezione n. 3 - Thursday 26 September 2019

  • Regressione lineare multivariata; feature scaling and normalization; polynomial regression; la Normal Equation per la regressione multivariata; note finali sul confronto dell'algoritmo Gradient Descent e il calcolo della Normal Equation;

Lezione n. 4 - Monday 30 September 2019

  • La Regressione Logistica; la classificazione binaria; rappresentazione delle ipotesi; la funzione logistica; il decision boundary; la funzione costo per la regressione logistica; l'algoritmo della discesa del gradiente per la regressione logistica; derivazione analitica del gradiente della funzione costo per la regressione logistica; note sulla implementazione in Octave della funzione costo e dell'algoritno della discesa del gradiente nel caso della regressione logistica; considerazioni sui metodi di ottimizzazione avanzati; classificazione multi-classe; il metodo one-vs-all; La regolarizzazione; il problema dell'overfitting/underfitting (ovvero high variance/high bias); modifica della funzione costo; il parametro di regolarizzazione; regolarizzazione della regressione lineare; l'agoritmo della discesa del gradiente con la regolarizzazione; la normal equation regolarizzata; la regressione logistica con la regolarizzazione;

Lezione n. 5 - Wednesday 2 October 2019

  • L'ambiente di programmazione Octave; funzioni vettoriali; esecuzione di funzionia annidate; implementazione di un algoritmo per la normalizazione delle features da usare per la linear regression;

Lezione n. 6 - Monday 7 October 2019

  • Neural networks history; AI e connessionismo; il percettrone; la regola di apprendimento di Rosenblatt; apprendimento di funzioni booleane; i limiti del percettrone;

Lezione n. 7 - Wednesday 9 October 2019

  • Esercitazione su Univariate Linear Regression con Octave su un data set dato; lettura e visualizzazione del data set; Calcolo della funzione costo in versione scalare e in versione vettoriale; Implementazione dell'algoritmo Batch Gradient Descent in versione scalare ed in versione vettoriale;

Lezione n. 8 - Thursday 10 October 2019

  • Esercitazione su Multivariate Linear Regression in Octave su un data set dato; implemetazione della Feature Normalization; Calcolo della funzione costo (per multivariate lin regression) in versione scalare ed in versione vettoriale;

Lezione n. 9 - Monday 14 October 2019

  • Implementazione dell'Algoritmo della Discesa del Gradiente (per multivariate linear regression) in versione scalare e vettoriale; Implementazione della Normal Equation in forma vettoriale;

Lezione n. 10 - Wednesday 16 October 2019

  • Logistic regression: utilizzo della funzione di libreria fminunc per ottimizzare i parametri della funzione ipotesi; uso dei parametri ottimali per effettuare predizioni circa il problema affrontato; visualizzazione della decision boundary.

Lezione n. 11 - Thursday 17 October 2019

  • Neural networks; motivazioni; i neuroni; la neuroplasticita' e la one-learning-algorithm hypothesis; model representation; il neurone come logistic unit; la matrice dei pesi; il bias; la funzione di attivazione; il forward propagation; versione vettoriale; le NN come estensione della logistic regression; calcolo delle funzioni booleane AND, OR, NOT, XNOR; multiclass classification con Neural Networks;

Lezione n. 12 - Monday 21 October 2019

  • Neural Network Learning; funzione costo di un Multi Layer Perceptron; l'algoritmo di Backpropagation; Intuizione e formalizzazione;

Lezione n. 13 - Wednesday 23 October 2019

  • Completamento degli esercizi su Regressione Lineare Multivariata e Logistic Regression; Completamento degli esercizi su Regressione Lineare Multivariata e Logistic Regression;

Lezione n. 14 - Thursday 24 October 2019

  • Completamento degli esercizi su Regressione Lineare Multivariata e chiarimenti vari; Completamento degli esercizi su Regressione Lineare Multivariata e chiarimenti vari;

Lezione n. 15 - Monday 28 October 2019

  • Neural Network learning; Error BackPropagation Algorithm (versione scalare, versione vettoriale); Note sulla implementazione; rolling e unrolling dei parametri per il passaggio della matrice dei pesi in Octave; Gradient checking mediante il calcolo del gradiente approssimato numerico; inizializzazione dei pesi e symmetry breaking; La rete ALVINN (an autonomous driving system);

Lezione n. 16 - Wednesday 30 October 2019

  • Completamento degli esercizi in laboratorio e chiarimenti vari. Assegnazione dell'esercizio su EBP da consegnare prima della fine del corso di IN550. Spiegazioni e chiarimenti.

Lezione n. 17 - Thursday 31 October 2019

  • Completamento degli esercizi in laboratorio su regressione logistica e rappresentazione delle NN + chiarimenti vari. Completamento degli esercizi in laboratorio su regressione logistica e rappresentazione delle NN + chiarimenti vari.

Lezione n. 18 - Monday 4 November 2019

  • Machine Learning Diagnostic; Evaluating a Learning Algorithm; The test set error; Model selection + training, validation and test set; The concept of Bias and variance; Regularization and Bias/Variance; Choosing the regularization parameter; Putting all together: diagnostic method; Learning curves; Machine Learning system design; Debugging a learning algorithm; Diagnosing Neural Networks ; Model selection; Error analysis; The importance of numerical evaluation; Error Metrics for Skewed Classes; Precision/Recall and Accuracy; Trading Off Precision and Recall; The F1 score; Data for Machine Learning; Designing a high accuracy learning system; Rationale for large data;

Lezione n. 19 - Wednesday 6 November 2019

  • Completamento degli esercizi 3 e 4 e chiarimenti sull'Esercizio 5 assegnato la scorsa settimana come progetto da consegnare entro la fine del corso. Completamento degli esercizi 3 e 4 e chiarimenti sull'Esercizio 5 assegnato la scorsa settimana come progetto da consegnare entro la fine del corso.

Lezione n. 20 - Thursday 7 November 2019

  • Support Vector Machines; SVM Cost function; SVM come Large margin Classifiers; i Kernels; scelta dei landmarks; scelta dei parametri C e sigma; Multi-class Classification con SVM confronto tra Logistic Regression e SVM e tra NN vs. SVM;

Lezione n. 21 - Wednesday 13 November 2019

  • Esonero Aula M4 Data 13/11/2019 dalle 9:00 alle ore 11:00 Esonero Aula M4 Data 13/11/2019 dalle 9:00 alle ore 11:00

Lezione n. 22 - Monday 2 December 2019

  • Clustering; l'algoritmo K-means; cluster assignment step; move centroids step; optimization objective; choosing the number of clusters, the elbow method; Dimensionality Reduction; Principal Component Analysis; Motivation I: Data compression; Motivation II: data visualization - Problem Formulation; Goal of PCA; Il ruolo della Singular Value Decomposition nell'algoritmo PCA; Reconstruction from compressed representation; Algorithm for choosing k; Advice for Applying PCA; The most common use of PCA; Misuse of PCA;

Lezione n. 23 - Wednesday 4 December 2019

  • Laboratorio: implementazione in Octave/MATLAB dell'algoritmo SVM; Laboratorio: implementazione in Octave/MATLAB dell'algoritmo SVM;

Lezione n. 24 - Thursday 5 December 2019

  • Laboratorio: implementazione in Octave/MATLAB dell'algoritmo k-means; Laboratorio: implementazione in Octave/MATLAB dell'algoritmo k-means;

Lezione n. 25 - Monday 9 December 2019

  • Anomaly Detection; Problem motivation; Density estimation; Gaussian distribution; Anomaly Detection; Gaussian distribution; Parameter estimation; The Anomaly Detection Algorithm; Anomaly Detection vs. Supervised Learning; Multivariate Gaussian Distribution; Recommender Systems; Collaborative Filtering; Motivation; Problem Formulation; Content Based Recommendations; Notation; Optimization objective; Gradient descent update; Low Rank Matrix Factorization;

Lezione n. 26 - Wednesday 11 December 2019

  • Laboratorio: implementazione in Octave/MATLAB dell'algoritmo per la Principal Components Analysis. Laboratorio: implementazione in Octave/MATLAB dell'algoritmo per la Principal Components Analysis.

Lezione n. 27 - Thursday 12 December 2019

  • Laboratorio: completamento degli esercizi relativi alla implementazione in Octave/MATLAB degli algoritmi SVM, k-means e PCA. Laboratorio: completamento degli esercizi relativi alla implementazione in Octave/MATLAB degli algoritmi SVM, k-means e PCA.

Lezione n. 28 - Monday 16 December 2019

  • Learning with large datasets; Online learning; Stochastic gradient descent; Mini-batch gradient descent; Checking for convergence; Map reduce and data parallelism;

Lezione n. 29 - Wednesday 18 December 2019

  • Machine Learning pipeline; the OCR systeml ceiling analysis; Laboratorio: esercizio relativo a Recommender Systems;

Lezione n. 30 - Thursday 19 December 2019

  • Conlcusione del corso; Considerazioni finali; Laboratorio: completamento dell'eserizio relativo a Recommender Systems;