ROZPOZNÁVÁNÍ S MARKOVSKÝMI MODELY



Podobné dokumenty
UČENÍ BEZ UČITELE. Václav Hlaváč

Úloha - rozpoznávání číslic

Statistická teorie učení

Kybernetika a umělá inteligence, cvičení 10/11

Deset přednášek z teorie statistického a strukturního rozpoznávání

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Václav Jirchář, ZTGB

Přijímací zkouška - matematika

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

VZTAH MEZI STATISTICKÝM A STRUKTURNÍM ROZPOZNÁVÁNÍM

Markovské metody pro modelování pravděpodobnosti

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

TGH12 - Problém za milion dolarů

ÚVOD DO ROZPOZNÁVÁNÍ

Restaurace (obnovení) obrazu při známé degradaci

Aktivní detekce chyb

Markovovy modely v Bioinformatice

3. Podmíněná pravděpodobnost a Bayesův vzorec

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Dijkstrův algoritmus

oddělení Inteligentní Datové Analýzy (IDA)

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Dynamické programování

SIGNÁLY A LINEÁRNÍ SYSTÉMY

13. Lineární programování

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Řízení projektů. Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT

Úvod do zpracování signálů

Markovské procesy. příklad: diabetický pacient, hladina inzulinu, léky, jídlo

Stromy, haldy, prioritní fronty

Měření dat Filtrace dat, Kalmanův filtr

Symetrické a kvadratické formy

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Matematické přístupy k pojištění automobilů. Silvie Kafková září 2013, Podlesí

Lineární programování

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Teorie informace: řešené příklady 2014 Tomáš Kroupa

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Metody síťové analýzy

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Minimalizace KA - Úvod

Naproti tomu gramatika je vlastně soupis pravidel, jak

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

ALGEBRA. Téma 5: Vektorové prostory

Dynamické programování

Přednáška 13 Redukce dimenzionality

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

A6M33SSL: Statistika a spolehlivost v lékařství Teorie spolehlivosti

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

U Úvod do modelování a simulace systémů

7 Další. úlohy analýzy řeči i a metody

Neparametrické odhady hustoty pravděpodobnosti

SENZORY PRO ROBOTIKU

Operace s maticemi. 19. února 2018

Základní datové struktury III: Stromy, haldy

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Teorie rozhodování (decision theory)

Matematika 2 pro PEF PaE

Binární vyhledávací stromy pokročilé partie

Vybrané kapitoly z matematiky

4EK213 LINEÁRNÍ MODELY

Jana Vránová, 3. lékařská fakulta UK

Bayesovské rozhodování - kritétium minimální střední ztráty

Měření dat Filtrace dat, Kalmanův filtr

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

3.2.3 Podobnost trojúhelníků I

Úvod do informatiky. Miroslav Kolařík

Algoritmy komprese dat

Využití metod strojového učení v bioinformatice David Hoksza

3.2.3 Podobnost trojúhelníků I

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

4EK213 LINEÁRNÍ MODELY

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Třídy složitosti P a NP, NP-úplnost

Vytěžování znalostí z dat

CVIČNÝ TEST 48. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Transkript:

ROZPOZNÁVÁNÍ S MARKOVSKÝMI MODELY Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/ hlavac 1/31 PLÁN PŘEDNÁŠKY Motivace, použití. Stochastické konečné automaty. Markovský statistický model. Tři nejčastější úlohy se skrytými markovskými modely (rozpoznávání, hledání nejpravděpodobnější posloupnosti stavů, učení markovských statistických modelů).

KLASIFIKACE ZÁVISLÁ NA KONTEXTU 2/31 Místo jednoho rozhodnutí jde o posloupnost rozhodnutí. Tato rozhodnutí jsou na sobě závislá. Obvyklé aplikace: analýza pozorování měnících se v čase. Například: řečový signál, časová posloupnost tahů rukopisu. Skryté markovské modely (Hidden Markov Model zkratka HMM) jsou zlatým standardem v analýze časových řad. Důvod? Skrytý markovský řetěz je statistický model, který je ještě zvládnutelný algoritmy s polynomiální složitostí.

APLIKAČNÍ OBLASTI, např. 3/31 Rozpoznávání řečových signálů (x signál z mikrofonu, k fonémy). Vyhledávání slov v promluvě (x slova, k označené kusy promluvy). Rozpoznávání rukopisných znaků, on-line (x tahy pera, k podpisy). Biomedicínské inženýrství, analýza EKG a EEG signálů (x signál, k charakteristiky signálu). Bioinformatika, analýza DNA sekvencí (x odezvy fluorescenčně označených molekul, k {A, C, G, T }) nebo (x {A, C, G, T }, k interpretačně významné podposloupnosti). Mobilní robotika (x body trajektorie robotu, k interpretace trajektorie). Rozpoznávání v obrazech, ale musí být zvláštní s uspořádáním, např. rozpoznávání registračních značek aut (x sloupce registrační značky, k znaky značky).

DOPORUČENÉ ČTENÍ 4/31 Schlesinger M.I., Hlaváč V.: Deset přednášek z teorie statistického a strukturního rozpoznávání, monografie, Vydavatelství ČVUT, Praha 1999, 521 s. Rabiner L.R.: A tutorial on Hidden Markov Models and selected applications in speech recognition, časopis Proceedings of the IEEE, Vol. 77, No. 2, 1989, pp. 257-286.

ANDREJ ANDREJEVIČ MARKOV 5/31 Narozen v Rjazani 1856, zemřel 1922 v Petrohradě. Ruský matematik, profesor Univerzity v Petrohradě, člen Ruské akademie věd, stochastické procesy. Rozhodující článek 1912. Markovské řetězy: posloupnosti náhodných proměnných, hodnota následující proměnné je určena hodnotou předchozí proměnné, ale nezávislá na předchozích stavech. Použil metodu na analýzu veršů S. Puškina Evžen Oněgin.

MARKOVSKÉ MODELY A AUTOMATY 6/31 Markovské modely (včetně skrytých) jsou zvláštním případem stochastických konečných automatů. Markovské modely dovolují vyjádřit statistické závislosti dané pořadím pozorování (stavů) jako například v časových řadách.

KONEČNÝ AUTOMAT (K, V, X, δ, k 0, F ) 7/31 K - konečný počet stavy automatu; V - konečná abeceda vstupních symbolů; X - konečná abeceda výstupních symbolů; k 0 - počáteční stav, k0 K; F K - cílové stavy; δ : K V K X - přechodová funkce stavů.

AUTONOMNÍ STOCHASTICKÝ KONEČNÝ AUTOMAT 8/31 Zobecnění konečného automatu. Přechodová funkce stavů: δs : X K K V R Počáteční stav: p: K R. Autonomní stochastický automat: zvláštní případ, kdy vstupní abeceda V obsahuje jediný symbol. Vyjadřuje situaci, kdy na vstupu nezáleží. Později uvidíme, že autonomní stochastický automat je ekvivalentní se (skrytými) markovskými řetězy.

FUNGOVÁNÍ AUTOMATU 9/31 Automat funguje ve shodě s rozdělením pravděpodobnosti p(x, k) = p(x 1,..., x n, k 0,..., k n ) = p(k 0 ) To znamená, že automat: n i=1 p(x i, k i k i 1 ) na počátku generuje náhodný stav k0 s pravděpodobností p(k0) a přejde do něj, v i tém okamžiku generuje dvojici (xi, ki) s pravděpodobností p(x i, k i k i 1 ). Na výstupu dává symbol x i a přechází do stavu k i.

PŘÍKLAD: GENERATIVNÍ MARKOVSKÝ MODEL (model počasí) 10/31 Stochastický konečný automat. Stav k 1 : dešťové nebo sněhové srážky. Stav k 2 : zataženo. Stav k 3 : slunečno. Přechodová matice stavů A = 0.4 0.3 0.3 0.2 0.6 0.2 0.1 0.1 0.8 0.4 0.6 0.2 0.3 k 1 k 2 0.3 0.1 0.1 0.2 k 3 0.8

ZNAČENÍ POSLOUPNOSTÍ 11/31 Náhodné posloupnosti pozorování x = ( x 1, x 2,..., x n ) X n skryté stavy k = (k 0, k 1, k 2,..., k n ) K n+1 Značení posloupností: (x a, x a+1,..., x b ) = x b a pozorování x = x n 1 skryté stavy k = k n 0

MARKOVSKÉ POSLOUPNOSTI SE SKRYTÝMI STAVY 12/31 Statistický model p(x, k) = Xn Kn+1 R. Markovský řetěz: Předpokládáme, že pro všechny posloupnosti x = (x i 1, x n i+1 ) a k = (ki 1 0, k i, ki+1 n ) platí p(x, k) = p(k i ) p(x i 1, k0 i 1 k i ) p(x n i+1, ki+1 k n i ). (1) x,, x 1 i k,, k 0 i-1 k i x,..., x k i+1 n,..., k i+1 n

JEN (SKRYTÉ) STAVY 13/31 Vyjdeme z markovské podmínky p(x, k) = p(k i ) p(x i 1, k i 1 0 k i ) p(x n i+1, k n i+1 k i ). Pro skryté stavy po sčítání přes všechna možná pozorování x vyplývá markovská vlastnost posloupnosti p(k) = p(k i ) p(k i 1 0 k i ) p(k n i+1 k i ). k 0,, ki-1 k i k i+1,..., kn

SKRYTÉ MARKOVSKÉ POSLOUPNOSTI (2) 14/31 V rovnici p(x, k) = p(k i ) p(x i 1, k i 1 0 k i ) p(x n i+1, kn i+1 k i) budeme sčítat přes posloupnost skrytých stavů k n i+2 a potom posloupnost pozorování xn i+2 a získáme p(x i+1 1, k i+1 0 ) = x n i+2 k n i+2 p(x, k) = p(x i 1, k i 0) x n i+2 = p(x i 1, k i 0) p(x i+1, k i+1 k i ) Využijeme předchozí vztah rekurzivně a získáme k n i+2 p(x n i+1, k n i+1 k i ) p(x, k) = p(x 1,..., x n, k 0,..., k n ) = p(k 0 ) n i=1 p(x i, k i k i 1 ) Výpočet složité funkce 2 n + 1 proměnných se zjednodušil na výpočet n funkcí p(x i, k i k i 1 ) o třech proměnných a jedné funkce p(k 0 ) jedné proměnné.

INTERPRETACE MARKOVSKÉ VLASTNOSTI 15/31 Uvažujme všechny možné dvojice posloupností (xn1, kn0 ), které splňují markovskou podmínku (1). Zvolme libovolnou hodnotu i, 0 < i < n. Zvolme libovolnou hodnotu skrytého parametru k i = σ. Z možných dvojic markovských posloupností (xn1, kn0 ) vyberme soubor posloupností, pro něž platí k i = σ. Být markovkou posloupností potom znamená, že parametry (x 1, x 2,..., x i ), (k 0, k 1,..., k i 1 ) ve vybraném souboru posloupností jsou statisticky nezávislé na parametrech (x i+1, x i+2,..., x n ), (k i+1, k i+2,..., k n ).

POZOR NA NESPRÁVNOU INTERPRETACI 16/31 Často se uvádí nepřesně zjednodušená interpretace: Markovská posloupnost je taková, u níž nezáleží na minulosti, ale jen na současnosti. Tato interpretace je zrádná, protože je sice nesprávná, ale od správné se liší jen málo. Ilustrujme situaci na mechanickém modelu markovské posloupnosti.

MECHANICKÝ MODEL MARKOVSKÉ POSLOUPNOSTI 17/31 Uvažujme posloupnosti x41 a k40 reprezentované vrcholy v rovině. Některé vrcholy jsou spojeny pružinami (zobrazenými pomocí úseček) označující statistickou vazbu v markovském modelu. x 1 x 2 x 3 x 4 k 0 k 1 k 2 k 3 k 4 Představme si, že např. vrchol x3 začne oscilovat. Díky vazbám postupně začnou oscilovat všechny ostatní body. Pokud jsou hodnoty x1,..., x4 fixovány, jsou určeny i hodnoty k0,..., kn. Když zafixujme např. vrchol k3, potom se model rozloží na dvě nezávislé části: (a) vrcholy k 0, k 1, k 2, x 1, x 2, x 3. (b) vrcholy x 4, k 4.

DEKOMPONOVATELNÝ STATISTICKÝ MODEL 18/31 Zvláštní příklad často uvažovaný v literatuře. Předpokládá se: p(xi, ki ki 1) = p(xi ki) p(ki ki 1). Potom platí p(x, k) = p(k 0 ) n p(x i, k i k i 1 ) = p(k 0 ) n p(x i k i ) n p(k i k i 1 ). i=1 i=1 i=1 Mechanický model x 1 x 2 x 3 x 4 k 0 k 1 k 2 k 3 k 4

PŘÍKLAD DEKOMPONOVATELNÉHO MODELU Tahání kuliček z misek 19/31 Miska 1 Miska 2 kulička x = {černá, bílá} miska k = {1, 2} p(k = 1) = 0.5 p(x = bílá k = 1) = 0.8 p(x = bílá k = 2) = 0.2 p(k = 2) = 0.5 p(x = černá k = 1) = 0.2 p(x = černá k = 2) = 0.8 Tahání p(k = 1 k = 2) = 1 p(k = 2 k = 2) = 0 z misek střídavě p(k = 1 k = 1) = 0 p(k = 2 k = 1) = 1

TŘI ZÁKLADNÍ ÚLOHY S HMM 20/31 1. Rozpoznávání též ohodnocení statistického modelu: (dynamické programování, v angl. literatuře algoritmus forward-backward). Dány parametry HMM (statistických modelů), cílem je spočítat pravděpodobnost, že je pozorována posloupnost x. Třída odpovídá nejpravděpodobnějšímu modelu. Používá se pro rozpoznávání. 2. Hledání nejpravděpodobnější posloupnosti skrytých stavů: (algoritmus Viterbi, dynamické programování). Dán statistický model a posloupnost pozorování x. Cílem je najít nejpravděpodobnější posloupnost skrytých stavů k. 3. Učení statistického modelu: (algoritmus Baum-Welsh, využívá EM algoritmus). Dána struktura modelu, tj. počet skrytých stavů a trénovací množina. Cílem je najít parametry modelu, tj. pravděpodobnosti p(x i, k i k i 1 ).

ÚLOHA ROZPOZNÁVÁNÍ též OHODNOCENÍ STATISTICKÉHO MODELU 21/31 Formulace úlohy Nechť a, b jsou dva autonomní stochastické automaty se stejným počtem stavů K a výstupních symbolů X. Statistické vlastnosti automatů se liší. Automat a je popsán: p a (k 0 ) a p a (x i, k i k i 1 ), k 0 K, k i K, x i X, i = 1, 2,..., n. Podobně automat b je popsán: p b (k 0 ) a p b (x i, k i k i 1 ). Pozn.: zde pro jednoduchost pravděpodobnosti nezávisí na indexu i. Obecně mohou a naše úvahy platí také. Úloha ohodnocení statistického modelu (též úloha rozpoznávání) má při znalosti statistických modelů automatů rozhodnout, který automat generoval posloupnost pozorování x 1, x 2,..., x n.

ÚLOHA ROZPOZNÁVÁNÍ (2) 22/31 Úlohu rozpoznávání lze vyjádřit jako minimalizaci bayesovského rizika (např. pro jednoduchost pravděpodobnost chybného rozhodnutí). Formulace může být jako Neyman-Pearsonova úloha, minimaxní úloha, atd. Je potřebné spočítat pro automaty a, b odpovídající marginální pravděpodobnosti p a (x n 1) a p b (x n 1). Rozhodne se např. podle maximální věrohodnosti pa(xn1) / pb(xn1). Nejnáročnější částí úlohy je spočítat pravděpodobnosti pa(xn1) a pb(xn1). Výpočet je stejný pro automaty a i b, a tak index nebude uváděn.

ALGORITMUS PRO ÚLOHU ROZPOZNÁVÁNÍ 23/31 Vzpomeňme na markovský statistický model p(x, k) = p(x 1,..., x n, k 0,..., k n ) = p(k 0 ) n i=1 p(x i, k i k i 1 ) Nás nyní zajímá marginální pravděpodobnost p(x) = mnohočetná suma k K p(x, k). Vyjádří se jako p(x) = k p(k, x) = k 0 k 1 k n 1 k n p(k 0 ) n i=1 p(x i, k i k i 1 ). Přímý výpočet není praktický, protože sčítanců je K n+1. Vzorec lze ekvivalentními transformacemi upravit do použitelného tvaru.

ALGORITMUS ROZPOZNÁVÁNÍ (2) 24/31 Při sčítání podle stavu k i lze vytknout činitele nezávisející na k i. Vyjdeme z již známého p(x) = k p(k, x) = k 0 k 1 k n 1 k n p(k 0 ) n i=1 p(x i, k i k i 1 ). Po vytýkání se převede na p(x) = p(k 0 ) p(x 1, k 1 k 0 ) p(x i, k i k i 1 ) k 0 k 1 k i p(x n 1, k n 1 k n 2 ) p(x n, k n k n 1 ). k n 1 k n

ALGORITMUS ROZPOZNÁVÁNÍ (3) 25/31 Míříme k rekurzivnímu algoritmu. Ve vztahu po vytýkání p(x) = p(k 0 ) p(x 1, k 1 k 0 ) p(x i, k i k i 1 ) k 0 k 1 k i p(x n 1, k n 1 k n 2 ) p(x n, k n k n 1 ). k n 1 k n si označíme dílčí součty pro i = 1, 2,..., n jako f i (k i 1 ) = p(x i, k i k i 1 ) p(x i+1, k i+1 k i ) k i k i+1 k n 1 p(x n 1, k n 1 k n 2 ) k n p(x n, k n k n 1 ) a získáme algoritmus výpočtu

ALGORITMUS ROZPOZNÁVÁNÍ (4) 26/31 Výpočet probíhá odzadu posloupnosti f n (k n 1 ) = p(x n, k n k n 1 ); k n f i (k i 1 ) = p(x i, k i k i 1 ) f i+1 (k i ), i = 1, 2,..., n 1 ; k i p(x) = p(k 0 ) f 1 (k 0 ). k 0 Počet operací při výpočtu je úměrný K 2 n.

NEJPRAVDĚPODOBNĚJŠÍ POSLOUPNOST SKRYTÝCH STAVŮ 27/31 Formulace úlohy Dán statistický model p(x, k) = p(k0) n i=1 p(x i, k i k i 1 ). Hledá se rozhodovací strategie q : Xn Kn+1. Bayesovské riziko R(q) = p(x, k) W (x, q(x)). x X Jednoduchá pokutová funkce k K W (k, q(x)) = { 0 pro k = q(x), 1 pro k q(x). Cílem je najít strategii q(x) minimalizující riziko R(q).

ODVOZENÍ BAYESOVSKÉ STRATEGIE 28/31 p(x, k) q(x) = argmax k K n+1 p(x, k ) = argmax p(x, k) k K n+1 = arg max k 0 = arg max k 0 = arg max k 0 k K n+1... max k n p(k 0 )... max k n... max k n log ( n i=1 p(k 0 ) p(x i, k i k i 1 ) n i=1 log } {{ p(k 0 } ) + ϕ(k 0 ) p(x i, k i k i 1 ) n i=1 ) log } p(x i {{, k i k i 1 } ) q i (k i 1,k i )

FORMULACE JAKO HLEDÁNÍ NEJKRATŠÍ CESTY V GRAFU 29/31 Orientovaný graf s vrcholy a hranami orientovanými zleva doprava mezi nimi. Počátečním vrcholem je α a cílovým vrcholem β. Zbylých K (n + 1) mezilehlých vrcholů indexujeme dvojicí (σ, i), σ K, i = 0, 1,..., n. Příklad grafu pro n = 3 a množinu skrytých stavů K = {A, B, C}. A q (A,A) 1 q (A,B) 1 q (A,A) 2 q (A,A) 3 q (A,B) 3 B ϕ(a) C ϕ(b) ϕ(c) α i=0 i=1 i=2 i=3 β

ALGORITMUS HLEDÁNÍ NEJKRATŠÍ CESTY 30/31 Dynamické programování. Graf má zvláštní tvar. Je zaručeno uspořádání. (analogie poslové). f i (σ) je délka nejkratší cesty ( času) z vrcholu α do (σ, i). Algoritmus Viterbi 1967 (nezávisle Vincjuk 1968): f 0 (σ) = ϕ(σ) Opakovaně pro i = 1,..., n, σ K f i (σ) = min (f i(σ ) + q i (σ, σ)). Dráha posla, který přišel nejdříve. σ K ind i (σ) = argmin (f i (σ ) + q i (σ, σ)). Vrchol, z něhož přišel první posel. σ K Nakonec: k n = argmin σ K f n (σ), k i 1 = ind i (k i ). Rekonstrukce nejkratší cesty.

PŘÍKLAD NA VITERBIHO ALGORITMUS 31/31 A 0 5 5 2 1 3 4 2 9 7 12 8 0 B C 5 2 7 7 5 3 5 2 5 7 3 4 6 2 3 7 4 2 8 6 3 8 6 9 8 1 10 9 0 0 3 0 0 9 α i=0 i=1 i=2 i=3 β Šipky označují ind i (σ). Šipky se použijí pro nalezení optimální cesty. Těchto cest může být více. V našem příkladě jsou to kromě AAAC i AABC nebo AACC.