computazione per l’interazione naturale: modelli...
TRANSCRIPT
![Page 1: Computazione per l’interazione naturale: Modelli dinamicihomes.di.unimi.it/~boccignone/GiuseppeBoccignone_webpage/IUM2_2014...• L’algoritmo forward-backward aggiorna il filtraggio](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/7.jpg)
!
!
!
!
!
!
• 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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/8.jpg)
• 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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/9.jpg)
!
!
!
• 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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022020216/5c671eb809d3f2bf4a8b6cc4/html5/thumbnails/20.jpg)
Filtraggi non lineari approssimati: //Particle filtering (Condensation, etc...)
Generalizzazioni degli HMM //Dynamic Bayesian Network