280 likes | 392 Views
PG 520 Intelligence Service – gezielte Informationen aus dem Internet. Seminarthema: Hidden Markov Model Von Wei CAI 09.10.2007. Ü berblick. Markov Models Eins der Erweiterbaren Markov Models => Hidden Markov Model drei klassischen Probleme
E N D
PG 520 Intelligence Service – gezielte Informationen aus dem Internet Seminarthema: Hidden Markov Model Von Wei CAI 09.10.2007
Überblick • Markov Models • Eins der Erweiterbaren Markov Models => Hidden Markov Model • drei klassischen Probleme • Forward und Backward-Algorithmus • Viterbi-Algorithmus • Baum-Welch-Algorithmus
Markov Models • Prozeß bewegt von einem Zustand zu einem anderen, der eine Reihenfolge der Zustände erzeugt • Markoveigenschaft: Wahrscheinlichkeit jedes folgenden Zustandes hängt nur von dem vorhergehenden Zustand ab • Um Markov Modell zu definieren, müssen die folgenden Wahrscheinlichkeiten spezifiziert werden: • die Menge der Zustände • Übergangswahrscheinlichkeiten • Anfangswahrscheinlichkeiten
0.3 0.7 Regen Sonne 0.2 0.8 Beispiel von Markov Model • Zwei Zustände : ‘Regen’ and ‘Sonne’. • Übergangswahrscheinlichkeiten : P(‘Regen’|‘Regen’)=0.3 , P(‘Sonne’|‘Regen’)=0.7 , P(‘Regen’|‘Sonne’)=0.2, P(‘Sonne’|‘Sonne’)=0.8 • Anfangswahrscheinlichkeiten : P(‘Regen’)=0.4 , P(‘Sonne’)=0.6 .
Beispiel von Markov Model • Nehmen wir an, dass wir eine Beobachtungsfolge der Zustände in unserem Beispiel errechnen möchten, {' Sonne', ,' Sonne',' Regen', Regen'}. P({‘Sonne’,’Sonne’,’Regen’, ’Regen’}| Wetter ) = P(‘Sonne’) P(‘Sonne’|’Sonne’) P(‘Regen’|’Sonne’) P(‘Regen’|’Regen’) = 0.6*0.8*0.2*0.3= 0.0288
Einführung • Zustände Markovkette, Übergangswahrscheinlichkeiten durch stochastische Matrix beschrieben. • Zustände selbst nicht sichtbar(d.h. „hidden“), erzeugen Beobachtungen. Markov eigenschaft
Einführung Eigenschaften • Solide statistische Grundlage • lernen möglich • Modular, d.h. Gut erweiterbar, leicht zu verknüpfen Anwendungsgebiete • Bioinformatik z.B. Gen-vorhersage, neurobiologie • Datamining z.B. Named Entity Recognition • Spracherkennung, Mustererkennung
ein HMM als Fünftupel λ = (S,A,B,π,V) mit : die Menge der Zustände, die Zustandsvariable annehmen kann : das Ausgabealphabet, das die Beobachtungsfolge annehmen kann π : die Menge der anfangswahrscheinlichkeiten mit Wahrscheinlichkeit, dass der Startzustand ist Definition
: Zustandsübergangsmatrix, wobei die Wahrscheinlichkeit angibt, dass vom Zustand zum Zustand gewechselt wird : die Menge der Ausgabe-wahrscheinlichkeiten Wahrscheinlichkeit im Zustand die Beobachtung k zu machen Definition
Gegeben: N, M, A, B, π wähle Anfangszustand entsprechend Anfangszustandverteilung π Setze t = 1 Wähle entsprechend W-keitsverteilung der Beobachtungssymbole im Zustand , Wechsle in den nächsten Zustand entsprechend übergangswahrscheinlichkeitsverteilung für Zustand setze t = t + 1 , wiederhole Schritt 3, falls t < T, sonst endet dies Verfahren Realisierung einer Beobachtungs-folge
0.3 0.7 niedrig hoch 0.2 0.8 Beispiel von HMM 0.6 0.6 0.4 0.4 Regen Sonne
Beispiel von HMM • Zwei Zustände : ‘niedrig’ oder ‘hoch’ Luftdruck • Zwei Beobachtungen : ‘Regen’ and ‘Sonne’ • Übergangswahrscheinlichkeiten : P(‘niedrig’|‘niedrig’)=0.3 , P(‘hoch’|‘niedrig’)=0.7 , P(‘niedrig’|‘hoch’)=0.2, P(‘hoch’|‘hoch’)=0.8 • Ausgabewahrscheinlichkeiten : P(‘Regen’|‘niedrig’)=0.6 , P(‘Sonne’|‘niedrig’)=0.4 , P(‘Regen’|‘hoch’)=0.4 , P(‘Sonne’|‘hoch’)=0.3 • anfangswahrscheinlichkeiten : P(‘niedrig’)=0.4 , P(‘hoch’)=0.6
Beispiel von HMM • Nehmen wir alle mögliche Sequenze der versteckten Zustände an: P({‘Sonne’,’Regen’} ) = P({‘Sonne’,’Regen’} , {‘niedrig’,’niedrig’}) + P({‘Sonne’,’Regen’} , {‘niedrig’,’hoch’}) + P({‘Sonne’,’Regen’} , {‘hoch’,’niedrig’}) + P({‘Sonne’,’Regen’} , {‘hoch’,’hoch’}) • Im ersten Term P({‘Sonne’,’Regen’} , {‘niedrig’,’niedrig’})= P({‘Sonne’,’Regen’} | {‘niedrig’,’niedrig’}) P({‘niedrig’,’niedrig’}) = P(‘Sonne’|’niedrig’)P(‘Regen’|’niedrig’) P(‘niedrig’)P(‘niedrig’|’niedrig’) = 0.4*0.6*0.4*0.3 = 0.01152
Problemstellungen • gegeben Modellλ = (A,B,π) soll die wahrschlichkeit einer speziellen Ausgabesequenz bestimmt werden. • gegeben Modellλ = (A,B,π) soll die wahrscheinlichste Sequenz der versteckten Zustände bestimmt werden, die eine vorgegebene Ausgabesequenz erzeugt hat. • gegeben eine Beobachtungsfolge sollen die Übergangs/Ausgabe-Wahrscheinlichkeiten des HMM bestimmt werden, durch die am wahrscheinlichsten die Ausgabesequenz erzeugt wird. => Named Entity Recognition
Evaluationsproblem • nutzt Forward-Backward Algorithms für effiziente Berechnung • Die Forward-Variable , d.h. die Wahrscheinlichkeit zum Zeitpunkt t bei gegebener Beobachtung im Zustand zu sein, ist • Die Forward-Variable wird zusammen mit der Backward-Variable für den Baum-Welch-Algorithmus zur Lösung des mit HMM gegebenen Lernproblems benötigt. :
sN s1 s2 sj sN sN si s2 si sN si s2 s1 s1 s2 s1 Matrix von einem HMM o1 otot+1 oT = Beobachtungen a1j a2j aij aNj t = 1 t t+1 T
Forward Rekursion • Initialisierung • Induktion • Terminierung :
Backward Rekursion • Initialisierung • Induktion • Terminierung :
Decodierungsproblem • Gesucht: optimale Zustandsfolge an der Beobachtungsfolge anpäßt, dann Anzahl der Korrekten Zustände maximieren • Mit dem Viterbi-Algorithmus lösbar
s1 si sN sj q t-1 qt a1j aij aNj Viterbi-Algorithmus • Idee war, wenn optimalen Weg im qt= sjendet und über qt-1= si durchgegangen ist, soll die Zustandsfolge dann auch mit dem optimalen Weg im qt-1= si zum Schluss sein können. • Induktion:
Viterbi-Algorithmus • Initialisierung • Induktion • Terminierung: optimaler Weg zum Zeitpunkt T endet • Zustandsfolge zurückverfolgen.
Lernproblem • Zu gegebener endlicher Beobachtungssequenz gibt es keinen optimalen Weg, die Modellparametern abzuschätzen. • hier nutzt expectation-maximization Algorithmus(Baum-Welch-Algorithmus), dadurch local maximum von P(O | M) gefunden werden kann.
Baum-Welch-Algorithmus • Methode zur Bestimmung neuer Parameter eines HMM
Baum-Welch-Algorithmus(E1) • Im Zustand si zum Zeitpunkt t und im Zustand sj zum Zeitpunkt t+1, die Beobachtungsfolge o1, o2, ..., ot . • t(i,j)= P(qt= si,qt+1= sj|o1 o2 ... oT) P(qt= si,qt+1= sj,o1 o2 ... oT) P(o1 o2 ... oT) t(i,j)= = P(qt= si,o1 o2 ... oT) aij bj (ot+1 ) P(ot+2 ... oT |qt+1= sj) P(o1 o2 ... ok) t(i)aij bj (ot+1 )t+1(j) i jt(i)aij bj (ot+1 )t+1(j)
t(i)t(i) i t(i)t(i) P(qt= si,o1 o2 ... ot) P(o1 o2 ... ot) t(i)= = Baum-Welch-Algorithmus(E2) • Definiert Variable t(i) als die W-keit im Zustand si zum Zeitpunkt t, die Beobachtungsfolge o1 o2 ... ot . • t(i)= P(qt= si|o1, o2, ... ot)
Baum-Welch-Algorithmus(E3) • berechnet t(i,j) = P(qt= si,qt+1= sj|o1 o2 ... oT) • und t(i)= P(qk= si|o1 o2 ... oT) • erwarteter Wert der Übergange von Zustand sinach Zustand sj • = t t(i,j) • erwarteter Wert der Übergänge ausserhalb des Zustands si = t t(i) • erwarteter Wert des vmim Zustand si = t t(i) , also ot= vm • erwartete Anfangswahrscheinlichkeit im Zustand sizum Zeitpunt t=1: 1(i) .
k k(i,j) k k(i) = Baum-Welch-Algorithmus(Max) aij k k(i,j) k,ok= vmk(i) bi(vm )= i = (im Zustandsizum Zeitpunkt t=1) =1(i).