Hidden Markov Model. March 12, 2013

Hasonló dokumentumok
Diszkrét idejű felújítási paradoxon

(Diszkrét idejű Markov-láncok állapotainak

12. előadás - Markov-láncok I.

előadás Diszkrét idejű tömegkiszolgálási modellek Poisson-folyamat Folytonos idejű Markov-láncok Folytonos idejű sorbanállás

e (t µ) 2 f (t) = 1 F (t) = 1 Normális eloszlás negyedik centrális momentuma:

E.4 Markov-láncok E.4 Markov-láncok. Sok sorbanállási hálózat viselkedése leírható "folytonos idejű Markovláncok " segítségével.

Markov-láncok stacionárius eloszlása

i p i p 0 p 1 p 2... i p i

Markov modellek

Rejtett Markov Modell

Legyen adott egy S diszkrét halmaz. Leggyakrabban S az egész számoknak egy halmaza, például S = {0, 1, 2,..., N}, {0, 1, 2,... }.

1. Példa. A gamma függvény és a Fubini-tétel.

Statisztikai következtetések Nemlineáris regresszió Feladatok Vége

KÖZELÍTŐ INFERENCIA II.

Sztochasztikus folyamatok alapfogalmak

Véletlen szám generálás

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Statisztikai módszerek a skálafüggetlen hálózatok

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

Yule és Galton-Watson folyamatok

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

KÖZELÍTŐ INFERENCIA II.

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Általánosan, bármilyen mérés annyit jelent, mint meghatározni, hányszor van meg

Megoldások. ξ jelölje az első meghibásodásig eltelt időt. Akkor ξ N(6, 4; 2, 3) normális eloszlású P (ξ

Egy Markov modell alapú számjegy felismerési módszer

Mesterséges Intelligencia I.

Saj at ert ek-probl em ak febru ar 26.

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

1.1. Vektorok és operátorok mátrix formában

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

Rekurzív sorozatok. SZTE Bolyai Intézet nemeth. Rekurzív sorozatok p.1/26

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Abszolút folytonos valószín ségi változó (4. el adás)

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

17. előadás: Vektorok a térben

Elemi statisztika. >> =weiszd= << december 20. Szerintem nincs sok szükségünk erre... [visszajelzés esetén azt is belerakom] x x = n

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Kauzális modellek. Randall Munroe

egyenletesen, és c olyan színű golyót teszünk az urnába, amilyen színűt húztunk. Bizonyítsuk

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Diszkrét matematika 2.C szakirány

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Differenciaegyenletek

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

4. Előadás: Erős dualitás

Gauss-Seidel iteráció

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Sztochasztikus temporális logikák

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Matematika A3 Valószínűségszámítás, 5. gyakorlat 2013/14. tavaszi félév

GROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.

A valószínűségszámítás elemei

A statisztikai vizsgálat tárgyát képező egyedek összességét statisztikai sokaságnak nevezzük.

Nagy Gábor compalg.inf.elte.hu/ nagy

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Mesterséges Intelligencia MI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Chomsky-féle hierarchia

A Markovi forgalomanalízis legújabb eredményei és ezek alkalmazása a távközlő hálózatok teljesítményvizsgálatában

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

Nagy Gábor compalg.inf.elte.hu/ nagy

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Megerősítéses tanulási módszerek és alkalmazásaik

Principal Component Analysis

A 2013/2014. tanévi Országos Középiskolai Tanulmányi Verseny MATEMATIKA II. KATEGÓRIA (GIMNÁZIUM)

Osztott algoritmusok

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Függvények növekedési korlátainak jellemzése

Nem teljesen kitöltött páros összehasonlítás mátrixok sajátérték optimalizálása Newton-módszerrel p. 1/29. Ábele-Nagy Kristóf BCE, ELTE

GPK M1 (BME) Interpoláció / 16

Mátrixhatvány-vektor szorzatok hatékony számítása

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Számítógépes Grafika mintafeladatok

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

5. előadás - Regressziószámítás

1. ábra ábra

Az idősorok összetevői Trendszámítás Szezonalitás Prognosztika ZH

SHk rövidítéssel fogunk hivatkozni.

Operációkutatás. 4. konzultáció: Sorbanállás. Exponenciális elsozlás (ismétlés)

Szindbád mellett, egyszerre csak egy háremhölgy jelenik meg. Szindbád. hogy a kalifának hány háremhölgye van, viszont semmit nem tud arról,

Eseményalgebra. Esemény: minden amirl a kísérlet elvégzése során eldönthet egyértelmen hogy a kísérlet során bekövetkezett-e vagy sem.

Számelméleti alapfogalmak

Eloszlás-független módszerek (folytatás) 14. elıadás ( lecke) 27. lecke khí-négyzet eloszlású statisztikák esetszámtáblázatok

Valószínűségi változók. Várható érték és szórás

Magyary Zoltán Posztdoktori beszámoló előadás

Vektorterek. =a gyakorlatokon megoldásra ajánlott

A félév során előkerülő témakörök

Vektorok, mátrixok, lineáris egyenletrendszerek

Átírás:

Hidden Markov Model Göbölös-Szabó Julianna March 12, 2013

Outline 1 Egy példa 2 Feladat formalizálása 3 Forward-algoritmus 4 Backward-algoritmus 5 Baum-Welch algoritmus 6 Skálázás 7 Egyéb apróságok 8 Alkalmazás

Példa elmúlt évek átlaghőmérsékletét, időjárását próbáljuk megbecsülni (adat nem áll rendelkezésre) ami megfigyelhető: fák évgyűrűi tudjuk, hogy hidegben kevésbé fejlődik a fa Meleg-hideg évek váltakozása: H C H 0.7 0.3 C 0.4 0.6 Hőmérséklet hatása az évgyűrűkre: S M L H 0.1 0.4 0.5 C 0.7 0.2 0.1

Példa Állapotok: Hot, Cold Megfigyelés szimbólumai: Small, Medium, Large Állapotátmenet mátrix: [ 0.7 ] 0.3 A = 0.4 0.6 Kibocsátási mátrix: [ 0.1 0.4 ] 0.5 B = 0.7 0.2 0.1 Megfigyelés: O = SMLS Feladat: határozzuk meg a legvalószínűbb állapotsorozatot, ami O-t generálta!

Mit jelent, hogy legvalószínűbb? Feladat: határozzuk meg a legvalószínűbb állapotsorozatot, ami O-t generálta! Dinamikus programozás: adott hosszúságú sorozatok közül megadja a legnagyobb valószínűségűt. HMM: olyan állapotsorozatot ad meg, ami a helyes állapotok várható számát maximalizálja

Emlékeztető Markov-lánc Egy X 1, X 2,..., X n valószínűségi változó sorozat, amire n-re teljesül: P(X n = x n X n 1 = x n 1, X n 1 = x n 1,..., X 1 = x 1 ) Egy lépéses átmenetvalószínűség: = P(X n = x n X n 1 = x n 1 ) p ij = P(X 1 = j X 0 = i)

Jelölések T : megfigyelt szekvencia hossza N: Markov-folyamat állapotainak száma M: megfigyelés szimbólumainak száma Q: Markov-folyamat állapotainak halmaza {q 0,..., q N 1 } V : megfigyelés szimbólumainak halmaza {0,..., M 1} A: állapotátmenet valószínűségek mátrixa B: megfigyelési valószínűségek mátrixa π: kezdeti eloszlás O: a megfigyelt szekvencia (O 0, O 1,..., O T 1,) λ = (A, B, π)

Jelölések Állapotátmenet valószínűségek mátrixa (A): a i,j = P(q j -ben vagyunk t + 1-ben q i -ben voltunk t-ben) stacionárius: t-től nem függ sorsztochasztikus, azaz j a i,j = 1 Megfigyelési valószínűségek mátrixa (B): b j (k) = P(O t = k t-ben q j -ben vagyunk) stacionárius: t-től nem függ sorsztochasztikus, azaz j b jk = 1

A három feladat 1 Adott a modell λ = (A, B, π) és egy O megfigyelés. Keressük P(O λ)-t! 2 Adott a modell λ = (A, B, π) és egy O megfigyelés. Keressük a háttérbeli Markov-folyamat legvalószínűbb állapotsorozatát! 3 Adott egy O megfigyelés, N és M dimenziók. Keressük λ = (A, B, π)-t, amire P(O λ) maximális!

1. feladat - Forward algoritmus Feladat: Adott a modell λ = (A, B, π) és egy O = (O 0, O 1,..., O T 1 ) megfigyelés. Keressük P(O λ)-t! (Állapotok a háttérben: X = (x 0, x 1,..., x T 1 )) P(O X, λ) = b x0 (O 0 ) b x1 (O 1 )... b xt 1 (O T 1 ) = T 2 P(X λ) = π x0 a x0,x 1 a x1,x 2 a xt 2,x T 1 = π x0 P(O X λ) Mivel P(O, X λ) = és P(λ) P(O X λ) P(X λ) P(O X, λ) P(X λ) = P(X λ) P(λ) A jobb oldalak egyenlőségéből adódik: i=0 = P(O, X λ) = P(O X, λ) P(X λ) T 1 i=0 a xi,x i+1 b xi (O i ) P(O X λ) P(λ)

1. feladat - Forward algoritmus A fentiekből: P(O λ) = X P(O, X λ) = X P(O X, λ) P(X λ) = X T 1 π x0 i=0 T 2 b xi (O i ) i=0 a xi,x i+1 Ennek a direkt kiszámítása: 2TN T lépés lenne. Hatékony kiszámitás: Forward-algoritmus

Forward algoritmus Rekurzív kiszámítás: 1 α 0 (i) = π i b i (O 0 ) α t (i) = P(O 0 O 1... O t, x t = q i λ) 2 t > 0 esetén: α t (i) = [ N 1 j=0 α t 1(j)a ji ] b i (O t ) 3 P(O λ) = N 1 j=0 α T 1(i) Lépésszám: N 2 T (Megjegyzés: A Viterbi-algoritmus ehhez nagyon hasonló, de helyett max van, és a legvalószínűbb szekvenciát adják meg. (ld. a korábban emĺıtett DP-feladat))

2. feladat - Backward algoritmus Feladat: Adott a modell λ = (A, B, π) és egy O megfigyelés. Keressük a levalószínűbb X = x 1 x 2... x T 1 állapotsorozatot! Legyen β t (i) = P(O t+1 O t+2... O T 1 x t = q i, λ) Rekurzív kiszámítás: 1 β T 1 (i) = 1, 0 i N 1 2 t < T 1 esetén: β t (i) = [ N 1 j=0 a ijb j (O t+1 β t+1 (j)) 3 Legyen γ t (i) = P(x t = q i O, λ) γ t (i) = α t(i)β t (i) P(O λ) 4 Legvalószínűbb állapot t-ben: argmax i γ t (i)

3. feladat - Modell tanítása Feladat: Adott O, N, M, keressük λ = (A, B, π)-t! Legyen γ t (i, j) == P(x t = q i, x t+1 = q j O, λ) = α t(i)a ij b j (t + 1)β t+1 (j) P(O λ) (azaz γ t (i, j) annak a valószínűsége, hogy t-kor az i állapotban vagyok, t + 1-ben pedig a j állapotban, ismerve az O szekvenciát és a modellt)

Modell tanítása 1 π i = γ 0 (i) 2 a ij = 3 b j (k) = T 2 t=0 γ t(i, j) T 2 t=0 γ t(i) t;o γ t=k t(j) t γ t(j) = q i q j átmenetek várható száma q i bármi átmenetek várható száma = q j -ben hányszor volt a megfigyelés k q j -ben hányszor jártunk

Modell tanítása Inicializálás: π i 1 N a ij 1 N b j (k) 1 M Algoritmus 1 Inicializálás 2 α, β, γ értékeinek számítása 3 λ = (A, B, π) becslése a fentiek alapján. 4 Ha P(O λ) növő, akkor iterálunk tovább

A relatív entrópiáról Legyenek X, Y diszkrét eloszlású valószínűségi változók! H(Y X ) = i y(i) log y(i) x(i) Álĺıtás Bizonyítás H(Y X ) = i H(Y X ) 0 y(i) log y(i) x(i) i y(i)( y(i) x(i) 1) = 0 (Felhasználtuk, hogy log x x 1)

Az eljárás helyes Cél: argmax λ P(O λ) = argmax λ X P(O, X λ) P(O, X λ) = P(X O, λ) P(O λ) λ: a modell paramétere, ezt próbálom közeĺıteni λ t : a modell paraméterének közeĺıtése Varázsolunk : szorozzunk be P(O, X λ t )-vel és összegezzünk X -re! P(O, X λ t ) log P(O, X λ) = X P(X O, λ t ) log P(X O, λ) + P(X O, λ t ) log P(O λ) X X

P(X O, λ t ) log P(O λ) = X P(X O, λ t )[log P(O, X λ) log P(X O, λ)] X A bal oldalon az X -től független tag kiemelhető (a megmaradt összeg értéke pedig 1), így: log P(O λ) = P(X O, λ t ) log P(O, X λ) P(X O, λ t ) log P(X O, λ) X X Jelölje: Q(λ λ t ) = X P(X O, λt ) log P(O, X λ) Cél: a következő iterációban ne csökkenjen a likelihood. log P(X λ t ) = X P(X O, λ t ) log P(O, X λ t ) X P(X O, λ t ) log P(X O, λ t )

Képezzük a két egyenlet különbségét: log P(O λ) log P(X λ t ) = Q(λ λ t ) Q(λ t λ t ) X P(X O, λ t ) log P(X O, λ) P(X O, λ t ) A harmadik tag egy relatív entrópia (-1)-szerese, így log P(O λ) log P(X λ t ) 0-hoz elegendő: Q(λ λ t ) Q(λ t λ t ) 0 Használható az EM algoritmus: 1 Számold ki Q(λ λ t )! 2 λ t+1 = argmaxq(λ λ t )

Q(λ λ t ) = X P(X O, λ t ) log P(O, X λ) P(O, X λ) = N M N N b j (i) E j (i,x ) ( a k,l ) A k,l (X ) j=1 i=1 k=1 l=1 E j (i, X ): hányszor használtam a j állapotot i szimbólum kibocsátására A k,l (X ): hány k l ugrás volt az X útvonalon log P(O, X λ) = Ezt beírva Q-ba: X N M N N E j (i, X ) log b j (i)+ A k,l (X ) log a k,l ) j=1 i=1 j=1 i=1 Q(λ λ t ) = k=1 l=1 N M N N P(X O, λ t )( E j (i, X ) log b j (i)+ A k,l (X ) log a k,l ))) k=1 l=1

X j=1 i=1 Q(λ λ t ) = N M N N P(X O, λ t )( E j (i, X ) log b j (i)+ A k,l (X ) log a k,l ))) k=1 l=1 E j (i, X ) és A k,l (X ) : csak X -től függnek, λ-tól nem b j (i), a k,l : X -től függetlenek, ezeket kell update-elni Q(λ λ t ) = N j=1 i=1 M log b j (i) X P(X O, λ t )E j (i, X )+ N N log a k,l P(X O, λ t )A k,l (X ) k=1 l=1 X

Álĺıtás N k=1 l=1 N log a k,l E(A k,l (X )) maximális, ha a k,l = E(A k,l(λ t )) l E(A k,l (λt )) Bizonyítás N k=1 l=1 N E(A k,l (X )) log N k=1 l=1 Bővítsünk l E(A k,l (λt ))-vel! E(A k,l (λ t )) l E(A k,l (λt )) N E(A k,l (X )) log a k,l 0

N N k=1 l=1 l =1 N E(A k,l (λ t E(A k,l (λ t )) )) N l =1 E(A k,l (λt )) log E(A k,l (λ t )) N l =1 E(A k,l (λt )) N N k=1 l=1 l =1 k=1 l =1 N E(A k,l (λ t E(A k,l (λ t )) )) N l =1 E(A k,l (λt )) log a k,l N N N = [ E(A k,l (λ t )) log l=1 E(A k,l (X )) N l =1 E(A k,l (λt )) a k,l ] Relatív entrópia miatt ez tagonként 0 E(A k,l (λ t )) N l =1 E(A k,l (λt ))

Skálázás Valószínűségek szorzatával kell számolni alulcsordulás Megoldás: α, β értékek skálázása t = 0 - ra: α t (i) = α 0 (i) = α 0 (i) 1 c 0 = N 1 j=0 α 0(j) ˆα 0 (i) = c 0 α 0 N 1 j=0 α t 1 (j)a j,i b i (O t ) t > 0 - ra: α t (i) = N 1 j=0 ˆα t 1(j)a j,i b i (O t ) 1 c t = N 1 j=0 α t(j) ˆα t (i) = c t α t

Skálázás Álĺıtás ˆα t (i) = c 0 c 1... c t α t (i) Bizonyítás: indukcióval. t = 0 esetben triv. Tegyük fel, hogy t-re igaz, ekkor t + 1-re: ˆα t+1 (i) = c t+1 α t+1 = N 1 c t+1 j=0 Kihasználva az indukciós feltevést: ˆα t (j)a j,i b i (O t+1 ) N 1 = c 0 c 1... c t+1 α t (j)a j,i b i (O t+1 ) = c 0 c 1... c t+1 α t+1 (i) j=0

Skálázás Következmény:. Ennek felhasználásával: 1 = N 1 j=1 N 1 j=1 ˆα T 1 (j) = 1 N 1 ˆα T 1 (j) = c 0 c 1... c T 1 = c 0 c 1... c T 1 P(O λ) P(O λ) = 1 T 1 i=0 c i j=0 α T 1 (j) β-k skálázása ugyanígy megy: ˆβt (i) = c t β t (i) a modellben γ t (i) és γ t (i, j) számításához használhatóak a ˆβ t és ˆα t értékek

Egy állapotban maradás valószínűsége Az eddigiek alapján: p i (d) = (a ij ) d 1 (1 a ij ) = d-szer egymás után S i -ben vagyok (pontosan) exponenciálisan lecseng nem valósághű tipikus eset: eloszlásunk van arra, hogy az i-dik állapotban hány állapotot várakozik a modell, mielőtt továbblép Ekkor a modell így változik: 1 q 1 = S i -et kiválasztjuk π alapján 2 d 1 -et sorsoljuk p q1 (d) alapján 3 O 1 O 2... O d1 -et generáljuk b q1 (O 1 O 2... O d1 ) alapján (ez tipikusan d 1 t=1 b q 1 (O t )) 4 q 2 = S 2 -t kiválasztjuk az a q1,q 2 -k alapján

Egy állapotban maradás valószínűsége Természetesen ekkor az α, β formulája is módosul. Például: α t (i) = π q1 p q1 (d 1 )P(O 1 O 2... O d1 q 1 ) q d a q1,q 2 p q2 (d 2 )P(O d1 +1O d1 +2... O d1 +d 2 q 2 )... a qr 1,q r p qr (d r )P(O d1 + +d r 1 +1O d1 + +d r 1 +2... O d1 + +d r q 2 )... A képletek is módosulnak, erre most itt nem térnék ki.

Egy szövegbányászati alkalmazás Adott egy hosszabb időszakot felölelő cikkgyűjtemény. Ebben szeretnénk automatikusan témákat találni, majd pedig a témák evolúcióját, alakulásait vizsgálni. A témákat nyelvmodellekkel jellemezzük. Feltételezzük, hogy van k darab téma (T 1,..., T k ) és egy általános nyelvmodellünk(b). Állapotok: témák A megfigyelés szimbólumai: a szavak

Egy szövegbányászati alkalmazás Ebből konstruálunk egy k + 1 állapotú HMM-et, ahol a Markov-folyamatban T i -ből T j -be közvetlenül nem léphetek, mindig csak B-n keresztül Amire szükségünk van: a háttérfolyamat legvalószínűbb állapotsorozata, később ezt tudjuk arra használni, hogy adott időszakok legjellemzőbb témáit és azok kapcsolatait feltárjuk

Köszönöm a figyelmet! Felhasznált irodalom: Mark Stamp: A Revealing Introduction to Hidden Markov Models Lawrence R. Rabiner: A tutorial on Hidden Markov Models and selected applications in speech recognition Miklós István: Sztochasztikus modellek a bioinformatikában, előadásjegyzet (2009.) Mei, Zhai: Discovering evolutionary theme patterns from text: an exploration of temporal text mining