180 likes | 356 Views
Maschinelles Lernen. Hidden Markov Modelle. Hidden Markov Modelle (HMMs).
E N D
Maschinelles Lernen Hidden Markov Modelle
Hidden Markov Modelle (HMMs) DefinitionEin HMM besteht aus einer Markovkette w(t) (gegeben durch Menge der „versteckten“ Zustände S und die Übergangswahrscheinlichkeiten A = (aij) = P(w(t+1)=i | w(t)=j),einem Ausgabealphabet Ωund einer Menge von Emissionswahrscheinlichkeiten B = (bjk) = P(k wird emittiert | versteckter Zustand ist j). S = {1,2,3,4,5,6} Ω = |R InterpretationEin Zufallsprozess springt zwischen verschiedenen Zuständen hin und her und emittiert bei jedem Schritt ein Zeichen aus Ω, wobei die Emissionswahr-scheinlichkeit von vom zugrunde liegenden versteckten Zustand abhängt.
Hidden Markov Modelle (HMMs) Eine besonders häufig verwendete Form von HMMs sind left-to-right Modelle. Sie werden z.B. bei der Spracherkennung oder der DNA Sequenzanalyse eingesetzt. Versteckte Zustände Gesehene Zeichenfolge Start T A T A Ende Es soll z.B. eine Transkriptionsfaktorbindestelle erkannt/modelliert werden, deren Sequenz nicht zu 100% mit einem bekannten Sequenzmotiv übereinstimmen muss, diesem aber möglichst gut ähnelt.
Hidden Markov Modelle (HMMs) Ein HMM definiert eine Wahrscheinlichkeitsverteilung auf der Menge aller Sequenzen mit Zeichen aus V: Sei V = (v1,v2,…,vT) eine Sequenz von Zeichen aus Ω. Dieser Ausgabekette können verschiedene Ketten Q = (q1,q2,…,qT) von versteckten Zuständen aus S zugrunde liegen. Es gilt dabei ist (der Bequemlichkeit halber definieren wir einen zusätzlichen Startzustand und einen Endzustand und geeignete Übergangswahrscheinlichkeiten), und
Forward Algorithmus, Backward Algorithmus Viterbi Algorithmus Baum-Welch Algorithmus Hidden Markov Modelle (HMMs) • Es gibt drei wesentliche Aufgaben zu lösen: • Auswertung.Gegeben ein HMM, berechne zu gegebener emittierter Sequenz V die Wahrscheinlichkeit, dass V durch das HMM generiert wurde. • Dekodierung.Gegeben ein HMM und eine emittierte Sequenz V, bestimme für jedes emittierte Zeichen den versteckten Zustand, der dieses Zeichen am wahrscheinlichsten emittiert hat. • Lernen eines HMMsGegeben eine emittierte Sequenz V und eine Menge versteckter Zustände S, bestimme (optimiere) die Parameter eines HMMs, so dass V mit möglichst hoher Wahrscheinlichkeit von diesem HMM generiert wurde.
P( Es wird die Teilkette v1,…,vt emittiert,und zum Zeitpunkt t befindet sich die Kette im Zustand j ) P( Es wird die ‚Teilkette vt+1,…,vT emittiert,und zum Zeitpunkt t befindet sich die Kette im Zustand j ) Auswertung Gegeben ein HMM, berechne zu gegebener emittierter Sequenz V die Wahrscheinlichkeit, dass V durch das HMM generiert wurde. Eine naive Berechnung von P(V) bräuchte exponentiell viel Zeit in der Länge der Zeichenkette. Der Schlüssel zur effizienten Lösung aller drei HMM-Probleme liegt in der Definition folgender Wahrscheinlichkeiten:
Auswertung αj(t+1) kann rekursiv berechnet werden durch Dabei ist αj(0) definiert als αStartuistamd(0)=1 und αj(0)=0 sonst. Hieraus resultiert der Forward Algorithmus: für alle jS
Auswertung Analog kann βj(t-1) rekursiv berechnet werden durch Dabei ist αj(0) definiert als αStartuistamd(0)=1 und αj(0)=0 sonst. Hieraus resultiert der Backward Algorithmus: für alle jS
Auswertung Klassifikation. Seien die Parameter aij und bjk eines HMMs durch Θ zusammengefasst. Der Forward- bzw. Backward Algorithmus liefert P(V| Θ) und vermöge der Bayes-Inversionsformel hat man bei emittierter Sequenz V Liegen mehrere alternative Modelle Θm und ein Prior P(Θ) vor, so kann das wahrscheinlichste darunter ausgewählt werden (MAP-Schätzung).
Dekodierung Gegeben ein HMM und eine emittierte Sequenz V, bestimme für jedes emittierte Zeichen den versteckten Zustand, der dieses Zeichen am wahrscheinlichsten emittiert hat. Achtung: Es ist nicht die (primäre) Aufgabe, die Folge versteckter Zustände zu konstruieren, welche V am wahrscheinlichsten generiert hat. Viterbi-Algorithmus
Dekodierung Achtung: Für diesen Pfad Q kann P(Q)=0 gelten!
Lernen von HMMs Gegeben eine emittierte Sequenz V und eine Menge versteckter Zustände S, bestimme (optimiere) die Parameter eines HMMs, so dass V mit möglichst hoher Wahrscheinlichkeit von diesem HMM generiert wurde. Sei bereits ein HMM durch die Parameter Θ = {aij, bjk} gegeben. Wir berechnen γij ist also die Wahrscheinlichkeit, dass im t-ten Schritt ein Übergang von Zustand i nach Zustand j vollzogen wird.
Lernen von HMMs Hieraus lassen sich wiederum die Übergangswahrscheinlichkeiten aij und die Emissionswahrscheinlichkeiten bjk neu schätzen: