31
Maschinelles Lernen Hidden Markov Modelle (HMM) (Rabiner Tutorial)

Maschinelles Lernen

  • Upload
    portia

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

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) Anwendungen: - PowerPoint PPT Presentation

Citation preview

Page 1: Maschinelles Lernen

Maschinelles Lernen

Hidden Markov Modelle (HMM)

(Rabiner Tutorial)

Page 2: Maschinelles Lernen

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)

• Anwendungen:– Spracherkennung– Tagging

• Ziehen von bunten Kugeln aus verschiedenen Urnen hinter einer Wand

Page 3: Maschinelles Lernen

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

Page 4: Maschinelles Lernen

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.

Page 5: Maschinelles Lernen

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.

Page 6: Maschinelles Lernen

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:

),...,|( 221111 tttt SXSXSXSXP

Page 7: Maschinelles Lernen

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

Page 8: Maschinelles Lernen

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 (= Markov-Eigenschaft)– d.h. es gilt:

• 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

)|(

),...,|(

11

221111

tttt

tttt

SXSXP

SXSXSXSXP

Page 9: Maschinelles Lernen

Markov-Kette

kann beschrieben werden durch die Angaben

Manning/Schütze, 2000: 318

Anfangswahrscheinlichkeiten

)( 1 ii SXP

N

i

i

1

1

Stochastische Übergangsmatrix A

)|( 1 itjtij SXSXPa

0ija ji ,

N

j

jia1

, 1i

it sX jt sX 1 geschickt werden wir geschickt .3 .4 .3 werden .4 .2 .4 wir .3 .4 .3

X t

geschickt .2 werden .3 wir .5

Page 10: Maschinelles Lernen

Markov-Kette

wir

werden

geschickt

.3

.3.3

.4

.4

.4

.4

.3

.2

.2

.3

.5

kann beschrieben werden durch einen Zustandsübergangsgraphen

Page 11: Maschinelles Lernen

Markov-Kette

Wahrscheinlichkeit der Sequenz der Zustände X1 … XT

),...,( 1 TXXP

),...,|()...,|()|()( 11123121 TT XXXPXXXPXXPXP

)|()...|()|()( 123121 TT XXPXXPXXPXP

11

1

1

tt XX

T

t

aX

für eine Markov-Kette gilt:

Page 12: Maschinelles Lernen

Markov-Kette

Wahrscheinlichkeit der Sequenz der Zustände X1 … XT

),,( 321 geschicktXwerdenXwirXP

),|()|(

)(

123

12

1

wirXwerdenXgeschicktXP wirXwerdenXP

wirXP

)|()|(

)(

23

12

1

werdenXgeschicktXP wirXwerdenXP

wirXP

08.0)4.4.5(.

Page 13: Maschinelles Lernen

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

Page 14: Maschinelles Lernen

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

Page 15: Maschinelles Lernen

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:

nomn auxv part

wir werden geschickt

.3 .4 .2

.2 .3 .4

.3 x .2 x .4 x .3 x .2 x .4 =0.000576

nomn kopv adje

wir werden geschickt

.3 .3 .2

.2 .5 .2

.3 x .2 x .3 x .5 x .2 x .2 =0.000360

Page 16: Maschinelles Lernen

SjiaA ij ,},{

Hidden Markov-Modell: Definition

Formal spezifiziert durch Fünf-Tupel

Menge der Zustände

Ausgabe-Alphabet

Wahrscheinlichkeitender Startzustände

Wahrscheinlichkeitender Zustandsübergänge

Wahrscheinlichkeitender Symbolemissionen

Manning/Schütze, 2000: 326

BAKS ,,,,

Sii },{

},...,{ 1 NSSS },...,1{},...,{ 1 MkkK M

KkSjibB ijk ,,},{

11

N

j

ija

11

M

k

ijkb

Page 17: Maschinelles Lernen

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

Page 18: Maschinelles Lernen

HMM:

• „Brute force“-Bestimmung der Wahrscheinlichkeit einer Beobachtunsgsequenz für ein gegebenes Modell:– Für alle möglichen Zustandsfolgen

• Berechnung der Wahrscheinlichkeit der Beobachtungen• Summierung der Wahrscheinlichkeiten

)|( OP

)|( OP

1...1

1

1 111t

T

tXX to

tX

tX

bt

Xt

XaX

statetransition

symbolemission

X

XPXOP )|(),|(

Page 19: Maschinelles Lernen

HMM:

1...1

1

1 111t

T

tXX to

tX

tX

bt

Xt

XaX

Lösungsweg 1: brute force: Effizienz

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

)|( OP

T Anzahl der BeobachtungenN Anzahl der Zustände

Manning/Schütze, 2000: 326

)|( OP

Page 20: Maschinelles Lernen

HMM:• Alternative: Merken partieller Ergebnisse:

– Forward Procedure oder Backward Procedure

• Forward-Procedure wird beschrieben durch die Forward-Variable

– Wahrscheinlichkeit dass die partielle Observationssequenz O1 bis Ot-1 ausgegeben wurde und dass die HMM zur Zeit t sich im Zustand Si befindet, unter der Bedingung des Modells μ.

)|( OP

)|,...()( 121 iXoooPt tti

Page 21: Maschinelles Lernen

Forward ProcedureDie Vorwärts-Wahrscheinlichkeit αj(t+1) ergibt sich aus der Summe des Produktes der Wahrscheinlichkeiten jedes reinkommenden Bogens mit der Forward-Variable des ausgehenden Knotens.

1. Initialisierung

2. Induktion

3. Total

ii )1( Ni 1,

NjTt 1,1

N

i

tijijij obatt1

,)()1(

N

i

i TOP1

)1()|(

Page 22: Maschinelles Lernen

Backward Procedure

• Ähnlich wie Forward Procedure:– Beschrieben durch Backward Variable– 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

),|...()( iXooPt tTti

Page 23: Maschinelles Lernen

Backward-Procedure1.Initialisierung

2. Induktion

3. Total

Für die Berechnung von P(O|μ) kann auch die Kombination von Forward- und Backward-Procedure verwendet werden.

N

j

jijotiji tbat1

)1()( NiTt 1,1

N

i

iiOP1

)1()|(

1)1( Ti Ni 1

Page 24: Maschinelles Lernen

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|Nomn

wir|AuxV

wir|KopV

wir|Part

werden|Adje

werden|Nomn

werden|AuxV

werden|KopV

werden|Part

geschickt|Adje

geschickt|Nomn

geschickt|AuxV

geschickt|KopV

geschickt|Part

|.

Page 25: Maschinelles Lernen

HMM: Training

gegeben eine Sequenz von BeobachtungenIn einem Trainingscorpus

ein Modellgesucht

das für die beobachteten Sequenzen im Trainingscorpus

die maximalen Wahrscheinlichkeiten erzeugt

),...,( 1 TooO

),,( BA

)|(maxarg TrainingOPMögliche Verfahren:

• Baum-Welch Algorithmus

• Forward-Backward Algorithmus

Page 26: Maschinelles Lernen

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

Page 27: Maschinelles Lernen

Baum-Welch-Algorithmus

1. Berechnungen:

•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.

ist Wahrscheinlichkeit, dass das HMM sich zur Zeit t im Zustand Si befindet.

N

m

N

n

nmnotmnm

jijotiji

N

m

mm

jijotiji

tbat

tbat

tt

tbat

OP

OjXtiXtPOjXtiXtPjipt

1 11

)1()(

)1()(

)()(

)1()(

)|(

)|,1,(),|1,(),(

N

j

tti jipOiXPt1

),(),|()(

)(ti

Page 28: Maschinelles Lernen

Baum-Welch-Algorithmus

Ist die erwartete Anzahl der Transitionen vom Zustand Si bei der Ausgabesequenz O.

Ist die erwartete Anzahl der Transitionen vom Zustand Si zum Zustand Sj bei der Ausgabesequenz O.

2. Neuberechnung der Wahrscheinlichkeiten

1. Startwahrscheinlichkeiten – erwartete Häufigkeit im Zustand Si zur Zeit t = 1 zu sein

2. Transitionswahrscheinlichkeiten –

T

t

i t1

)(

T

t

t jip1

),(

),|()1( 1 OiXPii

T

t

i

T

t

t

ij

t

jipa

1

1

)(

),(

AA

Page 29: Maschinelles Lernen

Baum-Welch-Algorithmus

3. Emissionswahrscheinlichkeiten

Mit den Neuberechnungen der Wahrscheinlichkeiten erhalten wir aus dem Model ein neues Model , so dass gilt:

SjnachSindZustavomenTransitionderAnzahlerwartete

wurdebeobachtetAusgabealskwennSjnachSindZustavomenTransitionderAnzahlerwarteteijkb

T

t

t

Ttkottt

jip

jip

1

1,:

),(

),(

),,( BA),,( BA

)|()|( OPOP

BB

Page 30: Maschinelles Lernen

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.

Page 31: Maschinelles Lernen

Beziehung zu Bayes

• Vermeidung der Unabhängigkeitsannahme: – Interpretiere Abhängigkeiten der Features als

Übergangswahrscheinlichkeiten der Zustände– Features entsprechen Zuständen

• Bayesian (Belief) Network!