Jednoduché vysvětlení Baum Welch / Viterbi

Hledám velmi jednoduché vysvětlení pro Baum Welch a Viterbi pro HMM s přímým, dobře anotovaným příkladem. Téměř všechna vysvětlení, která na síti najdu, vždy od začátku skočí do téměř zcela žargonového / symbolického vysvětlení. Několikrát mají příklad, který je obvykle odsunut na stranu nebo špatně anotován (tj. Není jasné, jak symboly a příklad spolu souvisejí.) „Slyšel jsem věci, jako jsou některé zdroje, které tvrdí, že Baum Welch je založen na algoritmu EM a jiné říkají, že je založeno na dopředném zpětném algoritmu, a některé říkají obojí, takže bych chtěl získat podrobnosti jako to se vyjasnilo.

Nejbližší, co jsem zatím našel, je 1hodinové video zveřejněné zde, o kterém lidé říkali, že je skvělé, ale je nehratelné, protože flash je zakázán a vysvětlení na wikipedii, které má vedle sebe poznámku, že je špatné .

Odpovědět

Hledám co nejjednodušší vysvětlení pro Baum Welch a Viterbi pro HMM …

  • Vzhledem k pozorovaným údajům najde Baum-Welchův algoritmus parametry maximalizující pravděpodobnost.

  • Vzhledem k pozorovaným údajům a parametrům Algoritmus Viterbi najde nejpravděpodobnější sekvenci skrytých stavů.

Slyšel jsem věci jako některé zdroje, které tvrdí, že Baum Welch je na základě algoritmu EM …

Algoritmus Baum-Welch je zvláštním případem algoritmu EM.

… a další říkají, že je založen na dopředném zpětném algoritmu.

Dekompozice dopředu a dozadu je způsob, jakým provedete krok „E-“ (pomocí terminologie EM). Je to specifické pro skryté Markovovy modely.

Několikrát mají příklad, který je obvykle odsunut na stranu nebo špatně anotován (tj. Není jasné, jak symboly a příklad spolu souvisejí)

Nevím, na jaké příklady se díváte, ale mohu vám říci, že tam je mnoho dobrých. Pamatujte, že tyto metody byly vynalezeny velmi dávno a stále jsou široce používány . Rabiner, na který je odkazováno výše, je pravděpodobně nejznámější, ale musíte najít ten, který se vám líbí, že budete pokračovat v práci. Doporučil bych vám najít jeden s příkladem, který obsahuje data, která vás zajímají, a zápis, který cítit se učit. Cokoli najdete, bude mít hodně notace. Neexistuje žádný způsob, jak to obejít, takže jste právě našli něco, do čeho se můžete usadit.

Odpověď

Mám ideální papír pro vás: http://www.stat.columbia.edu/~liam/teaching/neurostat-fall17/papers/hmm/rabiner.pdf

Všimněte si, že existují i novější BW metody.

Pokus o jednoduché vysvětlení pro Viterbi: Cílem viterbi je najít optimální posloupnost stavů během určité diskrétní doby.
Začněte s počáteční pravděpodobností, že budete ve stavu $ s $ v čase $ t = 0 $. Poté zvyšte $ t $ a pro každý stát v té době ($ t = 1 $) najděte nejlepší stav $ s $ za $ t-1 $ (nejlepší jako v pořadí, které dává nejvyšší pravděpodobnost ). Uložte tyto informace. To znamená, že pro každý stát $ s $ při $ t = 1 $ uložte, jaký je nejlepší stav $ s $ při $ t = 0 $. Uložte také pravděpodobnost pro tuto (optimální) sekvenci.
Poté zvyšte $ t $ na $ t = 2 $ a postup opakujte (přičemž pravděpodobnosti pro každý stav $ s $ na $ t-1 $ jsou právě vypočítané nejlepší pravděpodobnosti pro tento stát). Bod, který dosáhnete $ t = T $ (poslední bod v čase). Pak si jen vyberete stát s nejvyšší pravděpodobností a pamatujete si pro každý stát pokaždé, když jste uložili nejlepší stav za $ t-1 $, takže vezměte nejlepší stav na $ t = T $ a pak se vždy vraťte zpět výběr tohoto uloženého optimálního stavu.

Chcete-li rozvinout to, co dělá, na obecnější úrovni: Pokud máte sadu stavů $ S $, které lze všechny vybrat po určitou dobu $ T $, a naivním řešením k nalezení nejlepší posloupnosti by bylo vyjmenovat všechny možné posloupnosti a poté vypočítat pravděpodobnost pro každou z nich (to znamená vypočítat součin pravděpodobnosti stavu a přechodu). Chybou, kterou zde děláme, je, že mnoho výpočtů je duplikováno, jako příklad byste mohli mít dvě sekvence $ p_1, p_2 $ ($ p $ je sekvence států), kde jediným rozdílem je konečný stav, přesto s tento přístup počítáte pravděpodobnosti sdílených stavů pro $ P (p_1) $ i $ P (p_2) $.
Použitím iteračního přístupu používaného ve viterbi neexistují žádné duplikované výpočty, takže to samozřejmě bude mnohem efektivnější.

Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *