Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Hidden Markov Modelle Sven Schuierer Universität Freiburg.

Ähnliche Präsentationen


Präsentation zum Thema: "Hidden Markov Modelle Sven Schuierer Universität Freiburg."—  Präsentation transkript:

1 Hidden Markov Modelle Sven Schuierer Universität Freiburg

2 Übersicht Markov-Ketten CpG-Inseln Hidden Markov Modelle –Zustandsfolge dekodieren A posteriori Dekodieren Parameter schätzen

3 Übersicht - 2 Profil HMMs –Zustandsfolge dekodieren –A posteriori Dekodieren –Parameter schätzen

4 Motivation Markov Ketten Wichtige Probleme in der Biologie: Finden von Alignments für lange Zeichenketten Erkennung von Mustern in Zeichenketten Beispiel:Signifikante Stellen im Genom (CpG-Inseln) –Erkennung von CpG-Inseln. –Entscheidung: Zeichenkette X enthält eine CpG- Insel

5 Markov-Ketten Definition: Eine Markov-Kette ist ein Tupel (Σ,Q,A) mit: Σ - Alphabet Q - endliche Zustandmenge, jeder Zustand entspricht einem Zeichen aus Σ A - {a s,t | s, t Q}, mit a s,t P(x i =t | x i-1 =s) (Übergangswahrscheinlichkeiten)

6 Markov-Ketten X = (x 0,…, x L ) ist ein Zufallsvektor jede Zufallsvariable x i ist nur abhängig von ihrem Vorgänger x i-1 ist, d.h:

7 Markov-Ketten Zwei neue Zustände: –s (Startzustand) –e (Endzustand), Wahrscheinlichkeitmenge: A 0 - {P(x 0 = s) = a 0,s } : Wahrscheinlichkeit für s Q Startzustand

8 Beispiel: Markov Ketten AT CG se

9 AT CG se

10 P(ATGA$)=a s,A ·a A,T ·a T,G ·a G,A ·a A,e AT CG se

11 Beispiel: Markov Ketten P(X)=p(x 1 )·Π a x i, x i+1, mit P(x 0 =s)= a 0,s : P(X)=Π a x i, x i+1 AT CG se L-1 i=1 L-1 i=0

12 CpG Inseln CpG ist Nukleotidpaar CG CpG's sind selten im Genom CpG-Inseln: Kurze Teilfolgen (ca. 100 Nukleotide), in denen CpG's vermehrt vorkommen CpG-Inseln in wichtigen Teilen des Genoms (z.B. Promotoren vieler Gene)

13 Gegeben X = (x 0,…, x L ) Σ * wobei Σ={A,C,G,T} Frage Ist X eine CpG-Insel? Erkennung von CpG-Inseln

14 Verfahren Zwei Markov-Ketten: –eine Markov-Kette mit Wahrscheinlichkeiten für CpG-Insel ( + ), –eine Markov-Kette für nicht-CpG-Insel (-) Score(X) = log = log Je grösser Score(X) ist, desto wahrscheinlicher ist X CpG-Insel (Log- likelihood test) Erkennung von CpG-Inseln P(X|CpG-Insel) P(X|nicht CpG-Insel) _______________ L i=1 Σ ____ a x i-1,x i, + -

15 Gegeben X = (x 0,…, x L ) Σ * wobei Σ={A,C,G,T} Problem Finden von CpG-Inseln in langen DNA- Sequenzen Zwei Ansätze Lokalisieren von CpG-Inseln

16 l L Ansatz 1 Sliding window...ACGATACGATAAGTACGATGACCGT... – Ähnlich zur Erkennung von CpG Inseln – Problem: Laufzeit Grösse der Insel l nicht bekannt Lokalisieren von CpG-Inseln

17 Ansatz 2 Zwei Markov Ketten in einem Modell Hidden Markov Modell –Wahrscheinlichkeit für Übergang zwischen CpG-Insel und nicht-CpG- Insel Lokalisieren von CpG-Inseln

18 Hidden Markov Modell (HMM) Definition Ein Hidden Markov Model (HMM) ist Tupel M = (Σ,Q,Θ) mit: Σ - Alphabet Q - Endliche Zustandsmenge Zustand q gibt Symbol a aus Σ mit Wahrscheinlichkeit e q ( a ) aus.

19 Hidden Markov Model (HMM) Definition (II) Θ - Menge der Wahrscheinlichkeiten: – A: Übergangswahrscheinlichkeiten A:{a kl | k,l Q}, a kl = P(π i =l | π i-1 =k) – E: Ausgabewahrscheinlichkeiten E:{e k (b) | k Q, b Σ}, e k (b) = P(x i =b | π i =k)

20 HMM für CpG Inseln in DNA sequenz A+A+ A-A- C-C- G-G- T-T- C+C+ G+G+ T+T+

21 HMM Übergangswahrscheinlichkeiten π i / π i+1 A+A+ C+C+ G+G+ T+T+ A-A- C-C- G-G- T-T- A+C+G+T+A+C+G+T p0.274p0.426p0.120p 0.171p0.368p0.274p0.188p 0.161p0.339p0.375p0.125p 0.079p0.355p0.384p0.182p A-C-G-T-A-C-G-T q0.205q0.285q0.210q 0.322q0.298q0.078q0.302q 0.248q0.246q0.298q0.208q 0.177q0.239q0.292q p: P(bleibt in CpG-Insel) q: P(b. in nicht CpG-Insel)

22 Hidden Markov Model (HMM) Weg Π = (π 1,…, π L ) ist eine Abfolge von Zuständen π i im Modell M Wahrscheinlichkeit für die Erzeugung der Sequenz X aus Weg Π : P(X,Π) = a π 0,π 1 ·Π e π i (x i ) ·a π i,π i+1 π 0 = begin, π L+1 =end Gesucht: Weg Π, der X erzeugt hat. Π ist nicht direkt aus X ablesbar (hidden path) i=1 L

23 Hidden Markov Model (HMM) Beobachtbar π1π1 π2π2 π3π3 πnπn …. Versteckt x1x1 x2x2 x3x3 xnxn

24 Dekodierungsproblem Gegeben HMM M = (Σ,Q,Θ), Sequenz X Σ * Gesucht Wahrschl. Pfad Π * = (π 1,…, π L ), der X erzeugt: Π * = arg max {P(X,Π)} Lösung für CpG-Insel Problem Π

25 Viterbi Algorithmus Definition Π k - beliebiger Weg, der im Zust. k endet v k (i) - Wahrsch. des für die Erzeugung von (x 1, x 2,…,, x i ) wahrscheinlichsten Weges Π k, der im Zust. k endet: v k (i) = max P(x 1,…,x i,Π) Wahrschl. Weg Π * der X erzeugt P(X,Π * ) = max {v k (L)· a k,end } {Π | Π i =k} k Q

26 Viterbi Algorithmus Verfahren (Dynamische Programmierung) Initialisieren: v begin (0) = 1 v k (0) = 0 für alle k begin Für jedes i=0,...L-1 : v l (i+1) = e l (x i+1 ) · max {v k (i)· a kl } Damit: P(X,Π * ) = max {v k (L)· a k,end } k Q

27 Viterbi Algorithmus Q1Q1 QiQi Q i+1 v1(i)v1(i) v l (i+1) v2(i)v2(i) v |Q| (i ) a1la1l a2la2l a |Q| l e l (x i+1 ) xi+1xi+1

28 Viterbi Algorithmus Bei Berechnung der v l (i+1) Zeiger auf das (ein) maximale(s) v k (i) Element speichern. Weg Π * : Folge Rückwärtszeigern

29 Viterbi Algorithmus Wertberechnung mit Logarithmus Produkte von Wahrscheinlichkeiten können sehr klein werden – Möglichkeit von Underflows Logarithmische Wertberechnung

30 Viterbi Algorithmus Verfahren (Wertberechnung mit Logarithmus) Initialisierung: v begin (0) = 0 v k (0) = - für alle k begin Für jedes i=0,...L-1 : v l (i+1) = log e l (x i+1 ) + max {v k (i) + log(a kl )} Damit ist: Score(X,Π * ) = max {v k (L) + log(a k,end )} k Q

31 Viterbi Algorithmus Komplexität v l (i+1) = e l (x i+1 ) · max {v k (i)· a kl } Zeit O(L · |Q| 2 ) –Berechnung eines v k (i) mit O(|Q|) Operationen –v k (i) berechnen k Q, i L L · |Q| Einträge Speicherbedarf O(L · |Q|) –v k (i) speichern k Q, i L I Q

32 Alignmentprofil Definition Profil P der Länge L ist: Menge der Wahrscheinlichkeiten e i (b), dass Zeichen b an der i- ten Position vorkommt, für Alle b Σ, 1 i L Wahrscheinlichkeit der Zeichenkette X=(x 1,...,x L ) geg. Profil P : P(X|P)=Πe i (x i ) Wert eines lückenlosen Alignments von X an Profil P (log- likelihood): Score(X| P) = Σ log p(b) – Hintergrundhäufigkeit des Zeichen b i=l L L i=1 ____ ei(xi)ei(xi) p(xi)p(xi)

33 Profile Alignment HMM Match States M 1,...,M L entsprechen Übereinstimmung von Zeichen der Zeichenkette mit Profilpositionen Zustände sequentiell verbunden e j (b) Ausgabe Wahrscheinlickeit von b im Zustand Mj a i,j+1 =1, für 1 j L: Übergangswahrscheinlichk. Alignment trivial, da es immer genau einen Nachfolgezustand gibt

34 Profil Alignment M1M2 M3

35 Profile Alignment Einfügezustände I 1,...,I L Einfügezustände Für alle b Σ, e I j (b) = p(b) Affine Kostenfunktion einer Lücke der Länge h log(a M j, I j ) + log(a I j, M j+1 ) + (h-1)·log(a I j, I j ) Erweitern der Lücke Kreieren einer Lücke

36 Profil Alignment M1M2 M3 l0l1l2l3

37 Profil Alignment Löschzustände D 1,...,D L Löschzustände Können kein Zeichen ausgeben: silent Miteinander sequentiell verbunden Auch mit Match States verbunden

38 Lokales Alignment M1M2 M3 l0l1l2l3 D1 D2D3

39 Komplettes Profil HMM L Ebenen mit je drei Zuständen M j, I j, D j Endzuständen und Startzuständen Übergänge von I zu D oder umgekehrt sind unwahrscheinlich

40 Lokales Alignment Füge neue Zustände ein Ende M1M2 M3 l0l1l2l3 D1 D2D3 Start

41 Dekodieren Viterbi Algorithmus v j (i) – Wert des wahrschl. Pfades der (x 1,...,x i ) Präfix von aligniert und im Zustand Z j endet (Z {M,I,D}) Viterbi Algorithmus funktioniert wie zuvor, neu: –H ö chstens drei Vorg ä ngerzust ä nde –D i k ö nnen kein Symbol ausgeben Z

42 Viterbi - Berechnung Verfahren v begin (0)=0 v j (i)= log + max v j-1 (i-1) + log(a I j-1,M j ) v j (i)= log + max v j (i-1) + log(a I j,I j ) v j-1 (i-1) + log(a M j-1,M j ) M v j-1 (i-1) + log(a D j-1,M j ) D I I v j (i-1) + log(a M j,I j ) M v j (i-1) + log(a D j,I j ) D _____ eMj(xi)eMj(xi) p(xi)p(xi) eIj(xi)eIj(xi) p(xi)p(xi) M I

43 Viterbi - Berechnung Verfahren v j (i) = max v j (i-1) + log(a I j-1,D j ) Score(X|Π * ) = max v L (m) + log(a I L,end ) v j-1 (i) + log(a M j-1,D j ) M I D v j-1 (i) + log(a D j-1,D j ) D v L (m) + log(a D L,end )` D v L (m) + log(a M L,end )` M I

44 Viterbi - Berechnung Komplexität Es werden O(L·|X|) Werte berechnet Jede Berechnung braucht O(1) Operationen (nur drei Vorgänger) O(L·|X|) Zeit und O(L·|X|) Platz

45 Parameter schätzen für HMMs Gegeben X (1),...,X (n) Σ * (Trainings-Sequenzen) Zeichenketten der Längen L (1),...,L (n), die vom gleichen HMM M generiert wurden Wahrscheinlichkeiten für Zeichenketten schreiben: P(X (1),...,X (n) |Θ) = Π P(X (i) |Θ) n i=1

46 Parameter schätzen für HMMs Gesucht Maximieren des logarithmischen Werts: Θ * = arg max {Score(X (1),...,X (n) |Θ)} Wobei Score(X (1),...,X (n) |Θ) = log P(X (1),...,X (n) |Θ) = Σ log(P(X (i) |Θ)) Θ n i=1

47 Parameter schätzen für HMMs Gegeben X (1),...,X (n) Σ * (Trainings-Sequenzen) Zeichenketten der Längen L (1),...,L (n), die vom gleichen HMM M generiert wurden Wahrscheinlichkeiten für Zeichenketten schreiben: P(X (1),...,X (n) |Θ) = Π P(X (i) |Θ) n i=1

48 Parameter schätzen HMMs Zustandsreihenfolge bekannt Verfahren A kl : # Übergänge von Zustand k zu l E k (b) : # Ausgaben von b in Zustand k Man erhält a kl =,e k (b) = Maximum likelihood Schätzer Σ A kq q Q _____ A kl q Q Σ Ek(σ)Σ Ek(σ) _____ E kl

49 Parameter schätzen HMMs Zustandsreihenfolge bekannt Um WSK = 0 zu vermeiden, addiere zu A kl, E k (b) einen Laplace-Korrektor r kl bzw r k (b) (z.B. 1 )

50 Parameter schätzen HMMs Zustandsreihenfolge unbekannt Wenn Zustandsreihenfolge unbekannt, ist das Problem, die optimalen Parameter für Θ zu finden NP-vollständig Benutze Baum-Welch-Algorithmus (Optimierungsverfahren) zum heuristischen Finden einer Lösung Notation f k (i), b k (i) sind Forward- bzw Backward- WSKn für die Zeichenketten X (j) (j)(j) (j)(j)

51 Parameter schätzen HMMs Baum-Welch Training Verfahren Initialisierung: Wähle beliebige Werte für Θ und Erwartungswert: Wahrscheinlichkeit für Übergang von k nach l : P(π i =k, π i+1 =l | X,Θ) =. f k (i)·a kl ·e l (x i+1 )·b l (i+1) P(X) ___________________

52 Parameter schätzen HMMs Baum-Welch Training Erwartungswerte für Übergänge: 1.A kl = Σ · Σ f k (i) ·a kl ·e l (x i+1 ) ·b l (i+1) 2.E k (b) = Σ · Σ f k (i) ·b k (i) 3. Maximieren: 3.Berechne Θ wie zuvor aus A kl und E k (b) und ermittle Score(X (i),…, X (n) | Θ) 4.Wiederhole 2. und 3. bis Score(X (i),…, X (n) | Θ) sich um weniger als ε verbessert i=1 P(X (j) ) _____ 1 L(j) P(X (j) ) _____ 1 j=1 n (j)(j) (j)(j) (j)(j) (j)(j)(j)(j) (j)(j) {i|x i =b} j=1 n

53 Parameter Schätzen bei Profil HMMs Gegeben Multiples Alignment von X (1),...,X (n) Gesucht Werte a kl, e k (b) für Profil HMM Idee Wie zuvor Werte aus A kl, E k (b) berechnen a kl =, e k (b) = Wie zuvor um bei kleinen TrainingsmengenWSKs von 0 zu vermeiden Laplace-Korrektor hinzuaddieren ____ A kl ΣA kq q Q ____ Ek(b)Ek(b) Σpk(σ)Σpk(σ) σ Σ

54 Profil HMM Beispiel ATTAAA AGTTCA GTTACA TCTCGC GCCACA CCTATC A TTA AA AGTT CA GTTA CA TCTCG C GCCA CA CCT ATC D1D2D3D4D5D7D6 l1l2l3l4l5l7l6 A: B: G: T: A: B: G: T: A: B: G: T: A: B: G: T: A: B: G: T: A: B: G: T: A: B: G: T: Start End

55 Multiple Alignments Gegeben Menge S von Zeichenketten X (1),...,X (n) Gesucht Multiples Alignment Idee Benutze Profil HMM Zwei Fälle –Profil HMM bekannt –Profil HMM unbekannt

56 Multiple Alignments Profil HMM bekannt Aligniere jede Zeichenkette X (i) einzeln mit Profil HMM Bilde aus erhaltenen Alignments Multiples Alignment

57 Multiple Alignments Profil HMM unbekannt Wähle Länge L des Profil HMM Initialisiere Ausgabegangs und Übergangs Wahrscheinlichkeiten Trainiere das HMM mit Baum-Welch Algorithmus auf gesamter Trainingsmenge Man erhält nun ein Multiple Alignment aus dem entstandenen Profil HMM, wenn man wie auf Folie zuvor verfährt

58 A posteriori Dekodierenproblem Gegeben HMM M = (Σ,Q,Θ), Zeichenkette X Gesucht Wahrscheinlichkeit des Zustandes k als i -ter Zustand, für alle i {1,…,L}, für alle k Q P(π i =k | X) Zur Berechnung werden zwei weitere Wahrscheinlichkeiten genutzt: –Forward- und –Backward-Wahrscheinlichkeiten

59 A posteriori Dekodierung Forward Algorithmus Definition f k (i) = P(x 1,..., x i, π i = k), Wahrscheinlichkeit, dass man die Zeichenkette X= (x 1,...,x i ) ausgibt und im Zustand π i = k endet

60 A posteriori Dekodierung Forward algorithm Verfahren Initialisierung: f begin (0) = 1 f k (0) = 0 für alle k begin Für alle i {1,...,L-1} Für alle l Q f l (i+1) = e l (x i+1 ) · Σ f k (i) · a kl Damit ist: P (X) = Σ f k (L) · a k,end k Q

61 A posteriori Dekodierung Backward algorithm Definition b k (i) = P(x i+1,...,x L | π i = k), Wahrscheinlichkeit, dass man in Schritt i in Zustand π i = k ist und dann die Zeichenkette X=(x i+1,...,x L ) ausgibt

62 A posteriori Dekodierung Backward algorithm Verfahren Initialisierung: b k (L) = a k,end k Q Für alle i {1,...,L-1} für alle k Q b k (i) = Σ a kl · e l (x i+1 ) · b l (i+1) Damit ist: P(X) = Σ a begin,l · e l (x 1 ) · b l (1) l Q

63 A posteriori Dekodierung Komplexität Berechnung der f k (i) ´ s und b k (i) ´ s in O(L · |Q| 2 ) Zeit Platz O(L · |Q|)

64 A posteriori Dekodierung Backward algorithm Logarithmische Wertberechnung Wegen Summe nicht trivial verwende Exponentialfunktion –f begin (0) = 1 –f k (0) = - für alle k begin –f l (i+1) = log[e l (x i+1 )] + log[Σ a kl · exp(f k (i))] –P(X) = log Σ a k,end · exp( f k (L)) k Q

65 A posteriori Dekodierung Mit f k (i) und b k (i) kann man die Werte von P(π i =k|X) berechnen Abhängigheit nur vom letzten Zustand: P(X,π i =k) =P(x 1,…, x i,π i =k)·P(x i+1,…, x L |x 1,…, x i,π i =k) =P(x 1,…, x i,π i =k)·P(x i+1,…, x L |π i =k) =f k (i)·b k (i)

66 A posteriori Dekodierung Mit der Definition der bedingten Wahrscheinlichkeit: P(π i =k|X) = = P(X) kann mit der forward oder backward Wahrscheinlichkeit berechnet werden, z.B. P(X) = Σ a begin,l · e l (x 1 )·b l (1) P(X,π i =k) P(X) ________ _______ f k (i)·b k (i), P(X), l Q

67 A posteriori Dekodierung Anwendung Nützlich, wenn verschiedene Wege fast die gleichen Wahrscheinlichkeiten haben Definition Π i ** =arg max {P(Π i =k|X)} Aber möglicherweise sind einige Übergänge nicht gültig k

68 A posteriori Dekodierung Anwendung Andere Eigenschaften: definiere Funktion g(k) und betrachte: G(i|X) = Σ {P(Π i =k|X) · g(k)} Wenn g(k)=1 für Teilmenge S und g(k)=0 in anderen Fall, G(i|X) ist die Wahrscheinlichkeit dass x aus Zustand S erzeugt wird A posteriori Wahrscheinlichkeit für CpG Insel k

69 Profil HMMS Forward Algorithmus Verfahren f begin (0) = 1 f j (i) = e M j (x i )·[ f j-1 (i-1) · a M j-1,M j + f j-1 (i-1) · a I j-1,M j + f j-1 (i-1) · a D j-1,M j ] f j (i) = e I j (x i )·[ f j (i-1) · a M j-1,I j + f j (i-1) · a I j-1, I j + f j (i-1) · a D j-1, I j ] f j (i) = f j-1 (i) · a M j-1, D j + f j-1 (i) · a I j-1, D j + f j-1 (i) · a D j-1, D j MM I D M I D M ID I D

70 Profil HMMs A posteriori Dekodierung Finden echt Werte für Übergangwahrsch. Und Ausgangwahrsch. Für einen Profil HMM Gegeben X = (x 1,...,x m ), Z j {M j, I j, D j } Forward Algorithmus f j (i) = P(x 1,...,x i, π i = Z j ), WSK, dass man die Zeichen (x 1,...,x i ) ausgibt und im Zustand Z j endet Backward Algorithmus b j (i) = P(x i+1,...,x m | Z j ), WSK, dass man die Zeichen (x i+1,...,x m ) ausgeben wird, wenn man in Zustand Z j ist Z Z

71 Backward Algorithmus Verfahren b L (m) = a M L,end b j (i) = b j+1 (i+1) · a Z j,M j+1 · e M j+1 (x i+1 ) + b j (i+1) · a Z j,I j · e I j (x i+1 ) + b j+1 (i) · a Z j,D j+1 für alle Z {M, I, D} Q Z Z I D M

72 Baum-Welch Schätzen der WSK nach Baum-Welch Erwartete Ausgabe WSK für Z {M, I} E Z k (a) = Σ f k (i) b k (i) Erwartete Übergangs WSK für Z {M, I, D} A Z k,M k+1 = Σ f k (i) a Z k,M k+1 e M k+1 (x i+1 ) b k+1 (i+1) A Z k,I k = Σ f k (i) a Z k,I k e I k (x i+1 ) b k (i+1) A Z k,D k+1 = Σ f k (i) a Z k,D k+1 b k+1 (i) ____ 1 p(X)p(X) i|x i =a ____ 1 p(X)p(X) 1 p(X)p(X) 1 p(X)p(X) i i i Z Z Z Z Z M I D

73 Casino Problem Beispiel 1: 1/10 2: 1/10 3: 1/10 4: 1/10 5: 1/10 6: 1/ : 1/6 2: 1/6 3: 1/6 4: 1/6 5: 1/6 6: 1/6 FairLoaded a FF = 0.95 a FL = 0.05 a LF = 0.1 a LL = 0.9 1i6 e F (i) = 1/6 1i5 e L (i) = 0.1 e L (6) = 0.5

74 Viterbi Algorithmus Diagramm


Herunterladen ppt "Hidden Markov Modelle Sven Schuierer Universität Freiburg."

Ähnliche Präsentationen


Google-Anzeigen