spracherkennung der ki

Werbung
Methoden der KI in der
Biomedizin
Markov Ketten
Hidden Markov Models
Karl D. Fritscher
Unischeres Schließen über die Zeit
Annahme:
Man steht vor dem Problem Systeme modellieren zu
müssen, welche sich mit der Zeit verändern und nicht
deterministisch sind
Möglicher Ansatz:
Sammlungen von Zufallsvariablen X0, X1, …, welche in
einem Zustandsraum S Werte annehmen können
Für jede Eigenschaft, die von Interesse ist existiert eine
Ansammlung von Zufallsvariablen X1,.. Xn
Der Werte der Zufallsvariable, welche den aktuellen
Zustand repräsentiert ist abhängig von den Werten der
Variable in vorhergehenden Zuständen ab
Beispiel Wumpus
Wumpus Welt ist statisch, es bewegt sich nur der Agent
Wir nehmen an, dass der Agent keine logischen Schlüsse
zieht, sondern sich zufällig bewegt.
Die aktuelle Position des Agenten Xt ist abhängig von der
Position des Agenten zu den Zeitpunkten t-1, t-2,…
Die aktuelle Position ist gegeben durch
Wie können wir dies berechnen?
Vereinfachende Annahmen
Vereinfachende Annahme:
• Der aktuell Zustand ist abhängig von einer endlichen
Anzahl vorhergehender Zustände
Markov Prozess erster Stufe:
Übergangsmodell 1. Stufe
Markov Prozess zweiter Stufe:
Übergangsmodell 2. Stufe
Annahme zur Stationarität:
unabhängig
ist von t
Markov Ketten als Bayes Netze
Markov Kette 1. Stufe:
Markov Kette 2. Stufe:
Markov Ketten zur Simulation
Für stationäre Prozesse sind die Übergangswahrscheinlichkeiten konstant
Übergangswahrscheinlichkeiten
werden
in Form einer Matrix Aij (Spaltensumme =1) angegeben
Beispiel:
Es kann gezeigt werden, dass
Sampling Methoden zur approximativen Inferenz
S={1,2} mit der Transitionsmatrix
Simuliere die Kette für 1000 Schritte und notiere Ns(1)/N und
Ns(2)/N für N=1,2,…..,1000 mit Initialzustand A (links) und B
(rechts)
´
• Gleichgewichtsverteilung
für beliebige
Anfangswerte
Berechnung von Zustandswahrscheinlichkeiten
Wunpus Welt Beispiel:
• Zustände sind die Positionen auf dem 4 x4 Spielbrett
• Wir unterscheiden zw. den Zufallsvariablen Xt, den
Zustandskonstanten sj und den Variablen St welche den
zustand zum Zeitpunkt t wiedergeben
• Der Einfachheit halber schreiben wir St für Xt = St
• Zur Berechnung der Wahrscheinlichkeit zum Zeitpunkt t
den Goldklumpen zu finden gilt
Alle Sequenzen
(S1,…St-1)
welche zu g führen
Berechnung von Zustandswahrscheinlichkeiten
Wumpus Welt Beispiel:
• Die Zustandsübergänge sind Markov-Prozesse 1.Stufe. Bei
bekannten Ursprungszustand (zB
) führt
dies zu
daraus folgt
Alle Sequenzen
(S1,…St-1)
welche zu g führen
Berechnung von Zustandswahrscheinlichkeiten
Wumpus Welt Beispiel:
• Die Zustandsübergänge sind Markov-Prozesse 1.Stufe. Bei
bekannten Ursprungszustand (zB
) führt
dies zu
daraus folgt
Alle Sequenzen
(S1,…St-1)
welche zu g führen
• Der Berechnungsaufwand steigt exponentiell mit t. Reduktion auf polynomiale
Komplexität mittels dynamic programming
Berechnung von Zustandswahrscheinlichkeiten
Um den Berechnungsaufwand zu senken wird
folgendermaßen vorgegangen. Wir schreiben
wenn si der Anfangszustand ist
in allen anderen Fällen
Hidden Markov Models
Oft sind die Zustände (innerhalb der zu beobachtenden
Domäne/Welt) nicht beobachtbar. Jedoch steht uns eine
beobachtbare Evidenz Et zur Verfügung, welche von
unseren nicht zu beobachtenden Zustand Xt abhängt.
Nehmen wir an, dass
bekannt ist und
sowie
nicht von t abhängig sind, so gilt:
Formale Spezifikation von Hidden Markov Models
Um ein HMM zu vollständig zu spezifizieren benötigt man:
• Die Anzahl N der versteckten (=nicht beobachtbaren)
Zustände für jedes Xt
• Die Anzahl M der möglichen Beobachtungen für jedes Et
• Die Wahrscheinlichkeiten für die potentiellen
Ursprungszustände
• Die Übergangswahrscheinlichkeiten
• Die Beobachtungswahrscheinlichkeiten
Konventionen zur Notation
• Unterscheide zwischen möglichen Zuständen s1,…,sN
für jedes Xt und dem konkreten Zustand St (= eine
Ausprägungsform von s1,…,sN)
• Der Einfachheit halber schreiben wir St anstatt von Xt = St
• Zum Zeitpunkt t kann eine von M möglichen Ausgaben
o1,….oM beobachtet werden. Ot beschreibt die konkrete
Beobachtung zum Zeitpunkt t.
• Der Einfachheit halber schreiben wir Ot anstatt von Et = Ot
HMM Problemstellungen
• Zustandsschätzung: Was ist die Wahrscheinlichkeit des
Zustandes si, bei bekannter Liste von Beobachtungen?
z. B. wie groß ist
• Schätzung der wahrscheinlichsten Folge: Bei gegebenen
Beobachtungen O1,…,Ot soll die wahrscheinlichste Abfolge
von Zuständen S1,…,SN berechnet werden.
• Lernen von HMMs: Bei gegebenen Beobachtungen
O1,…,Ot soll das HMM gefunden werden, welches diese
Zustände am besten (re)produziert.
Anwendungen: Bioinformatik, Spracherkennung,
Finanzwesen,…
HMM Beispiel
• Ein Angestellter einer Firma will aus dem Gesichtsausdruck
der Mitarbeiter auf die Qualität des Essens in der Mensa
schließen.
• Es gibt 3 Essensqualitäten:
• gut (g), mittel (m), besser nicht (b)
• 3 Gesichtsausdrücke :
• hypergutdrauf (h), indifferent (i), abgrundtief schlecht (a)
• Die Qualität des Essens an einem Tag wirkt sich auf die
Qualität des Essens am nächsten Tag aus (Reste)
HMM Beispiel
• Beginn:
• Zustandsübergänge:
• Beobachtungswahrscheinlichkeiten:
HMM Beispiel
• Annahme für die ersten 3 Tage:
• Der Angestellte sieht nur die Gesichtsausdrücke i, h, h
Was kann über die Qualität des Essens gesagt werden ?
HMM Beispiel
• Wie groß ist die Wahrscheinlichkeit für die
Beobachtungssequenz (i, h, h)
• Intuitiv:
• Wie kann P(S1, S2, S3) berechnet werden ?
• Wie kann P(i,h,h|S1, S2, S3) berechnet werden?
HMM Beispiel
• Wie kann P(i,h,h|S1, S2, S3) berechnet werden?
Mit
z.B.: (S1,S2, S3)=(m,b,b)
•Wie kann P(i,h,h|S1, S2, S3) berechnet werden?
z.B.: (S1,S2, S3)=(m,b,b)
HMM Beispiel
• Problem: Es gibt 27 mögliche Kombinationen für
• Anzahl der möglichen Kombinationen wächst exponentiell
mit der Länge der Sequenz.
• Verbesserung durch dynamic programming
HMM Beispiel
• Für (O1, … , On) und t<=n wird
gesetzt (= Wahrscheinlichkeit die Sequenz (O1, … , On) zu
beobachten und mit dem Zustand si zu enden)
• Rekursive Definition führt zu polynomialem Zeitaufwand für
die Berechnung
HMM Vereinfachung der Berechnung
Durch
ergibt sich durch Marginalisierung
und die Definition der Bedingten Wahrscheinlichkeit ergibt:
HMM Beispiel Fortsetzung
• Zustandswahrscheinlichkeiten für das Mensa Beispiel
•I
•h
•h
HMM Beispiel Fortsetzung
• Der wahrscheinlichste Zustand zum Zeitpunkt 1 ist m
• Der wahrscheinlichste Zustand zum Zeitpunkt 2 ist m
• Der wahrscheinlichste Zustand zum Zeitpunkt 3 ist m
HMM – Finden der wahrscheinlichsten Folge
• Für eine Beobachtungssequenz (O1,…,On) soll die
Zustandssequenz (S1, …, St) gefunden werden, für die
gilt:
• Diese Sequenz (S*1, …, S*t) wird in weiterer Folge als
„beste Sequenz“ bezeichnet.
• Wichtig: Die beste Sequenz ist nicht gleich der
Sequenz der wahrscheinlichsten (Einzel)-Zustände.
• Ansatz zur „Berechnung“: Auflistung aller möglichen
Folgen  sehr umständlich, vor allem bei längeren
Folgen unmöglich
HMM – Finden der wahrscheinlichsten Folge
• Effektivere Lösung:
– Verwenden von dynamic programming:
Für jeden Zustand si und Zeitpunkt t, wird die wahrscheinlichste
Folge zum Zeitpunkt t berechnet, die mit Zustand si endet. Wir
nennen diese Folge mppt(i)
– Dies kann - wie vorher- rekursiv definiert werden.
– Wichtige Überlegungen: mppt(i) kann berechnet werden unter
Verwendung
• von mppt-1(i) welche um einen Zustand „kürzer“ sind
• der Übergangswahrscheinlichkeiten
• der Wahrscheinlichkeit der Beobachtung Ot zum Zustand si
(= Bi(Ot))
Viterbi Algorithmus
• Viterbi Algorithmus:
• mppt(i) ist die Folge, welche
erreicht
• Rekursion:
• (S*1, …, S*t) ist mppt(i) mit dem Endzustand S*t = si*
kurz: si* = max
Viterbi Algorithmus für Mesna Beispiel
• Mensa Beispiel:
Viterbi Algorithmus für Mesna Beispiel
• Mensa Beispiel:
– Der höchste Wert für
ist
also gilt S*3 = m
– Wir gehen von hier aus rückwärts t=3  t=2 : S*3 wurde vom
Übergang g  m erreicht, also gilt S*2 = g
– Ein weiterer Schritt rückwärts t = 2  t = 1: S*2 wurde vom
Übergang m  g erreicht, also gilt S*1 = m
mpp3(i,h,h) = (m, g, m)
– mpp3(i,h,h) =ist nicht gleich der Sequenz der
wahrscheinlcihsten Zustände (m, m, m)!
Viterbi Algorithmus für Mesna Beispiel
• Beispielanwendungen für HMMs:
Spracherkennung:
– Es werden Audio-Signale aufgenommen. Es sollen nun die
Wörter gefunden werden welche P(words|signals) maximieren.
– Bayes Regel:
– Das akustische Modell beinhaltet ein Modell zur Aussprache
eines Worts und ein Laut-Modell
– Ein Laut ist ein atomares Ereignis („Geräusch“) in einer Sprache
Viterbi Algorithmus für Mesna Beispiel
• Beispielanwendungen für HMMs:
Spracherkennung:
– Die Signale werden diskretisiert, und in „frames“ (30 ms)
zerstückelt
– Das Lautmodell bestimmt P(merkmale|laut).
Modell zur Aussprache eines Worts
• Beispielanwendungen für HMMs:
Spracherkennung:
– Jedes Wort wird in Form einer Verteilung über eine LautSequenz repräsentiert
– Implementiert in Form eines Übergangsmodells
Sprachmodell
• Beispielanwendungen für HMMs:
Spracherkennung:
– Die Wahrscheinlichkeit P(w1,…, wn) einer Wortsequenz wird mit
Hilfe der Kettenregel formuliert und über das Bigram Modell
vereinfacht (Das Bigram-Modell trifft eine Markov-Zusicherung
erster Stufe für Wortfolgen):
– Bedingte Wahrscheinlichkeiten werden durch Analyse langer
Texte ermittelt
– Erweiterung: Modell der Grammatik
Beispielanwendungen für HMMs
HMMs in der Bioinformatik:
Nature Biotechnology 22, 1315 - 1316 (2004)
• Zahlreiche weitere Anwendungsbeispiel unter:
http://www.mendeley.com/catalog/?tag=Hidden+Markov+Model
Beispielanwendungen für HMMs
Literatur:
• Rabiner, L.R. A tutorial on hidden Markov models and selected applications in
speech recognition. Proc. IEEE 77, 257−286 (1989).
• Durbin, R., Eddy, S.R., Krogh, A. & Mitchison, G.J. Biological Sequence
Analysis: Probabilistic Models of Proteins and Nucleic Acids (Cambridge
University Press, Cambridge UK, 1998).
Herunterladen