+ All Categories
Home > Documents > Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus...

Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus...

Date post: 13-Mar-2019
Category:
Upload: voliem
View: 215 times
Download: 0 times
Share this document with a friend
32
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Hidden-Markov-Modelle Tobias Scheffer Thomas Vanck
Transcript
Page 1: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Universität Potsdam Institut für Informatik

Lehrstuhl Maschinelles Lernen

Hidden-Markov-Modelle Tobias Scheffer Thomas Vanck

Page 2: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

2

Hidden-Markov-Modelle: Wozu?   Spracherkennung:

  Akustisches Modell.   Geschriebene Sprache:

  Part-of-Speech-Tagging,   Informationsextraktion.

  Biologie:   Finden von Genen in der DNA.

Page 3: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

3

Markov-Prozesse   X1, ..., Xn: Zufallsvariablen.   Allgemein gilt:   Zufallsvariablen bilden eine Markovkette, gdw:

  Jede Variable Xi nur von Vorgänger Xi-1 abhängig.

  Markov-Modell: Probabilistischer endlicher Automat, Folge der Zustände ist Markov-Kette.

  (Andrei Markov, 1856-1922)

Page 4: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

4

Markov-Modell   Zustände 1,..., N (Folge der Zustände ist Markov-Kette),   Transitionswahrscheinlichkeiten aij;   Startwahrscheinlichkeiten πi.   Zustand zur Zeit t: qt.

  Z.B. Wortartenerkennung („Part-of-Speech Tagging“)

  P(Artikel, Nomen, Nomen, Verb)?

Page 5: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

5

Hidden-Markov-Modell   Folge der Zustände ist nicht sichtbar.   Statt dessen: Zustände emittieren Beobachtungen

Ot (mit Wahrscheinlichkeit bi(Ot)).

Page 6: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

6

Hidden-Markov-Modell, Definitionen   Zustände qt: Zustand zur Zeit t.   Übergangswahrscheinlichkeiten   Startwahrscheinlichkeiten   Beobachtungswahrscheinlichkeiten

  HMM definiert durch Parameter

Page 7: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

7

Markov-Annahmen   Markov-Annahme für Zustandsfolgen:

  Markov-Annahme für Beobachtungen:

Page 8: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

8

Drei Basisprobleme   Problem 1: Likelihood einer Beobachtungsfolge:

  „Wie gut passt ein Modell zu einer Beobachtungsfolge?“

  Berechne   Problem 2: Optimale Zustandskette finden:

  „Welche Zustandskette hat die Beobachtung am wahrscheinlichsten erzeugt?“

  Berechne   Problem 3: Lernproblem

  „Gegeben viele Beobachtungsfolgen, finde die Parameter des HMMs!“

  Berechne €

P(q1,...,qT |O1,...,OT ,λ)

argmaxλ P({(O1,...,OT ),...} | λ)

Page 9: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

9

„Wie gut passt ein Modell zur Beobachtungsfolge?“

  # Summanden = NT.   Auswertung exponentiell in der Länge der Eingabe.   Bei Auswertung werden dieselben

Wahrscheinlichkeiten wiederholt berechnet   Gesucht: polynomieller Algorithmus.   Dynamische Programmierung: Zwischenergebnisse

speichern.

Page 10: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

10

Trellis   Trellis: Array über Zustände x Zeit.

  Rekursive Hilfsvariablen      

Page 11: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

11

„Forward“   Wahrscheinlichkeit einer initialen

Beboachtungsfolge und eines Zustands:

  Theorem:

  Nach Theorem kann α durch dynamische Programmierung berechnet werden:   Initialisiere α1(i).   Für t von 2 bis T: berechne αt(i) unter Verwendung

der schon bestimmten αt-1(i).

Page 12: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

12

„Forward“: Beweis   Induktionsverankerung:

  Induktionsschritt t → t+1

Page 13: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

13

„Forward“: Termination  

  Beweis:

Page 14: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

Problem 1 gelöst   Problem 1 ist gelöst, nämlich das Lösen von

kann nun effizient durchgeführt werden.

  Nächste Folien beschreiben Erweiterungen, die für Problem 3 benötigt werden.

14

P(O1,...,OT | λ)

Page 15: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

15

„Backward“     Theorem:

  Nach dem Theorem kann β durch dynamische Programmierung bestimmt werden:   Initialisiere βT(i)=1.   Für t von T-1 bis 1: bestimme βt(i) unter Verwendung

der βt+1(j).

Page 16: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

16

„Backward“: Beweis   Induktionsverankerung:

Page 17: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

17

„Backward“: Beweis   Induktionsschritt t+1 → t

Page 18: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

18

„Forward Backward“: Wahrscheinlichkeit eines Zustandes

    P(Zustand i zur Zeit t | Beobachtungssequenz)  

Page 19: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

19

Forward-Backward-Algorithmus   (Forward)   Initialisiere (alle Zustände i)   Für t von 1 bis T-1

  Berechne (für alle j)   Berechne   (Backward)   Initialisiere   Für t von T-1 bis 1

  Berechne (für alle i)   Berechne (für alle i)

βi(t) = aijb j (Ot+1)βt+1( j)j=1

N

Page 20: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

20

Forward-Backward-Algorithmus   Läuft mit quatratischem Aufwand   Berechnet

und

Page 21: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

21

„Welches Modell passt am besten?“   Bsp: Worterkennung. Ein HMM für jedes Wort, das

erkannt werden soll.   Gegeben: Sprachsignal (Beobachtungssequenz),

gesucht: Welches der Wörter wurde gesagt?  

  Likelihood durch Forward-Algorithmus, A-Priori-Wahrscheinlichkeit durch Abzählen der Worthäufigkeit in der Trainingsmenge.

Page 22: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

22

Problem 2: Was ist die optimale Zustandskette?   Beispiele:

  Part-of-Speech-Tagging, ein Zustand pro Part-of-Speech,

  Gensequenzanalyse, Zustände entsprechen Tags, mit denen das Genom annotiert werden soll.

  Möglichkeit 1: Welcher einzelne Zustand zur Zeit t passt am besten zur Beobachtungsfolge?     Bestimmung durch Forward-Backward-Algorithmus

  Möglichkeit 2: Welche komplette Zustandsfolge passt am besten zur Beobachtungsfolge?     Bestimmen mit Viterbi-Algorithmus

Page 23: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

23

Viterbi-Algorithmus, Theorem     Theorem:

  Beweis:

  Zustand zur Zeit t auf wahrscheinlichstem Pfad:

Page 24: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

24

Viterbi-Algorithmus   Initialisierung:   Initialisierung:   Für t von 1 bis T-1 und j von 1 bis N:

   

  Termination   Für t von T-1 bis 1

  Ausgabe der Zustandsfolge

Page 25: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

25

Problem 3: Lernproblem   Gegeben: Sammlung von Beobachtungsfolgen.   Gesucht HMM-Parameter λ.   Sichtbare Zustände

  Z.B. Part-of-Speech-Tagging: Jede Beobachtung ist mit dem zugehörigen Zustand markiert.

  Schätzen der Parameter durch Zählen der Starthäufigkeiten, Transitionen, Beobachtungen.

  Unsichtbare Zustände   Z.B. Worterkennung: Nur Sprachsignal gegeben,

Zustandsfolgen sind unbekannt.   Lernen der Parameter durch Baum-Welch-

Algorithmus.

Page 26: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

26

Sichtbare Zustände   Trainingsmenge

  Schätze = (#Beispielsequenzen k mit )/m   Schätze aij = (#Stellen mit ) / (#Stellen

mit )   Schätze bi(O) = (#Stellen mit ) /

(#Stellen mit )

qt(k ) = i,Ot

(k ) =O

qt(k ) = i

q1(k ) = i

Page 27: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

27

Unsichtbare Zustände   Trainingsmenge

  Zustände unbekannt   Forward-Backward kann

Zustandswahrscheinlichkeiten berechnen, braucht dafür aber Modell,

  Können Modell schätzen (letzte Folie), brauchen dafür aber Zustandswahrscheinlichkeiten.

Page 28: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

28

Baum-Welch-Algorithmus   Wenn die Zustände der Beobachtungen bekannt

wären, könnte man die Parameter durch Abzählen der Häufigkeiten in Trainingsmenge schätzen.

  Instanz des EM-Algorithmus.   Beginne mit zufälligen Parametern und iteriere zwei

Schritte bis zur Konvergenz   Berechne die Zustände durch Forward-Backward-

Algorithmus auf Grundlage des aktuellen Modells   Schätze die Parameter des Modells auf Grundlage

berechneter Zustände.

Page 29: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

29

Baum-Welch-Algorithmus   Hilfsvariable:   Berechnung:

Page 30: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

30

Baum-Welch-Algorithmus   Trainingsmenge   Zustände unbekannt 1.  Initialisiere λ zufällig. 2.  Wiederhole bis Konvergenz: Für alle k von 1 bis m

  Berechne die α, β, γ durch Forward-Backward   Für i und j von 1 bis N, berechne ξt(i,j)   Schätze   Schätze   Schätze

3.  Mittle Schätzer für λ über m Beispiele und Wiederhole ab Schritt 2.

π i(k ) = γ1(i)

aij(k ) = ξ t (i, j)t∑ γ t (i)t∑bi(k )(O) = γ t (i)

t:Ot =O∑ γ t (i)

t∑

Page 31: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

Problem 3 ist gelöst   Problem 3 wird vom Baum-Welch Algorithmus

gelöst.

31

Page 32: Hidden Markov Models - Universität Potsdam · anck: Sprachtechnologie 28 Baum-Welch-Algorithmus Wenn die Zustände der Beobachtungen bekannt wären, könnte man die Parameter durch

Scheffer/Vanck: S

prachtechnologie

32

Skalierung   Forward-Backward und Viterbi multiplizieren viele

Wahrscheinlichkeiten auf, numerisch kommt dabei schnell 0 heraus.

  Mit negativen Log-Wahrscheinlichkeiten arbeiten, statt mit Wahrscheinlichkeiten.

  Forward-Backward- und Viterbi lassen sich entsprechend umformulieren.


Recommended