Computazione per l’interazione naturale: Modelli...

20
Computazione per l’interazione naturale: Modelli dinamici Corso di Interazione uomo-macchina II Prof. Giuseppe Boccignone Dipartimento di Scienze dell’Informazione Università di Milano [email protected] http://boccignone.di.unimi.it/IUM2_2014.html Modelli dinamici

Transcript of Computazione per l’interazione naturale: Modelli...

Page 1: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Computazione per l’interazione naturale: Modelli dinamici

Corso di Interazione uomo-macchina II !Prof. Giuseppe Boccignone!Dipartimento di Scienze dell’InformazioneUniversità di [email protected]://boccignone.di.unimi.it/IUM2_2014.html

Modelli dinamici

Page 2: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Modelli dinamici

Processi temporali

• N stati o categorie

!

!

• Distribuzione congiunta fattorizzabile come

stato al tempo t

Page 3: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Processi di Markov

• Il prossimo stato dipende dallo stato presente

!

!

• Condizionatamente al presente, passato e futuro sono indipendenti

Matrici di transizione di stato

• Catena di Markov stazionaria con N stati descritta da una matrice di transizione

Page 4: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Diagrammi di transizione fra stati

Modello grafico di una catena di Markov

• Da non confondere con il diagramma di transizione fra stati

Relazione fra Q e modello grafico

Page 5: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Statistiche delle catene di Markov

Catene di ordine superiore al primo

Page 6: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Processi dinamici a stati continui

• Gli stati sono definiti in uno spazio euclideo continuo:

famiglia parametrica di densità di transizioni fra stati

Modelli nascosti di Markov (Hidden Markov Models, HMM)

Stati nascosti

Processi osservati

Page 7: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

!

!

!

!

!

!

• Dato le osservazioni passate non ci dicono nulla di più sul futuro

Stati nascosti

Processi osservati

Modelli nascosti di Markov (Hidden Markov Models, HMM)

!

!

!

!

!

!

• Si associa a ciascuno degli N stati una differente probabilità di osservazione (emissione)

Stati nascosti

Processi osservati

Modelli nascosti di Markov //stati discreti

Page 8: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

• Osservazioni discrete:

!

!

!

• Osservazioni continue:

Modelli nascosti di Markov //osservazioni: discrete e continue

Esempio

Page 9: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

!

!

!

• Cosa possiamo inferire sugli stati da una sequenza osservata di dati?

• Filtraggio (analisi on line)

!

• Smoothing (analisi batch)

Stati nascosti

Processi osservati

Modelli nascosti di Markov //Inferenza

Problemi di inferenza risolvibili con HMM

• Filtraggio

!

• Smoothing

!

• Decodifica

!

• Classificazione

Page 10: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

HMM discreti: //filtraggio

Costante di normalizzazione

Predizione

!

!

!

!

!

!

• L’algoritmo forward-backward aggiorna il filtraggio con una ricorsione indietro nel tempo

HMM discreti: //smoothing

Page 11: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Stima dello stato ottimo //Algoritmo Forward-Backward

• Usando Forward-Backward:

!

!

• misuro la probabilità a posteriori sul singolo stato nascosto

• Possiamo usare la regola MAP (o moda) per la stima

!

• E se volessimo trovare la sequenza di stati con la massima probabilità congiunta? -> Algoritmo di Viterbi

Stima della sequenza di stati ottima //Algoritmo di Viterbi

!

!

• E’ una forma di programmazione dinamica per trovare (ricorsivamente) la probabilità congiunta della sequenza di stati più probabile che ha generato la sequenza di osservazioni

Page 12: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Classificazione con HMM

• Training: coppie di (sequenze di stati, sequenze di osservazioni)

• Test: predizione di sequenze di stati da sequenze di osservazioni

• Prima bisogna effettuare il learning dei parametri

• Esempio: stima di Maximum Likelihood con EM

!

!

!

• In fase di test, poi si usa Forward-Backward o Viterbi per classificare gli stati

Apprendimento dei parametri //Algoritmo di Baum-Welch (EM per HMM)

• Date le sequenze di training

• Passo E: Fissati i parametri inferisco gli stati nascosti

!

!

!

!

• Passo M: Fissati gli stati, aggiorno i parametri di transizione e di osservazione

Page 13: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Apprendimento dei parametri //Algoritmo di Baum-Welch (EM per HMM)

• Date le sequenze di training

• Passo E: Fissati i parametri inferisco gli stati nascosti

!

!

!

• Passo M: Fissati gli stati, aggiorno i parametri di transizione e di osservazione

HMM continui //Modelli a spazi degli stati lineari

!

!

!

!

!

!

!

• Il filtro di Kalman è un esempio di HMM continuo

Page 14: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

HMM continui //Modelli a spazi degli stati (lineari)

!

!

!

!

• Utilizzando un modello Gaussiano tutto può essere rappresentato in termini di medie e covarianze

HMM continui //Filtro di Kalman

Differenza fra predizione e osservazione

predizione

osservazione e update

Page 15: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

HMM continui //Filtro di Kalman

HMM continui //Filtro di Kalman

Page 16: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Filtro di Kalman come regressore on-line

!

!

!

!

• La media a posteriori minimizza l’errore quadratico medio di predizione

Filtro di Kalman come regressore on-line

Page 17: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

HMM continui //Modelli a spazi degli stati non lineari

!

!

!

!

!

!

!

• Dinamica degli stati e osservazioni sono funzioni non lineari (non Gaussiane)

HMM continui //Modelli a spazi degli stati non lineari

Page 18: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

HMM continui //Filtraggi non lineari

Filtraggi non lineari approssimati: //Particle filtering (Condensation, etc...)

Le distribuzioni di probabilità

vengono rappresentati

con dei campioni

Page 19: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Filtraggi non lineari approssimati: //Particle filtering (Condensation, etc...)

Filtraggi non lineari approssimati: //Particle filtering (Condensation, etc...)

Page 20: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio

Filtraggi non lineari approssimati: //Particle filtering (Condensation, etc...)

Generalizzazioni degli HMM //Dynamic Bayesian Network