Effiziente Algorithmen VU Ausarbeitung Aufabe 7: Baum-Welch Algorithmus Florian Fest, Matr. Nr.0125496 baskit@generationfun.at Claudia Hermann, Matr. Nr.0125532 e0125532@stud4.tuwien.ac.at Matteo Savio, Matr. Nr.0226388 e0226388@student.tuwien.ac.at Wien, am 23. Januar 2006
3 Baum-Welch Algorithmus 1 Einleitung Beim Einsatz von Hidden Markov Models ist die Wahl der Parameter von essentieller Bedeutung. In den meisten realen Anwendungen können die Parameter nicht exakt berechnet werden. Die gängige Vorgehensweise ist, diese Parameter näherungsweise mit Hilfe einer bzw. mehrerer Trainingssequenzen zu bestimmen. Eine Trainingssequenz ist quasi ein Musterbeispiel für die Phänomene die das HMM beschreiben soll. Man unterscheidet 2 Arten von Trainingsequenzen: Bekannter Pfad: Die Zustandsübergänge bei der Sequenz sind bekannt (z.b. Münzwurf: es wurde beobachtet wie der Croupier die Münzen wechselt) Unbekannter Pfad: Es sind keine weiteren Informationen bekannt. Der Baum-Welch Algorithmus fällt in die zweite Gruppe. 2 Parameter Ein Hidden Markov Model ist ein 5 T upel S, K, Π, A, B : S = {s 1,..., s N } die Menge der Zustände K das Ausgabealphabet Π = {π 1,..., π N } die Menge der Anfangswahrscheinlichkeiten für jeden Zustand, π 1 = P (X 1 = s i ) A die Menge der Übergangswahrscheinlichkeiten, a ij = P (X t+1 = s j X t = s i ), a ij 0, N j=1 = 1 i B die Menge der Ausgabewahrscheinlichkeiten, b i (k) = P (o t = k X t = s i ), k K X = {X 1... X T } Folge der beobachteten Daten, X i S O = {o 1... o T } versteckte Daten, zu den Daten zugehörige Zustände, o i K 3 Baum-Welch Algorithmus Der Baum-Welch Algorithmus berechnet iterativ einen Maximum-Likelihood-Schätzwert für ein Modell θ = (Π, A, B) bei einer gegebenen Trainingssequenz O = (o 1... o T ): arg max P (O θ) θ Dieser Algorithmus arbeitet mit Trainingssequenzen bei denen keine Pfadangaben bekannt sind. Der Algorithmus dient dazu, ein Hidden Markov Model zu trainieren, das bedeutet, die Parameter von θ so zu setzen, dass es die gegebenen Trainingssequenzen so gut wie möglich modelliert. Die Sequenz ist dann gut modelliert, wenn die Gesamtwahrscheinlichkeit, dass die Trainingssequenz vom HMM generiert wird, maximal ist. Das Grundprinzip ist folgendermaßen: Es wird mit Schätzwerten für die Parameter begonnen. (Zufallszahlen, Erfahrungswerte oder Heuristiken) Mit Hilfe der Schätzwerte werden neue, bessere Parameter berechnet. 1
3 Baum-Welch Algorithmus 3.1 Forward Algorithmus Der Vorgang wird so lange wiederholt bis sich keine wesentliche Verbesserung mehr feststellen lässt. Die Wahrscheinlichkeit P (O θ) der Trainingssequenz O = (o 1... o T ), kann folgendermaßen berechnet werden: P (O θ) = X P (O X, θ)p (X θ) = X π X1 T t=1 a XtX t+1 b Xt (o t ), wobei X = (X 1,..., X T ) eine Folge von T Zuständen ist. Da die Berechnung dieser Formel zu Aufwendig ist, verwendet man den Forward Algorithmus und Backward Algorithmus. 3.1 Forward Algorithmus Durch den Forward Algorithmus erhält man die Wahrscheinlichkeit, den Zustand j zum Zeitpunkt t zu erreichen, wenn der bisherige Teil der Trainingssequenz o 1...o t ist. α t (j) = P (o 1... o t, X t = s i θ) Basisfall α 1 (j) = π j b j (o 1 ), 1 j N Induktion N α t (j) = b j (o t ) α t 1 (i)a ij, i=1 2 t T, 1 j N 3.2 Backward Algorithmus Mit dem Backward Algorithmus erhält man die Wahrscheinlichkeit, den Zustand i zum Zeitpunkt t zu erreichen, wenn der nachfolgende Teil der Trainingssequenz o t+1...o T ist. β t (i) = P (o t+1... o T, X t = s i θ) Basisfall β T (i) = 1, 1 i N Induktion N β t (i) = β t+1 (j)a ij b j (o t+1 ), j=1 1 t T 1, 1 j N 3.3 EM-Algorithmus Mit Hilfe des EM-Algorithmus kann man bei vorhandenen unvollständigen Daten, die Parameter so finden, dass die Verteilung die Daten optimal beschreibt. Es wird jedoch nur ein lokales Maxima gefunden, dessen Güte abhängig von den Anfangswerten ist. Der Algorithmus geht in zwei Schritten vor, dem Estimation Step und dem Maximization Step. 2
3 Baum-Welch Algorithmus 3.4 Ablauf 3.3.1 Estimation Step In diesem Schritt werden die Erwartungswerte für die Anzahl der Übergänge pro Kante berechnet. P (X t = s i, X t+1 = s j O, θ) = α t(i)a ij b j (o t+1 )β t+1 (j) N m=1 α t(m)β t (m) P (X t = s i O, θ) = α t (i)β t (i) N m=1 α t(m)β t (m) 3.3.2 Maximization Step In diesem Schritt werden anhand der Erwartungswerte die Modellparameter neu berechnet. ˆπ i = P (X 1 = s i O, θ) T 1 t=1 â ij = P (X t = s i, X t+1 = s j O, θ) T 1 t=1 P (X t = s i O, θ) T t=1 ˆbi (k) = P (X t = s i O, θ)δ k,ot T t=1 P (X, δ k,ot := t = s i O, θ) { 1, k = o t 0, sonst Damit wurde ein neues Modell ˆθ = ( ˆΠ, Â, ˆB) berechnet. Es gilt P (O ˆθ) P (O θ). 3.4 Ablauf Initialisierung Anfangsparameter θ = (Π, A, B) schätzen Trainingssequenz O = (o 1... o T ) gegeben Iteration 1. forward α t (j) berechnen (für alle Zustände t, über alle Stellen j der Trainingssequenz) 2. backward β t (i) berechnen (für alle Zustände t, über alle Stellen i der Trainingssequenz) 3. Matrizen der Erwartungswerte A ij, B i (b) bestimmen 4. neues Modell ˆθ = (ˆΠ, Â, ˆB) (Matrizen der Wahrscheinlichkeiten a ij, b i (b)) ermitteln 5. neue Wahrscheinlichkeit der Trainingsequenz (log likelihood) berechnen 3.5 Abbruchbedingung Das Finden einer geeigneten Abbruchbedingung stellt eine schwierige Aufgabe da. Je nach Anwendung können eine oder mehrere der folgenden Varianten zum Einsatz kommen. Abbruch sobald sich das Modell nur mehr geringfügig ändert (insbesondere wenn die Grenze des darstellbaren Bereichs erreicht ist) Abbruch wenn sich die Wahrscheinlichkeit für die Trainingssequenzen nicht mehr ändert. Abbruch nach einer bestimmten Anzahl von Iterationen 3
LITERATUR LITERATUR Literatur [1] Neil C. Jones & Pavel A. Pevzner: An Introduction to Bioninformatics Algorithms - Slides Chapter 11: Hidden Markov Models; MIT Press; http://www.bioalgorithms.info/slides.htm#ch11 [2] Holger Wunsch: Der Baum-Welch Algorithmus für Hidden Markov Models, ein Spezialfall des EM- Algorithmus; 2001; http://www.sfs.nphil.uni-tuebingen.de/resources/em.pdf 4