Hidden markov modelle
Download
1 / 74

Hidden Markov Modelle - PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on

Hidden Markov Modelle. Sven Schuierer Universität Freiburg. Übersicht. Markov-Ketten CpG-Inseln Hidden Markov Modelle Zustandsfolge dekodieren A posteriori Dekodieren Parameter sch ätzen. Übersicht - 2. Profil HMMs Zustandsfolge dekodieren A posteriori Dekodieren Parameter sch ätzen.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Hidden Markov Modelle' - delilah-perry


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Hidden markov modelle

Hidden Markov Modelle

Sven Schuierer

Universität Freiburg


Bersicht
Übersicht

  • Markov-Ketten

  • CpG-Inseln

  • Hidden Markov Modelle

    • Zustandsfolge dekodieren

      • A posteriori Dekodieren

      • Parameter schätzen


Bersicht 2
Übersicht - 2

  • Profil HMMs

    • Zustandsfolge dekodieren

    • A posteriori Dekodieren

    • Parameter schätzen


Motivation markov ketten
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


Markov ketten
Markov-Ketten

Definition:

Eine Markov-Kette ist ein Tupel (Σ,Q,A) mit:

Σ - Alphabet

Q - endliche Zustandmenge, jeder Zustand entspricht einem Zeichen ausΣ

A - {as,t | s, t  Q}, mit

as,t ≡ P(xi=t | xi-1=s)(Übergangswahrscheinlichkeiten)


Markov ketten1
Markov-Ketten

  • X = (x0,…, xL)ist ein Zufallsvektor

  • jede Zufallsvariable xi ist nur abhängig von ihrem Vorgänger xi-1 ist, d.h:


Markov ketten2
Markov-Ketten

  • Zwei neue Zustände:

    • s (Startzustand)

    • e (Endzustand),

  • Wahrscheinlichkeitmenge:

    A0 - {P(x0 = s) = a0,s} :

    Wahrscheinlichkeit für s  Q Startzustand



Beispiel markov ketten1

A

T

s

e

C

G

Beispiel: Markov Ketten


Beispiel markov ketten2

A

T

s

e

C

G

Beispiel: Markov Ketten

P(ATGA$)=as,A·aA,T·aT,G·aG,A ·aA,e


Beispiel markov ketten3

A

T

s

e

C

G

L-1

i=1

L-1

i=0

Beispiel: Markov Ketten

P(X)=p(x1)·Πaxi,xi+1,

mit P(x0=s)=a0,s:

P(X)=Πaxi,xi+1


Cpg inseln
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)


Erkennung von cpg inseln
Erkennung von CpG-Inseln

Gegeben

X = (x0,…, xL)  Σ* wobei Σ={A,C,G,T}

Frage

Ist Xeine CpG-Insel?


Erkennung von cpg inseln1

P(X|CpG-Insel)

P(X|nicht CpG-Insel)

_______________

axi-1,xi,

axi-1,xi,

+

____

-

L

Σ

i=1

Erkennung von CpG-Inseln

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 XCpG-Insel (Log-likelihood test)


Lokalisieren von cpg inseln
Lokalisieren von CpG-Inseln

Gegeben

X = (x0,…, xL)  Σ* wobei Σ={A,C,G,T}

Problem

Finden von CpG-Inseln in langen DNA-Sequenzen

Zwei Ansätze


Lokalisieren von cpg inseln1

L

l

Lokalisieren von CpG-Inseln

Ansatz 1

Sliding window

...ACGATACGATAAGTACGATGACCGT...

  • Ähnlich zur Erkennung von CpG Inseln

  • Problem:

    • Laufzeit

    • Grösse der Insel l nicht bekannt


Lokalisieren von cpg inseln2
Lokalisieren von CpG-Inseln

Ansatz 2

Zwei Markov Ketten in einem Modell → Hidden Markov Modell

  • Wahrscheinlichkeit für Übergang zwischen „CpG-Insel“ und „nicht-CpG-Insel“


Hidden markov modell hmm
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 eq(a) aus.


Hidden markov model hmm
Hidden Markov Model (HMM)

Definition (II)

Θ - Menge der Wahrscheinlichkeiten:

  • A:Übergangswahrscheinlichkeiten

    A:{akl | k,l  Q}, akl= P(πi=l |πi-1=k)

  • E:Ausgabewahrscheinlichkeiten

    E:{ek(b) | k  Q, b  Σ}, ek (b) = P(xi=b |πi=k)


Hmm f r cpg inseln in dna sequenz

A+

C+

G+

T+

A-

C-

G-

T-

HMM für CpG Inseln in DNA sequenz


Hmm bergangswahrscheinlichkeiten
HMM Übergangswahrscheinlichkeiten

p:

P(bleibt in CpG-Insel)

q:

P(b. in nicht CpG-Insel)


Hidden markov model hmm1

L

i=1

Hidden Markov Model (HMM)

WegΠ= (π1,…,πL)ist eine Abfolge von Zuständen πi im ModellM

Wahrscheinlichkeit für die Erzeugung der Sequenz X aus Weg Π:

P(X,Π)= aπ0,π1·Π eπi (xi) ·aπi,πi+1

π0 = begin, πL+1 =end

Gesucht:

Weg Π,der X erzeugt hat. Π ist nicht direkt aus X ablesbar (hidden path)


Hidden markov model hmm2

π1

π2

π3

πn

Hidden Markov Model (HMM)

x1

x2

x3

xn

Beobachtbar

….

Versteckt


Dekodierungsproblem
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

Π


Viterbi algorithmus
Viterbi Algorithmus

Definition

Πk- beliebiger Weg, der im Zust. kendet

vk(i) - Wahrsch. des für die Erzeugung von (x1, x2,…, ,xi)wahrscheinlichsten Weges Πk, der im Zust. kendet:

vk(i) = maxP(x1,…,xi,Π)

Wahrschl. Weg Π*der X erzeugt

P(X,Π*)= max {vk(L)· ak,end }

{Π | Πi=k}

k  Q


Viterbi algorithmus1
Viterbi Algorithmus

Verfahren (Dynamische Programmierung)

Initialisieren:

  • vbegin(0) = 1

  • vk(0) = 0 für allek ≠ begin

    Für jedes i=0,...L-1:

    vl(i+1) = el (xi+1) · max{vk(i)·akl}

    Damit:

    P(X,Π*) = max{vk(L)·ak,end}

kQ

kQ


Viterbi algorithmus2
Viterbi Algorithmus

Qi+1

Qi

Q1

v1(i)

a1l

v2(i)

a2l

xi+1

el (xi+1)

vl(i+1)

a|Q|l

v|Q|(i)


Viterbi algorithmus3
Viterbi Algorithmus

Bei Berechnung dervl(i+1) Zeiger auf das (ein) maximale(s)vk(i) Element speichern.

Weg Π*: Folge Rückwärtszeigern


Viterbi algorithmus wertberechnung mit logarithmus
Viterbi AlgorithmusWertberechnung mit Logarithmus

  • Produkte von Wahrscheinlichkeitenkönnen sehr klein werden

    • Möglichkeit von Underflows

    • Logarithmische Wertberechnung


Viterbi algorithmus4
Viterbi Algorithmus

Verfahren (Wertberechnung mit Logarithmus)

Initialisierung:

  • vbegin(0) = 0

  • vk(0) = - ∞für allek ≠ begin

    Für jedes i=0,...L-1:

    vl(i+1) = log el(xi+1) +max{vk(i) + log(akl)}

    Damit ist:

    Score(X,Π*) = max{vk(L) + log(ak,end)}

kQ

kQ


Viterbi algorithmus5
Viterbi Algorithmus

Komplexität

vl(i+1) = el(xi+1) · max{vk(i)·akl}

Zeit O(L · |Q|2)

  • Berechnung einesvk(i) mit O(|Q|) Operationen

  • vk(i) berechnen k  Q, i ≤ L L · |Q|Einträge

    Speicherbedarf O(L · |Q|)

  • vk(i) speichern  kQ, i ≤ L

IQ


Alignmentprofil

ei(xi)

____

p(xi)

Alignmentprofil

Definition

Profil Pder Länge L ist:

Menge der Wahrscheinlichkeiten ei(b),dass Zeichen b an der i-ten Position vorkommt, für Alle b Σ, 1 ≤ i ≤ L

Wahrscheinlichkeit der Zeichenkette X=(x1,...,xL) geg. Profil P:

P(X|P)=Πei(xi)

Wert eines lückenlosen Alignments von X an Profil P (log-likelihood):

Score(X| P) = Σ log

p(b) – Hintergrundhäufigkeit des Zeichen b

L

i=1

L

i=l


Profile alignment
Profile Alignment

HMM

  • “Match States“ M1,...,ML entsprechen Übereinstimmung von Zeichen der Zeichenkette mit Profilpositionen

  • Zustände sequentiell verbunden

  • ej(b) Ausgabe Wahrscheinlickeit von b im Zustand Mj

  • ai,j+1=1, für 1≤ j ≤ L:Übergangswahrscheinlichk.

  • Alignment trivial, da es immer genau einen Nachfolgezustand gibt



Profile alignment einf gezust nde
Profile AlignmentEinfügezustände

  • I1,...,IL Einfügezustände

  • Für alle b  Σ, eIj(b) = p(b)

  • Affine Kostenfunktion einer Lücke der Länge h

    log(aMj,Ij) + log(aIj,Mj+1) + (h-1)·log(aIj,Ij)

Kreieren einer Lücke

Erweitern der Lücke


Profil alignment1
Profil Alignment

l0

l1

l2

l3

M1

M2

M3


Profil alignment l schzust nde
Profil Alignment Löschzustände

  • D1,...,DL Löschzustände

  • Können kein Zeichen ausgeben: „silent“

  • Miteinander sequentiell verbunden

  • Auch mit „Match States“ verbunden


Lokales alignment
Lokales Alignment

D2

D3

D1

l0

l1

l2

l3

M1

M2

M3


Komplettes profil hmm
Komplettes Profil HMM

  • L Ebenen mit je drei Zuständen Mj,Ij, Dj

  • Endzuständen und Startzuständen

  • Übergänge von I zu D oder umgekehrt sind unwahrscheinlich


Lokales alignment1

D2

D3

D1

l0

l1

l2

l3

M1

M2

M3

Start

Ende

Lokales Alignment

  • Füge neue Zustände ein


Dekodieren
Dekodieren

Viterbi Algorithmus

  • vj(i) – Wert des wahrschl. Pfades der (x1,...,xi) Präfix von aligniert und im Zustand Zj endet (Z  {M,I,D})

  • Viterbi Algorithmus funktioniert wie zuvor, neu:

    • Höchstens drei Vorgängerzustände

    • Dikönnen kein Symbol ausgeben

Z


Viterbi berechnung

vj-1(i-1) + log(aMj-1,Mj)

vj-1(i-1) + log(aDj-1,Mj)

M

D

M

D

vj (i-1) + log(aMj,Ij)

vj (i-1) + log(aDj,Ij)

eMj(xi)

eIj(xi)

_____

_____

p(xi)

p(xi)

Viterbi - Berechnung

Verfahren

vbegin(0)=0

vj(i)= log + max vj-1(i-1) + log(aIj-1,Mj)

vj(i)= log + max vj(i-1) + log(aIj,Ij)

M

I

I

I


Viterbi berechnung1

vj-1(i) + log(aMj-1,Dj)

vj-1(i) + log(aDj-1,Dj)

M

D

vL(m) + log(aDL,end)`

vL(m) + log(aML,end)`

D

M

Viterbi - Berechnung

Verfahren

vj(i) = max vj(i-1) + log(aIj-1,Dj)

Score(X|Π*) = max vL(m) + log(aIL,end)

D

I

I


Viterbi berechnung2
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


Parameter sch tzen f r hmms

n

i=1

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


Parameter sch tzen f r hmms1
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


Parameter sch tzen f r hmms2

n

i=1

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


Parameter sch tzen hmms zustandsreihenfolge bekannt

Ekl

Akl

_____

_____

ΣEk(σ)

ΣAkq

q Q

q Q

Parameter schätzen HMMsZustandsreihenfolge bekannt

Verfahren

  • Akl : # Übergänge von Zustand kzu l

  • Ek(b) : # Ausgaben von b in Zustand k

    Man erhält

    akl = ,ek(b) =

    Maximum likelihoodSchätzer


Parameter sch tzen hmms zustandsreihenfolge bekannt1
Parameter schätzen HMMsZustandsreihenfolge bekannt

  • Um WSK = 0 zu vermeiden, addiere zu Akl , Ek(b) einen Laplace-Korrektorrklbzw rk(b) (z.B. 1)


Parameter sch tzen hmms zustandsreihenfolge unbekannt
Parameter schätzen HMMsZustandsreihenfolge 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

  • fk (i), bk(i)sind Forward- bzw Backward-WSKn für die Zeichenketten X(j)

(j)

(j)


Parameter sch tzen hmms baum welch training

fk(i)·akl·el(xi+1)·bl(i+1)

P(X)

___________________

Parameter schätzen HMMsBaum-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,Θ) = .


Parameter sch tzen hmms baum welch training1

1

1

_____

_____

P(X(j))

P(X(j))

(j)

{i|xi=b}

Parameter schätzen HMMsBaum-Welch Training

Erwartungswerte für Übergänge:

  • Akl = Σ · Σ fk(i) ·akl ·el(xi+1) ·bl(i+1)

  • Ek(b) = Σ · Σ fk(i) ·bk(i)

    3. Maximieren:

  • Berechne Θ wie zuvor aus Akl und Ek(b) und ermittle Score(X(i),…, X(n)| Θ)

  • Wiederhole 2. und 3. bis Score(X(i),…, X(n)| Θ) sich um weniger als ε verbessert

L(j)

(j)

n

(j)

(j)

j=1

i=1

(j)

(j)

n

j=1


Parameter sch tzen bei profil hmms

Akl

Ek(b)

____

____

qQ

σΣ

ΣAkq

Σpk(σ)

Parameter Schätzen bei Profil HMMs

Gegeben

Multiples Alignment von X(1),...,X(n)

Gesucht

Werte akl,ek(b)für Profil HMM

Idee

Wie zuvor Werte aus Akl,Ek(b)berechnen

akl= ,ek(b) =

Wie zuvor um bei kleinen TrainingsmengenWSKs von 0 zu vermeiden Laplace-Korrektor hinzuaddieren


Profil hmm

D1

D2

D3

D4

D5

D6

D7

End

l1

l2

l3

l4

l5

l6

l7

Start

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:

Profil HMM

A TTA AA

AGTT CA

GTTA CA

TCTCG C

GCCA CA

CCT ATC

1 2 34 5 67

ATTAAA

AGTTCA

GTTACA

TCTCGC

GCCACA

CCTATC

Beispiel


Multiple alignments
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


Multiple alignments1
Multiple Alignments

Profil HMM bekannt

  • Aligniere jede Zeichenkette X(i)einzeln mit Profil HMM

  • Bilde aus erhaltenen Alignments Multiples Alignment


Multiple alignments2
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


A posteriori dekodierenproblem
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


A posteriori dekodierung forward algorithmus
A posteriori DekodierungForward Algorithmus

Definition

  • fk (i) = P(x1 ,... , xi , πi = k), Wahrscheinlichkeit, dass man die ZeichenketteX=(x1,...,xi) ausgibt und im Zustand πi = kendet


A posteriori dekodierung forward algorithm
A posteriori DekodierungForward algorithm

Verfahren

Initialisierung:

  • fbegin(0) = 1

  • fk(0) = 0 für alle k ≠ begin

    Für allei {1,...,L-1}

    Für allel  Q

    fl (i+1) = el(xi+1) · Σfk(i) · akl

    Damit ist:

  • P(X) = Σfk(L) · ak,end

k Q

k Q


A posteriori dekodierung backward algorithm
A posteriori DekodierungBackward algorithm

Definition

  • bk(i) = P(xi+1,... ,xL | πi = k), Wahrscheinlichkeit, dass man in Schritt i in Zustand πi =k ist und dann die Zeichenkette X=(xi+1,...,xL) ausgibt


A posteriori dekodierung backward algorithm1
A posteriori DekodierungBackward algorithm

Verfahren

Initialisierung:

  • bk(L) = ak,end k  Q

    Für allei {1,...,L-1} für allek  Q

    bk(i) = Σakl ·el(xi+1)·bl(i+1)

    Damit ist:

  • P(X) = Σabegin,l ·el(x1)·bl(1)

l Q

l Q


A posteriori dekodierung
A posteriori Dekodierung

Komplexität

  • Berechnung der fk (i) ´s und bk(i) ´s in

  • O(L · |Q|2) Zeit

  • Platz O(L · |Q|)


A posteriori dekodierung backward algorithm2
A posteriori DekodierungBackward algorithm

Logarithmische Wertberechnung

  • Wegen Summe nicht trivial

    → verwende Exponentialfunktion

    • fbegin(0) = 1

    • fk(0) = -∞für alle k ≠ begin

    • fl (i+1) = log[el(xi+1)] + log[Σakl· exp(fk(i))]

    • P(X) = log Σak,end · exp( fk(L))

kQ

k Q


A posteriori dekodierung1
A posteriori Dekodierung

  • Mit fk (i) und bk(i) kann man die Werte von P(πi=k|X) berechnen

  • Abhängigheit nur vom letzten Zustand:

  • P(X,πi=k)

    =P(x1,…, xi,πi=k)·P(xi+1,…, xL|x1,…, xi,πi=k)

    =P(x1,…, xi,πi=k)·P(xi+1,…, xL|πi=k)

    =fk(i)·bk(i)


A posteriori dekodierung2

fk(i)·bk(i),

P(X),

_______

P(X,πi=k)

P(X)

________

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) = Σabegin,l· el(x1)·bl(1)

lQ


A posteriori dekodierung anwendung
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


A posteriori dekodierung anwendung1
A posteriori DekodierungAnwendung

  • 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


Profil hmms forward algorithmus
Profil HMMS Forward Algorithmus

Verfahren

fbegin(0) = 1

fj (i) = eMj(xi)·[ fj-1(i-1) · aMj-1,Mj +

fj-1(i-1) · aIj-1,Mj +

fj-1(i-1) · aDj-1,Mj]

fj (i) = eIj(xi)·[ fj (i-1) · aMj-1,Ij +

fj (i-1) · aIj-1, Ij +

fj (i-1) · aDj-1, Ij]

fj (i) = fj-1(i) · aMj-1, Dj + fj-1(i) · aIj-1, Dj + fj-1(i) · aDj-1, Dj

M

M

I

D

I

M

I

D

I

D

D

M


Profil hmms a posteriori dekodierung
Profil HMMs A posteriori Dekodierung

Finden echt Werte für Übergangwahrsch. Und Ausgangwahrsch. Für einen Profil HMM

Gegeben X = (x1,...,xm), Zj  {Mj, Ij ,Dj}

Forward Algorithmus

  • fj (i) = P(x1,... ,xi, πi = Zj), WSK, dass man die Zeichen (x1,...,xi) ausgibt und im Zustand Zj endet

    Backward Algorithmus

  • bj (i) = P(xi+1,... ,xm | Zj), WSK, dass man die Zeichen (xi+1,...,xm) ausgeben wird, wenn man in Zustand Zj ist

Z

Z


Backward algorithmus
Backward Algorithmus

Verfahren

bL(m) = aML,end

bj (i) = bj+1(i+1) · aZj,Mj+1 · eMj+1(xi+1) +

bj (i+1) · aZj,Ij · eIj(xi+1) +

bj+1(i) · aZj,Dj+1

für alle Z {M, I,D}  Q

Z

Z

M

I

D


Baum welch

1

1

1

1

____

____

____

____

p(X)

p(X)

p(X)

p(X)

Baum-Welch

Schätzen der WSK nach Baum-Welch

  • Erwartete Ausgabe WSK für Z {M, I}

    EZk(a) = Σfk (i) bk (i)

  • Erwartete Übergangs WSK für Z {M, I,D}

    AZk,Mk+1 = Σfk (i) aZk,Mk+1 eMk+1(xi+1) bk+1(i+1)

    AZk,Ik= Σfk (i) aZk,Ik eIk(xi+1) bk(i+1)

    AZk,Dk+1 = Σfk (i) aZk,Dk+1bk+1(i)

Z

Z

i|xi=a

M

Z

i

I

Z

i

D

Z

i


Casino problem

0.95

0.9

1: 1/6

2: 1/6

3: 1/6

4: 1/6

5: 1/6

6: 1/6

1: 1/10

2: 1/10

3: 1/10

4: 1/10

5: 1/10

6: 1/2

0.05

0.1

Fair

Loaded

Casino Problem

Beispiel

aFF = 0.95

aFL = 0.05

aLF = 0.1

aLL = 0.9

1≤i≤6eF(i) = 1/6

1≤i≤5eL(i) = 0.1

eL(6) = 0.5



ad