Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik Zeitreihenanalyse mit Hidden Markov Modellen (nach http://www.cs.cmu.edu/~awm/tutorials) VL PLT2 Professur für Prozessleittechnik
Übersicht Wiederholung Markov Modelle Modellierungsansatz & Markov Eigenschaft Beispiel: Robot-Human-Spiel Typische Fragestellungen an ein Markov Modell Einführung Dynamic Programming Hidden Markov Modelle Modellierungsansatz 3 Problemstellungen Schätzen: Backward-Forward Verfahren Suchen: Viterbi Pfade Lernen: Baum-Welch Verfahren 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 2
Andrei Andreyevich Markov * 14. Juni 1856 20. Juli 1922 Professor in Sankt Petersburg für Theorie der stochastischen Prozesse Leonard E. Baum: 1960er erste Veröffentlichung über Hidden Markov Modelle. Entwickelt für die Spracherkennung 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 3
Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik Wiederholung Markov Modelle
Wiederholung Markov Modelle Ein System habe N Zustände s 1, s 2,, s n Zeitschritte t=1, t=2, Im Zeitschritt t ist das System in genau einem Zustand q t {s 1, s 2,, s n } Zu jedem Zeitschritt wird der nächste Zustand zufällig gewählt Die Wahrscheinlichkeitsverteilung für den nächsten Zustand wird nur vom aktuellen Zustand bestimmt (und nicht vom Weg dahin) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 5
Beispiel Markov Modelle 3 Zustände s 1, s 2, s 3 Übergangswahrscheinlichkeiten aus s 1 P(q t+1 =s 1 q t =s 1 )=0 P(q t+1 =s 2 q t =s 1 )=0 1/2 P(q t+1 =ss 3 q t =ss 1 )=1 Übergangswahrscheinlichkeiten aus s 2 P(q t+1 =s 1 q t =s 2 )=1/2 P(q t+1 =s s 2 q t =s s 2 )=1/2 s P(q t+1 =s 3 q t =s 2 )=0 1/3 s 1 1/2 s 2 1 2/3 s 3 Übergangswahrscheinlichkeiten aus s 3 P(q t+1 =s 1 q t =s 3 )=1/3 P(q t+1 =s 2 q t =s 3 )=2/3 P(q t+1 =s 3 q t =s 3 )=0 A = 0 0 1 1 2 1 2 0 1 3 2 3 0 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 6
Markov Eigenschaft q t+1 ist bei gegebenem q t bedingt unabhängig* von den vorher eingenommenen Zuständen {q t-1, q t-2,,q 1 } Formal 1/3 1/2 P(q t+1 =ss j q t =ss i ) = P(q t+1 =ss j q t =ss i, beliebiger Weg nach s i ) s s 1 1/2 s 2 1 2/3 s 3 * a und b sind bedingt unabhängig bei gegebenem c wenn gilt P a, b c P a c P b c Diese Aussage ist äquivalent P a b, c = P a c 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 7
Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik Beispiel Robot-Human-Spiel
Beispiel von A. Moore (http://www.cs.cmu.edu/~awm/tutorials) Ein Roboter (R) und ein Mensch (H) bewegen sich zufällig auf einem Spielfeld ld mit 18 Feldern. Der Systemzustand sei definiert als das Tupel <Feld R, Feld H> 18*18=324 Zustände! z.b. <4,8> In jedem Zeitschritt bewegen sich R und H auf ein benachbartes Feld. 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 9
Typische Fragen 1.Wie lange dauert es durchschnittlich bis R und H kollidieren? 2.Wie groß ist die Wahrscheinlichkeit dass R gegen die linke Wand rennt, bevor er mit H zusammenstößt? 3.Wie wahrscheinlich ist es, dass H und R im nächsten Schritt zusammenstoßen? 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 10
Kollisionswahrscheinlichkeit im nächsten Schritt Geg.: Aktuelle Zeit = t, H lebt noch Ges.: Wahrscheinlichkeit, dass H im nächsten Schritt platt ist? R ist blind Berechenbar -> Thema der nächsten Folien R ist allwissend R kennt Zustand, direkt berechenbar R mit Sensoren aber unvollständiger Information Hidden Markov Modell! 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 11
Wahrscheinlichkeit des Zustands q t = s j Es gibt viele Pfade Q = q 1 q 2 q 3 q t zu einem Zustand q t =ss j Wie kann ein bestimmtes P(Q) berechnet werden? Wir kennen den Startzustand q 1, d.h. P(q 1 )=1 Es gilt: P(q 1 q 2 q 3 q t ) = P(q 1 q 2 q 3 q t-1 )P(q t q 1 q 2 q 3 q t-1 ) = P(q 1 q 2 q 3 q t-1 )P(q t q t-1 ) = P(q 1 )P(q 2 q 1 )P(q 3 q 2 ) P(q t q t-1 ) Naiver Ansatz: Summiere Wahrscheinlichkeit aller Wege Q* mit der Länge t, die in s j enden P(q t = s j q 1 ) = Σ Q* P(Q*) Aufwand exponentiell in t, O(N t ) ungeeignet! 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 12
Einfach ist zu teuer! Geht das besser? Zerlegung in leichter lösbare Teilprobleme Dynamic Programming Definiere für jeden Zustand s i p t (i) : WS, dass System zur Zeit t in s i ist, d.h. p t (i) = P(q t = s i ) Rekursiver Ansatz zur Berechnung von p t (i) j i 1 p (i)=? p (j)=p(q t+ 1 t+ 1 =s j ) =? 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 13
Berechnung P(q t = s) i p 1 (i) = 1 fürsi = 0 sonst j p (j) = P(q = s ) = = = t+ 1 P(q P(q a p t+ 1 t+ 1 (i) = s = s t+ 1 j j, q t q Startzustand j = s t i = s ) i )P(q t = s ij t mit a ij = P q t+ 1 = s j q t = s i und i N i ) 1 2 N Aufwand für alle Zustände s : O(t N²)! 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 14
HR-Spiel, reduziertes 2x2 Spielfeld 4*4=16 Zustände Kodiere e Zustand s i als <F H,F R > F H : Feld auf dem H ist F R: Feld auf dem R ist Übergangswahrscheinlichkeiten für F H (s i )=F H (s j ) v F R (s i )=F R (s j ) a ij =P(q t+1 =s j q t =s i ) = 0 sonst a ij=p(q t+1 1=s j q t=s i) = 1/9 Berechnungsbeispiel PIV_MM-2x2HRSpiel.xls 1 2 H R 3 4 Gilt nur für blinde (=zufällige) Züge! 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 Mögliche Zustandsübergänge g nach <2,2> 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 15
Kollisionswahrscheinlichkeit im nächsten Schritt mit Sensorinformationen Geg.: Aktuelle Zeit = t, H lebt noch Ges.: Wahrscheinlichkeit, dass H im nächsten Schritt platt ist? R ist blind R ist allwissend R kennt Zustand, direkt berechenbar R mit Sensoren aber unvollständiger Info Hidden Markov Modell! 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 16
Versteckte Zustände Bislang: Schätzung von P(q t =s j ) ohne Beobachtung Annahme: Beobachtung verfügbar, die von dem wahren Zustand beeinflusst wird. Beispiel HR-Spiel: Umgebungssensor für 8 umgebende Felder Beispiel (W=Wand) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 17
Sensor + Rauschen Umgebungssensor ist nicht perfekt Messrauschen, Fehlklassifikation, Annahmen Beobachtung O t wird nur von Systemzustand q t + Zufallskomponente bestimmt O t sei bedingt unabhängig von {q t-1 1,..q 1,O t-1 1,..O 1 } bei gegebenem q t b i (k)=p(o t =k q t =s i ) = P(O t =k q t =s i, beliebiger Weg nach s i ) = +Fehler 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 18
Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik Hidden Markov Modelle Modellierungsansatz
Einsatz von HMMs Roboterplanung & -sensorik unter Unsicherheit h it Spracherkennung Gestenerkennung Nutzer- und Entscheidungsmodellierung Gensequenzierung Marktmodelle Fehlermodelle in der Prozessautomatisierung 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 20
Formale Definition des HMM Ein HMM ist ein 5-Tupel aus N Anzahl der Zustände M Anzahl der möglichen Beobachtungen {π 1 π n } Anfangsws. π i = P(q 1 = s i ) a ij Matrix der Zustandsübergangsws. a ij = P(q t+1 = s j q t =s i ) i,j [1 N] j j b i (k) Matrix der Beobachtungsws. b i (k) = P(O t = k q t =s i ) i [1 N], k [1 M] 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 21
Hidden Markov Modell (1/2) (Rabiner 1989) http://ieeexplore.ieee.org/iel5/5/698/00018626.pdf?arnumber=18626 Spezifikation eines HMM λ = <N,M,{π i },{a ij },{b i (k)}> Andere Notation: λ = (π,a,b) N: Anzahl der Zustände s 1, s 2,, s N M: Anzahl der Beobachtungen 1 M π: : Initialverteilung A: Zustandsübergangsmatrix B: Zustands-Symbolmatrix 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 22
Hidden Markov Modell (2/2) (Rabiner 1989) http://ieeexplore.ieee.org/iel5/5/698/00018626.pdf?arnumber=18626 T: Länge der Beobachtungssequenz O: Sequenz der Beobachtungen O = O 1 O 2 O 3 O T Q: Pfad durch die Zustände Q = q 1 q 2 q 3 q T 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 23
Beispiel für ein HMM Das Modell startet zufällig im Zustand s oder s im Zustand s 1 oder s 2 In jedem Zustand wird zufällig eines der eingezeichneten Symbole X, Y, Z ausgegeben 21 23 31 33 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 24
Beispiel Beobachtung (1/3) Gegeben: Q=s 1 s 3 s 3, O=X X Z Gesucht: Wie hoch ist P(O)? P(O 1 O 2 O 3 ) = P(O 1 =X Λ O 2 =X Λ O 3 =Z) Direkter (langsamer) Ansatz Summiere über alle Pfade Q der Länge 3: P(O) ( ) = Σ Q P(O( Λ Q) = Σ P(O Q) ( P(Q) wir brauchen P(Q) für einen beliebigen Pfad Q P(O Q) für einen beliebigen Pfad Q 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 25
Beispiel Beobachtung (2/3) Berechnung P(Q) für einen beliebigen Pfad Q P(Q) = P(q 1,q 2,q 3 ) = P(q 2,q 3 q 1 ) P(q 1 ) = P(q 3 q 2 ) P(q 2 q 1 ) P(q 1 ) = P(q 1 ) P(q 2 q 1 ) P(q 3 q 2 ) Beispiel Q=s 1 s 3 s 3 : P(Q) = P(q 1 =s 1 )P(q 2 =s 3 q 1 =s 1 )P(q 3 =s 3 q 2 =s 3 ) = π 1 * a 13 * a 23 = 1/2 * 2/3 * 1/3 = 1/9 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 26
Beispiel Beobachtung (3/3) Berechnung P(O Q) für einen Pfad Q P(O 1 O 2 O 3 q 1,q 2,q 3 ) = P(O 1 q 1 ) P(O 2 q 2 ) P(O 3 q 3 ) Beispiel Q=s 1 s 3 s 3 : P(X q 1 =s 1 ) P(X q 2 =s 3 ) P(Z q 3 =s 3 ) = 1/2 * 1/2 * 1/2 = 1/8 P(O) = ΣQ P(O Λ Q) = Σ P(O Q) P(Q) 27 (N T ) Berechnungen von P(Q) und P(O Q) Bei 20 Beobachtungen: je 3.5 Mrd Berechnungen von P(Q) und P(O Q)! Zu aufwändig! D.P.-Ansatz? 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 27
Elektrotechnik und Informationstechnik Institut für Automatisierungstechnik, Professur Prozessleittechnik Hidden Markov Modelle Typische Fragestellungen
Hidden Markov Modell (HMM) Typische Fragen an HMM bei gegebenen B b Beobachtungen O 1 O 2 O 3 O t Zustand: In welchem Zustand sind wir jetzt? P(q t =s i O 1 O 2 O 3 OO t ), Forward-Backward-Algorithmus Pfad: Welcher Weg wurde wahrscheinlich eingeschlagen? Q* = argmax Q P(Q O), Viterbi-Algorithmus Lernen von HMMs: Wie sieht ein HMM λ aus, das diese Beobachtungen generiert haben könnte λ* = argmax λ P(λ O), Baum-Welch-Algorithmus 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 29
Frage 1: Aktueller Zustand P(q t =s i O) Geg.: Beobachtungen O 1 O 2 O 3 O T Ges.: Zustand q t Definiere α t (i) als die WS, dass das durch λ spezifizierte Hidden Markov Modell zum Zeitpunkt t im Zustand s i ist, UND auf einem zufälligen Pfad dorthin t Beobachtungen O 1 O 2 O t ausgegeben wurden α t (i) = P(O 1 O 2 O 3 O t q t = s i λ); 1 t T Rekursive Definition von α t (i): α 1 1( (i), α t+1(j) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 30
Rekursive Definition von α t (i) α 1 (i) = P(O 1 q 1 = s i ) = P(q 1 = s i ) P(O 1 q 1 = s i ) = π i b i (O 1 ) α t+1 (j) = P(O 1 O 2 O t O t+1 q t+1 =s j ) = Σ i=1,n P(O 1 O 2 O t q t =s i O t+1 q t+1 =s j ) = Σ i=1,n P(O t+1,q t+1 =s j O 1 O 2 O t q t =s i ) P(O 1 O 2 O t q t =s i ) = Σ i=1,n P(O t+1,q t+1 =s j q t =s i ) α t (i) = Σ i=1,n P(q t+1 =s j q t =s i ) P(O t+1 q t+1 =s j ) α t (i) = Σ i=1,n a ij b j (O t+1 ) α t (i) i 1,N ij j t+1 t 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 31
Beispiel α t (i) = P(O 1 O 2 O t q t = s i λ) α 1 (i) = b i (O 1 ) π i α t+1 (j) = Σ a ij b j (O t+1 ) α t (i) 21 31 33 23 Gegeben: O=X X Z α 1 (1)=1/4 α 1 (2)=0 α 1 (3)=0 α 2 (1)=0 α 2 (2)=0 α 2 (3)=1/12 α 3 (1)=0 α 3 (2)=1/72 α 3 (3)=? 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 32
Übergang zu P(q t =s i O 1 O 2 O 3 O t )? α t (i) = P(O 1 O 2 O 3 O t Λ q t = S i λ) P(O 1 O 2 O t ) = Σ i=1,n α t (i) P(q t =S i O 1 O 2 O t ) = α t (i) / Σ j=1,n α t (j) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 33
Frage 2: Wahrscheinlichster Pfad Q O Gegeben: Beobachtungen O 1 O 2 O 3 O T Gesucht: Wahrscheinlichster h h Pfad Q argmax Q P(Q O 1 O 2 O 3 O T ) Direkter Weg wieder zu aufwändig: argmax Q P(Q O 1 O 2 O 3 O T ) = argmax Q P(O 1 O 2 O 3 O T Q)P(Q) / P(O 1 O 2 O 3 O T ) = argmax Q P(O 1 O 2 O 3 O T Q)P(Q) Das geht besser! 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 34
Partiell beste Pfade im Trellisdiagramm Für jeden Zustand q t =s i gibt es einen wahrscheinlichsten h h Pfad state X X Z 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 35 t
state Partielle beste Pfade Unterschied zu Forward-Algorithmus Wahrscheinlichkeit h hk it des EINEN wahrscheinlichsten h h Pfades zum Zustand X X Z 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 36 t
Partieller bester Pfad δ t (i)= max P(q 1 q 2...q t-1 Λ q t = S i Λ O 1...O t ) q1 qt-1 WS des Pfades q 1 q 2..q t-1 der Länge t-1 1 mit der größten Chance folgende Bedingungen zu erfüllen: Pfad Q ist möglich q 1 q 2...q t-1 UND endet zum Zeitpunkt t in S i q t =SS i UND produziert O O 1...O t 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 37
Ansatz δ t (i)= max P(q 1 q 2...q t-1 Λ q t = S i Λ O 1...O t ) q1 qt-1 WS des Pfades q 1 q 2..q t-1 der Länge t-1 mit der größten Chance folgende Bedingungen g zu erfüllen: Pfad Q ist möglich q 1 q 2...q t-1 UND endet zum Zeitpunkt t in S i q t =S i UND produziert O O 1...O t Def: mpp t (i) = dieser Pfad, δ t (i)=p(mpp t (i)) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 38
VITERBI Algorithmus δ t (i)= max P(q 1..q t-1 Λ q t =S i Λ O 1...O t ) q1 qt-1 mpp t (i)= argmax P(q 1..q t-1 Λ q t =S i Λ O 1...O t ) q1 qt-1 Start: t=1 δ 1 (i)= max P(q 1 =S i Λ O 1 ) q1 = P(q 1 =S i )P(O 1 q 1 =S i ) = π i b i (O 1 ) i i( 1 ) Angenommen, wir kennen δ t (i) und mpp t (i) Wie kommen wir zu δ t+1 (i) und mpp t+1 (i)? 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 39
VITERBI Algorithmus t > 1 Angenommen, wir kennen δ t (i) und mpp t (i) Wie kommen wir zu δ t+1 (i) und mpp t+1 (i)? Der WSste Pfad dessen letzten beiden Zustände S i und S j sind ist Der WSstePfad zu S i, gefolgt von einem Übergang von S i nach S j δ t (i) P(S i S j Λ O t+1 ) = δ t (i)a ij b j (O t+1 ) δ t+1 (j) = max i (δ t (i)a ij b j (O t+1 )) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 40
Backpointer Wir kennen die partiellen WS δ t (i) Wir brauchen den WSten Pfad, d.h. wir müssen uns die δ t (i) merken state X X Z t 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 41
Backpointer Wir kennen die partiellen WS δ t (i) Wir brauchen den WSten Pfad, d.h. wir müssen uns die δ t (i) merken Es reicht für jeden Zustand ein Rückwärtszeiger (Backpointer Ф) aufzuheben, von dem wir am besten hier angelangt sind Ф t (i) = argmax j (δ t-1 (j)a ji ) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 42
3. Frage: Modelllernen Geg.: O T, N, M Ansatz: Definiere i γ t (i) = P(q t =s i O 1 O 2 O T, λ ) ε t t( (i,j) = P(q t = s i Λ q t+1 = s j O 1O 2 O T,λ ) γ t (i) and ε t (i,j) können i,j,t effizient berechnet werden Suchverfahren Berechne WS mit einem geschätzten Modell in einen Zustand zu gelangen, bewerte die Übereinstimmung mit den Beobachtungen, verändere anschließend die Modellparameter Details Rabiner (1989) 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 43
Zusammenfassung der Problemstellungen Evaluation (Auswertung, Schätzen) Gegeben ist ein HMM λ und eine Beobachtungssequenz O T. Berechne die Wahrscheinlichkeit, dass O T von λ erzeugt wurde. Decoding (Entschlüsseln, Suchen) Gegeben ist ein HMM λ und eine Beobachtungssequenz O T. Berechne die Folge von verborgenen Zuständen, die O T mit der höchsten h Wahrscheinlichkeit h hk it erzeugt hat. Learning (Lernen) Für ein HMM λ ist die Zahl der sichtbaren und unsichtbaren Zustände bekannt, sowie ein oder mehrere Beobachtungssequenzen (Trainingssequenzen). Berechne die Parameter a ij und b j (k). 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 44
Literatur & Bibliotheken Literatur Rabiner (1989) A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, Proc. of the IEEE, Vol.77, No.2, pp.257--286, 1989. http://ieeexplore.ieee.org/iel5/5/698/00018626.pdf?arnumber=18626 Moore, A. (o.j.) Hidden Markov Models. http://www.cs.cmu.edu/~awm/tutorials Boyle, R. (o.j.) Hidden Markov Models. http://www.comp.leeds.ac.uk/roger/hiddenmarkovmodels/html_dev/mai n.html Fraser, A. (2008) HMM & Dynamical Systems. SIAM Bibliotheken MATLAB: http://people.cs.ubc.ca/~murphyk/software/hmm/hmm.html p / p / / / R: http://cran.r-project.org/web/packages/hmm/index.html Gestenerkennung GT2K: http://gt2k.cc.gatech.edu/ 13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause Folie 45
13.06.2012 PLT2 (c) 2009-2012, Urbas, Pfeffer, Krause 46