logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 053457 - IDENTIFICAZIONE DEI MODELLI E MACHINE LEARNING [C.I.]
Docente Garatti Simone , Vercellis Carlo
Cfu 12.00 Tipo insegnamento Corso Integrato

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (Mag.)(ord. 270) - MI (471) BIOMEDICAL ENGINEERING - INGEGNERIA BIOMEDICA*AZZZZ088779 - IDENTIFICAZIONE DEI MODELLI E ANALISI DEI DATI 2
053457 - IDENTIFICAZIONE DEI MODELLI E MACHINE LEARNING [C.I.]
053458 - MACHINE LEARNING

Obiettivi dell'insegnamento

Nell’ingegneria dei nostri giorni i problemi di analisi e progetto si risolvono sempre più frequentemente mediante il ricorso a modelli matematici atti a descrivere le caratteristiche salienti dei sistemi oggetto di studio, siano essi sistemi tecnologici o dispositivi industriali, fenomeni biologici o naturali, processi economici o finanziari, ecc. A causa della complessità crescente dei problemi studiati, capita sempre più spesso che sia impossibile dedurre le descrizioni matematiche richieste da leggi proprie delle varie discipline dell’ingegneria e sempre più spesso è necessario derivare i modelli induttivamente mediante procedimenti di stima automatica a partire da osservazioni sperimentali. Lo studio di questi procedimenti che consentono di effettuare la conversione di dati in modelli semplici e adeguati è l’obiettivo di questo insegnamento. L'insegnamento è diviso in due parti. Una parte di Identificazione dei Modelli, che si occupa principalmente di problemi legati alla modellistica a partire dai dati di sistemi dinamici lineari, e una seconda parte di Machine Learning, che invece si occupa principalmente di problemi legati alla modellistica a partire dai dati di sistemi statici possibilmente nonlineari e di decisioni guidate dai dati.

 

Il corso è coerente con il profilo curricolare complessivo nel perseguire gli obiettivi generali. In particolare, il corso contribuisce allo sviluppo delle seguenti competenze:

- Comprendere i contesti nei quali risulta opportune utilizzare metodi di identificazione dei modelli, di machine learning e data analysis

- Identificare i trends, le tecnologie e le principali metodologie di identificazione dei modelli e machine learning

- Progettare soluzioni di problem reali applicando le metodologie descritte


Risultati di apprendimento attesi

Per la parte di Identificazione dei Modelli, l'obiettivo di questo insegnamento è quello di fornire la basi per la modellizzazione tramite sistemi dinamici a partire da dati sperimentali, assieme allo sviluppo di tecniche per la predizione di variabili e la stima di parametri attraverso sensori virtuali. Mediante le lezioni e le esercitazioni, lo studente:

- Acquisirà le nozioni di base dei sistemi stocastici e sarà in grado di valutarne le proprietà principali.

- Sarà in grado di risolvere un problema di stima e di predizione ottima e sarà in grado di valutare le proprietà della soluzione trovata.

- Conoscerà i principali algoritmi per l'elaborazione dei dati al fine di identificare un modello a partire da dati sperimentali.

- Sarà in grado di valutare la bontà degli algoritmi implementati.

- Sarà in grado di compiere scelte progettuali nell'ambito dell'identificazione al fine di ottimizzare il risultato ottenuto.

 

Per la parte di Machine Learning, l'insegnamento offre un’introduzione alle tecniche e agli algoritmi di machine learning e pattern recognition. Esso fornisce agli studenti le intuizioni e le idee che stanno alla base degli attuali metodi di machine learning, accanto a una trattazione dettagliata della maggior parte delle tecniche illustrate. Al completamento del corso gli studenti avranno ottenuto:

- Buona conoscenza dei componenti principali di machine learning: dati, algoritmi, selezione e complessità dei modelli.

- Capacità di apprezzare le problematiche di apprendimento dai dati.

- Conoscenza di un ampio spettro di algoritmi di machine learning.

- Capacità di applicazione degli algoritmi a problemi reali.

- Capacità di effettuare selezione dei modelli sulla base di opportune metriche.

- Conoscenza della struttura matematica dei principali metodi e dei punti di forza e debolezza di ciascuno.

- Conoscenza dei paradigmi di supervised e unsupervised learning.

 

 


Argomenti trattati

PRIMA PARTE: IDENTIFICAZIONE DEI MODELLI

 

Leggi e modelli nell'ingegneria e nelle scienze.

Accuratezza dei modelli e loro complessità. Stima da osservazioni sperimentali. Modelli per la classificazione, la predizione, il controllo, la simulazione e la gestione. Tecniche di trattamento dei dati

 

Modelli dinamici stocastici, analisi spettrale e predizione

Processi stocastici. Modelli ingresso/uscita per serie temporali e relazioni causa/effetto (modelli a tempo continuo e a tempo discreto, modelli AR, MA, ARMA, ARX, ARMAX, Box-Jenkins). Analisi di correlazione e analisi spettrale. Teoria della predizione alla Kolmogorov-Wiener

 

Identificazione di modelli ingresso-uscita

Problemi e tecniche di stima. Il problema dell'identificazione. Identificazione a partire da prove sperimentali semplici. Identificazione a Minimi Quadrati e a Massima Verosimiglianza. Identificazione di modelli AR, MA, ARMA, ARMAX. Scelta della complessità (AIC, MDL, ecc.). Equazioni di Yule-Walker e algoritmo di Durbin-Levinson. Stima dello spettro.

 

Filtraggio e predizione alla Kalman

Modelli incerti di stato. Filtraggio, predizione e regolarizzazione. Filtro di Kalman. Filtro di regime. Filtro di Kalman esteso. Impiego del filtro di Kalman nell'identificazione di modelli.

 

SECONDA PARTE: MACHINE LEARNING

 

Introduzione a Machine Learning

Motivazioni di machine learning. Machine learning, artificial intelligence e big data. Applicazioni di machine learning. Rappresentazione dei dati di input. Processo di machine learning.

 

Exploratory data analysis

Data validation e cleansing, identificazione di outlier e missing values detection. Data transformation. Data reduction. Sampling. Feature selection. Features extraction mediante filtering. Principal component analysis. Data discretization. Analisi univariata: analisi grafica, misure di tendenza centrale, dispersione, posizionamento relativo, eterogeneità, analisi della densità empirica. Analisi bivariata: analisi grafica, correlazione, tabelle di contingenza. Analisi multivariata: analisi grafica, indici di correlazione.

 

Supervised learning: classificazione e regressione

Tassonomia dei metodi supervised. Valutazione di modelli di classificazione: holdout, cross-validation, matrici di confusione, curve ROC, guadagno cumulato e lift. Trattamento di attributi categorici. Nearest neighbor. Alberi di classificazione e regressione: separazione, arresto e pruning. Metodi bayesiani: bayesiani naive, reti bayesiane. Regressione logistica. Reti neurali: perceptrone di Rosenblatt, reti feed-forward a più livelli. Support vector machines: minimizzazione del rischio strutturale; iperpiani di margine massimo per la separazione lineare; separazione nonlineare. Regressione lineare semplice e multipla. Assunzioni relative ai residui. Least square regression: normalità e indipendenza dei residui, significatività dei coefficienti, analisi della varianza, coefficienti di determinazione e correlazione lineare, multicollinearità, limiti di confidenza e predizione. Selezione delle variabili predittive. Regressione ridge. Regressione lineare generalizzata.

 

Regole associative

Motivazione e valutazione delle regole associative. Regole associative a dimensione singola. Algoritmo Apriori: generazione degli itemset frequenti; generazione delle regole forti. Altre regole di associazione.

 

Clustering

Tassonomia dei modelli di clustering. Misure di affinità. Metodi di partizione: K-medie, K-medoidi. Metodi gerarchici: metodi di agglomerazione e di suddivisione. Valutazione dei modelli di clustering

 

Applicazioni e use cases

Applicazioni di marketing relazionale. Web mining. Social market analysis. Speech recognition. Text mining. Fraud and anomaly detection. Bioinformatics.


Prerequisiti

Per la parte di Identificazione dei Modelli sono richieste le principali nozioni di base di teoria di sistemi e dei fondamenti dell'automatica. Sono anche richiesti i concetti d base del calcolo della probabilità e della statistica.

Machine Learning è una disciplina di confine tra matematica e computer science. Pertanto, si richiede un buon background in probabilità, algebra lineare e analisi, nonché esperienza con linguaggi di programmazione.


Modalità di valutazione

L'esame consta di due prove scritte (esclusivamente in lingua italiana), una della durata di 2 ore per quello che riguarda la parte di Identificazioen dei Modelli e una della durata di 1 ora per quello che riguarda la parte di Machine Learning. Soltanto gli studenti registrati ufficialmente per una sessione potranno sostenere il corrispondente esame. Registrazioni tardive non saranno ammesse.

 

Nello specifico, la prova relativa della parte di Identificazione dei Modelli consta di 4 esercizi numerici e di 2 domande teoriche a risposta aperta sugli argomenti del corso. In alcuni esercizi verranno proposte domande volte a evidenziare la capacità dello studente di elaborare collegamenti fra i vari argomenti del corso. Nello specifico lo studente dovrà:

- essere in grado di analizzare le principali proprietà di un sistema dinamico stocastico e di calcolarne la media, la funzione di covarianza e lo spettro del processo stocastico di uscita;

- dimostrare di conoscere le principali definizioni e concetti inerenti ai sistemi dinamici stocastici, al problema della predizione dell'uscita e dello stato e al problema dell'identificazione dei modelli a partire da dati sperimentali;

- saper utilizzare i principali risultati analitici trattati al fine di calcolare il predittore di sistemi I/O o di Kalman; essere in grado di valutarne le proprietà e il cambiamento al fronte di variazione di parametri; essere in grado di confrontare risultati diversi e scegliere quello più opportuno in relazione alla situazione di interesse;

- conoscere e dimostrare di sapere implementare numericamente i principali algoritmi per l'elaborazione dei dati al fine dell'identificazione dei modelli;

- dimostrare di saper analizzare le proprietà degli algoritmi di identificazione e di saper scegliere i parametri di progetto più significativi (ad esempio la classe di modelli e la sua complessità) al fine di ottimizzare il risultato ottenuto.

 

La prova relativa della parte di Machine Learning prevede risposte in forma aperta o chiusa. Alcune domande di carattere più teorico mirano a verificare l’acquisizione di conoscenze relative ai metodi e agli algoritmi. Altre domande di natura più applicativa mirano a verificare la capacità di applicare i metodi e gli algoritmi a casi reali, di comprendere gli output e di ricavare le implicazioni nel contesto applicativo.

 


Bibliografia
Risorsa bibliografica facoltativaS. Bittanti, Teoria della predizione e del filtraggio, Editore: Pitagora
Risorsa bibliografica facoltativaS. Bittanti, Identificazione dei modelli e sistemi adattativi, Editore: Pitagora
Risorsa bibliografica facoltativaT. Söderström, Discrete-time stochastic systems, Editore: Springer
Risorsa bibliografica facoltativaT. Söderström, P. Stoica, System Identification, Editore: Prentice Hall
Risorsa bibliografica facoltativaC. Vercellis, Business intelligence: data mining and optimization for decision making, Editore: Wiley
Risorsa bibliografica facoltativaT. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning, Editore: Springer
Risorsa bibliografica facoltativaE. Alpaydin, Introduction to Machine Learning, Editore: MIT press
Risorsa bibliografica facoltativaA. Geron, Hands-On Machine Learning With Scikit-Learn and Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems, Editore: O'Reilly

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
72:00
108:00
Esercitazione
27:57
41:56
Laboratorio Informatico
20:02
30:03
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 119:59 179:59

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
schedaincarico v. 1.5.6 / 1.5.6
Area Servizi ICT
20/06/2019