IN550 - Machine Learning - AA 2018-2019

Lezioni

Diario delle lezioni dell'AA 2018-2019


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

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

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

Lezione n. 1 - Tuesday 26 February 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 - Thursday 28 February 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;

Lezione n. 3 - Friday 1 March 2019

  • Regressione lineare multivariata; notazione vettoriale della funzione ipotesi e della funzione costo; algoritmo Gradient Descent per la multivariata; notazione matriciale; 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 - Tuesday 5 March 2019

  • L'ambiente di programmazione Octave; operazioni vettoriali; funzioni; plotting;

Lezione n. 5 - Thursday 7 March 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;

Lezione n. 6 - Friday 8 March 2019

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

Lezione n. 7 - Tuesday 19 March 2019

  • 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; Neural networks history; AI e connessionismo; il percettrone; la regola di apprendimento di Rosenblatt; apprendimento di funzioni booleane; i limiti del percettrone;

Lezione n. 8 - Thursday 21 March 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. 9 - Friday 22 March 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. 10 - Tuesday 26 March 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. 11 - Thursday 28 March 2019

  • Logistic Regression in Octave; Calcolo della funzione sigmoidale; Calcolo della funzione costo per multivariate linear regression (versione scalare e versione vettoriale); Utilizzo della funzione di libreria fminunc per ottimizzare i parametri theta; uso dei parametri per effettuare predizioni circa il problema affrontato;

Lezione n. 12 - Friday 29 March 2019

  • Regularized Logistic Regression; Calcolo della funzione costo con Regolarizzazione (versione vettoriale); Uso della funzione di libreria Octave fminunc per calcolare i parametri ottimali della regolarizzata dato un training set con due features; Uso della ipotesi regolarizzata per fare una predizione; Calcolo della accuracy sul training set;

Lezione n. 13 - Tuesday 2 April 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. 14 - Thursday 4 April 2019

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

Lezione n. 15 - Monday 8 April 2019

  • Sessione esoneri dal 08/04/2019 al 12/04/2019. Insegnamento IN550 Machine learning (1161). Aula M3. Data 08/04/2019 dalle 11:00 alle ore 13:00

Lezione n. 16 - Tuesday 16 April 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. 17 - Thursday 18 April 2019

  • Laboratorio: implementazione dell'Algoritmo di Error Back Propagation per il training di un Multi-Layer Perceptron; definizione di una 3-layers NN; input del training set e visualizzazione; input dei parametri pre-stimati e unrolling dei parametri in un vettore;

Lezione n. 18 - Friday 26 April 2019

  • Laboratorio: implementazione dell'Algoritmo di Error Back Propagation per il training di un Multi-Layer Perceptron; implementazione della funzione costo per la NN; implementazione del forward prop e del backward prop per il calcolo del gradiente della funzione costo;

Lezione n. 19 - Tuesday 30 April 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. 20 - Thursday 2 May 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 - Friday 3 May 2019

  • Laboratorio: completamento dell'esercizio relativo alla implementazione dell'Algoritmo di Error Back Propagation per il training di un Multi-Layer Perceptron;

Lezione n. 22 - Tuesday 7 May 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 - Thursday 9 May 2019

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

Lezione n. 24 - Tuesday 14 May 2019

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

Lezione n. 25 - Thursday 16 May 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 - Tuesday 21 May 2019

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

Lezione n. 27 - Thursday 23 May 2019

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

Lezione n. 28 - Tuesday 28 May 2019

  • Laboratorio: completamento dell'esercizio relativo a PCA;

Lezione n. 29 - Thursday 30 May 2019

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

Lezione n. 30 - Friday 31 May 2019

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