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