Hidden-Markov Modelle

Werbung
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 ,
kK
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 )   aijbijotj (t  1)
1  t  T ,1  i  N
j 1
3. Total
N
P(O |  )   ii (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 )aijbijotj (t  1)
i (t )aijbijotj (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 ,1t 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!
Herunterladen