Maschinelles Lernen Hidden Markov Modelle (HMM) (Rabiner Tutorial) Grundidee • Finde zu einer Beobachtung (Serie von Beobachtungen) die zugrundeliegende „Struktur“ • Basis: stochastisches Modell basierend auf Markov-Ketten (jedes Ereignis ist nur von seinem Vorgänger abhängig) • Typische Anwendungen: – Spracherkennung – Tagging • Ziehen von bunten Kugeln aus verschiedenen Urnen hinter einer Wand Geschichte • benannt nach Andrei A. Markov (1856 1922) ihrem Entwickler • Markov Modelle anfänglich für linguistische Zwecke • Modellieren von Buchstabensequenzen in der russischen Literatur (1913) • später Entwicklung als allgemeines statistisches Werkzeug Markov-Ketten • Sequenz von Zufallsvariablen X = (X1, ...,XT) – Xt+1 hängt ab vom Wert von Xt – X1,...,Xt-1 braucht man nicht zu kennen • Beispiel: Zufallsvariable misst Anzahl der Bücher einer Bibliothek – Um „Anzahl der Bücher morgen“ vorhersagen zu können, genügt es „Anzahl der Bücher heute“ zu kennen. – Die Anzahl der Bücher der letzten Woche oder sogar der letzten Jahre benötigt man für die Vorhersage nicht. Definitionen • Stochastischer Prozess: – Ein stochstischer Prozess oder Zufallsprozess ist eine Folge von elementaren Zufallsereignissen • Zustände: – Die möglichen Zufallswerte in einem stochastischen Prozess heißen Zustände des Prozesses.Man sagt, dass sich der Prozess zum Zeitpunkt t in Zustand Xt=St befindet. Stochastischer Prozess • Für die vollständige Beschreibung eines Zufallsprozesses mit diskretem Zeitparameter benötigt man • die Anfangswahrscheinlichkeit: die für jeden Zustand angibt, mit welcher Wahrscheinlichkeit er als Zustand X1=Si beobachtet werden kann (d.h. den Startzustand bildet) • die Übergangswahscheinlichkeit: die für jeden Zustand angibt, mit welcher Wahrscheinlichkeit er in einer Zustandsfolge auftritt: P( Xt 1 St 1 | X 1 S 1, X 2 S 2,... Xt St ) Beispiel • Ein Textgenerator hat ein Lexikon mit Wörtern • von denen an jeder Position jedes auftreten kann Ω = {geschickt, werden, wir} • wir beobachten an jeder Position, welches Wort generiert wurde • Sei – X1 das Wort zum ersten Beobachtungszeitpunkt – X2 das Wort zum zweiten Beobachtungszeitpunkt, usw. • Dann ist die Folge der Wörter ein stochastischer Prozess mit diskreter Zufallsvariable und diskretem Zeitparameter Markov-Kette • Eine Markov-Kette ist ein spezieller stochastischer Prozess, bei dem zu jedem Zeitpunkt die Wahrscheinlichkeiten aller zukünftigen Zustände nur vom momentanen Zustand abhängt (= MarkovEigenschaft) – d.h. es gilt: P( Xt 1 St 1 | X 1 S 1, X 2 S 2,... Xt St ) P( Xt 1 St 1 | Xt St ) • Für eine endliche Markov-Kette gibt es endlich viele Zustände, und die Kette muss sich zu jedem Zeitpunkt in einem dieser endlich vielen Zustände befinden Markov-Kette kann beschrieben werden durch die Angaben • Stochastische Übergangsmatrix A aij P( Xt 1 Sj | Xt Si ) aij 0 N a 1 i, j j 1 i, j i Xt si geschickt geschickt .3 werden .4 wir .3 • Anfangswahrscheinlichkeiten i P ( X 1 Si ) N i i 1 1 Xt 1 sj Xt werden .4 .2 .4 geschickt .2 werden .3 wir .5 Manning/Schütze, 2000: 318 wir .3 .4 .3 Markov-Kette kann beschrieben werden durch einen Zustandsübergangsgraphen .5 .3 .3 wir .4 .2 .4 werden .3 .4 .4 geschickt .2 .3 .3 Markov-Kette Wahrscheinlichkeit der Sequenz der Zustände X1 … XT P( X 1,..., XT ) P( X 1) P( X 2 | X 1) P( X 3 | X 2, X 1)...P( XT | X 1,..., XT 1) für eine Markov-Kette gilt: P( X 1) P( X 2 | X 1) P( X 3 | X 2)...P( XT | XT 1) T 1 a X 1 t 1 X t X t 1 Markov-Kette Wahrscheinlichkeit der Sequenz der Zustände X1 … XT P( X 1 wir , X 2 werden, X 3 geschickt ) P( X 1 wir ) P( X 2 werden | X 1 wir ) P( X 3 geschickt | X 2 werden, X 1 wir ) P( X 1 wir ) P( X 2 werden | X 1 wir ) P( X 3 geschickt | X 2 werden) (.5 .4 .4) 0.08 Markov-Modell (MM) • Ein Markov-Modell ordnet jedem Zustand (andere Variante: jedem Zustandsübergang) eine Ausgabe zu, die ausschließlich vom aktuellen Zustand (bzw. Zustandsübergang) abhängig ist • Ausgabe: Sequenz von Ereignissen, die die Beobachtungen in der Beobachtungssequenz repräsentieren • Zur Unterscheidung auch Visible Markov Model (VMM) genannt Hidden Markov Modell (HMM) • Konzept des Markov Models wird erweitert: – Beobachtung ist Wahrscheinlichkeitsfunktion des Zustandes • Emissionswahrscheinlichkeiten für Beobachtung werden benötigt – Wahrscheinlichkeit, dass zur Zeit t das Symbol k beobachtet wird, – unter der Vorraussetzung, dass das Model sich zur Zeit t im Zustand Si befindet und als nächstes (zum Zeitpunkt t + 1) in den Zustand Sj übergeht. • Ein Hidden Markov Model ist ein Markov-Modell – bei dem nur die Sequenz der Ausgaben beobachtbar ist, – die Sequenz der Zustände verborgen bleibt • Es kann mehrere Zustandssequenzen geben, die dieselbe Ausgabe erzeugen Hidden Markov-Modell: Beispiel • in einem Text lassen sich nur die Ausgaben (= produzierte Wörter) beobachten (visible): orange • die Sequenz von Zuständen (= Wortarten), die die Wörter ausgeben, (Satzmuster) lässt sich nicht beobachten (hidden): blau • mehrere Sequenzen können dieselbe Ausgabe erzeugen: .3 .4 .2 nomn auxv .2 .3 wir werden .3 part .4 geschickt .3 x .2 x .4 x .3 x .2 x .4 =0.000576 .3 .2 nomn kopv adje .2 .5 .2 wir werden geschickt .3 x .2 x .3 x .5 x .2 x .2 =0.000360 Hidden Markov-Modell: Definition Formal spezifiziert durch Fünf-Tupel S , K , , A, B S {S 1,..., SN} Menge der Zustände K {k 1,..., kM } {1,..., M } Ausgabe-Alphabet {i}, i S Wahrscheinlichkeiten der Startzustände A {aij}, N a i, j S ij j 1 B {bijk}, i, j S , kK der Zustandsübergänge M b k 1 1 Wahrscheinlichkeiten ijk 1 Wahrscheinlichkeiten der Symbolemissionen Manning/Schütze, 2000: 326 HMM • Es gibt 3 Probleme zu lösen: 1. Dekodierung: Wahrscheinlichkeit einer Beobachtung finden • • brute force Forward-Algorithmus / Backward-Algorithmus 2. Beste Pfad-Sequenz finden • • brute force Viterbi-Algorithmus 3. Training: Aufbau des besten Modells aus Trainingsdaten • • Forward-Backward Algorithmus Baum-Welch Algorithmus HMM: P(O | ) • „Brute force“-Bestimmung der Wahrscheinlichkeit einer Beobachtunsgsequenz für ein gegebenes Modell: – Für alle möglichen Zustandsfolgen X = X1...Xt+1 • Berechnung der Wahrscheinlichkeit der Beobachtungen • Summierung der Wahrscheinlichkeiten P(O | ) P(O | X , ) P( X | ) X T 1 X a X X bX t t 1 X 1... Xt 1 1 t 1 state transition X o t t 1 t symbol emission HMM: P(O | ) Lösungsweg 1: brute force: Effizienz P(O | ) T 1 X aX X X 1... Xt 1 1 t 1 b t t 1 X t X t 1ot T Anzahl der Beobachtungen N Anzahl der Zustände Lösungsweg ist hoffnungslos ineffizient Benötigt im allgemeinen Fall, d.h. Start in jedem Zustand möglich, Jeder Zustand kann auf jeden folgen (2T + 1) x NT+1 Multiplikationen Manning/Schütze, 2000: 326 HMM: P(O | ) • Alternative: Merken partieller Ergebnisse: – Forward Procedure oder Backward Procedure • Forward-Procedure wird beschrieben durch die Forward-Variable i (t ) P(o1o 2...ot 1, Xt i | ) – Wahrscheinlichkeit dass die partielle Observationssequenz O1 bis Ot-1 ausgegeben wurde und dass das HMM zur Zeit t sich im Zustand Si befindet, unter der Bedingung des Modells μ. Forward Procedure Die Vorwärts-Wahrscheinlichkeit αj(t+1) ergibt sich aus der Summe des Produktes der Wahrscheinlichkeiten jedes reinkommenden Bogens mit der ForwardVariable des ausgehenden Knotens. (N2T) 1. Initialisierung i (1) i ,1 i N 2. Induktion N j (t 1) i (t )aijbijot , i 1 3. Total N P(O | ) i (T 1) i 1 1 t T ,1 j N Backward Procedure • Ähnlich wie Forward Procedure: – Beschrieben durch Backward Variable i(t ) P(ot...oT | Xt i, ) – Wahrscheinlichkeit dass der Rest der Observationssequenz Ot bis OT ausgegeben wird unter der Bedingung dass sich das HMM zur Zeit t im Zustand Si befindet und des Modells μ – Die Backward-Variable βi(t) wird zur Zeit t im Knoten Si gespeichert – Die Rückwärtswahrscheinlichkeit βi(t) ergibt sich aus der Summe des Produktes der Wahrscheinlichkeiten jedes ausgehenden Bogens mit der Rückwärtswahrscheinlichkeit des erreichten Knotens Backward-Procedure 1.Initialisierung i (T 1) 1 1 i N 2. Induktion N i (t ) aijbijotj (t 1) 1 t T ,1 i N j 1 3. Total N P(O | ) ii (1) i 1 Für die Berechnung von P(O|μ) kann auch die Kombination von Forward- und Backward-Procedure verwendet werden. HMM: Beste Pfadsequenz • Brute force: Berechnung aller möglichen Pfade • Viterbi-Algorithmus: – Speichere zu jedem Zeitpunkt nur den bis dahin optimalen Pfad zu jedem Zustand .| wir|Adje wir|AuxV wir|KopV wir|Nomn wir|Part werden|Adje werden|AuxV werden|KopV werden|Nomn werden|Part geschickt|Adje geschickt|AuxV geschickt|KopV geschickt|Nomn geschickt|Part HMM: Training gegeben eine Sequenz von Beobachtungen In einem Trainingscorpus gesucht ein Modell O (o1,..., oT ) ( A, B, ) das für die beobachteten Sequenzen im Trainingscorpus die maximalen Wahrscheinlichkeiten erzeugt arg max P(OTraining | ) Mögliche Verfahren: • Baum-Welch Algorithmus • Forward-Backward Algorithmus Baum-Welch Algorithmus • Spezialfall des EM (Expectation Maximization) Algorithmus • Iterativer Algorithmus: versucht ein beliebig gewähltes Start-Modell 0 hinsichtlich OTraining zu optimieren – Mittels Berechnungen herausfinden, welche Transitionen und Symbolemissionen bei Ausgabesequenz O wahrscheinlich am häufigsten genutzt werden. – Erhalten eines überarbeiteten Models μ´ durch Erhöhen dieser Wahrscheinlichkeiten Baum-Welch-Algorithmus 1. Berechnungen: pt (i, j ) P( Xt i, Xt 1 j | O, ) P( Xt i, Xt 1 j, O | ) P(O | ) i (t )aijbijotj (t 1) i (t )aijbijotj (t 1) N (t ) (t ) m m m 1 •pt(i,j) ist die Wahrscheinlichkeit, dass der Bogen von Zustand Si nach Zustand Sj zur Zeit t passiert wird, gegeben das Modell μ und die Observationssequenz O. N i (t ) P( Xt i | O, ) pt (i, j ) j 1 i (t ) ist Wahrscheinlichkeit, dass das HMM sich zur Zeit t im Zustand Si befindet. N N (t )a m m 1 n 1 b (t 1) mn mnot n Baum-Welch-Algorithmus T (t ) i t 1 Ist die erwartete Anzahl der Transitionen vom Zustand Si bei der Ausgabesequenz O. T p (i , j ) t t 1 Ist die erwartete Anzahl der Transitionen vom Zustand Si zum Zustand Sj bei der Ausgabesequenz O. 2. Neuberechnung der Wahrscheinlichkeiten 1. Startwahrscheinlichkeiten – i i (1) P( X 1 i | O, ) erwartete Häufigkeit im Zustand Si zur Zeit t = 1 zu sein T 2. Transitionswahrscheinlichkeiten – A A aij p (i, j ) t t 1 T (t ) i t 1 Baum-Welch-Algorithmus 3. Emissionswahrscheinlichkeiten b ijk B B erwartete Anzahl der Transitionen vom Zustand Si nach Sj wenn k als Ausgabebeobachtet wurde erwartete Anzahl der Transitionen vom Zustand Si nach Sj t:ot k ,1t T T pt (i, j ) p (i, j ) t t 1 Mit den Neuberechnungen der Wahrscheinlichkeiten erhalten wir aus dem Model ( A, B, ) ein neues Model ( A, B, ) , so dass gilt: P(O | ) P(O | ) Baum-Welch-Algorithmus Die Iteration erfolgt solange, bis keine signifikante Verbesserung der Ergebnisse mehr sichtbar ist. • Der Baum-Welch-Algorithmus garantiert nicht, dass das beste Modell gefunden wird, da der Prozess in einem lokalen Maximum stecken bleiben kann (z.B. Sattelpunkt). • • Baum-Welch-Algorithmus ist dennoch effektiv für HMMs. Für das Finden des globalen Maximums sollten die Parameter des Ausgangs HMMs in der Region nahe des globalen Maximums liegen. • Anfängliches Abschätzen der Werte ist besser als zufälliges Wählen.Schätzen von B ist dabei wichtig. Zufälliges Wählen von A und Π ist ausreichend. • Beziehung zu Bayes • Vermeidung der Unabhängigkeitsannahme: – Interpretiere Abhängigkeiten der Features als Übergangswahrscheinlichkeiten der Zustände – Features entsprechen Zuständen • Bayesian (Belief) Network!