Explicație simplă a lui Baum Welch / Viterbi

Caut o explicație foarte simplă posibilă pentru Baum Welch și Viterbi pentru HMM-uri cu un exemplu direct bine adnotat. Aproape toate explicațiile pe care le găsesc pe net sar invariabil de la început într-o explicație aproape complet bazată pe jargon / simbol. De puține ori au un exemplu, este de obicei împinsă lateral sau slab adnotată (adică nu este clar modul în care simbolurile și Exemplul este legat unul de celălalt). Am auzit lucruri precum unele surse care susțin că Baum Welch se bazează pe algoritmul EM, iar altele spun că se bazează pe algoritmul invers înapoi și unii spun că amândouă așa că „aș dori să obțin detalii precum asta s-a lămurit.

Cel mai apropiat pe care l-am găsit până acum este un videoclip de o oră postat aici despre care oamenii spuneau că este grozav, dar este imposibil de redat, deoarece blițul este interzis și o explicație pe Wikipedia care are o notă alături care spune că este greșită .

Răspuns

Caut o explicație foarte simplă posibilă pentru Baum Welch și Viterbi pentru HMM …

  • Având în vedere datele observate, algoritmul Baum-Welch găsește parametrii de maximizare a probabilității.

  • Având în vedere datele observate și parametrii, Algoritmul Viterbi găsește cea mai probabilă secvență de stări ascunse.

Am auzit lucruri precum unele surse care susțin că Baum Welch este bazat pe algoritmul EM …

Algoritmul Baum-Welch este un caz special al algoritmului EM.

… și alții spunând că se bazează pe algoritmul invers înainte

Descompunerea înainte-înapoi este modul în care faceți pasul „E-” (folosind terminologia EM). Este specific modelelor Markov ascunse.

De câteva ori au un exemplu, este de obicei împins în lateral sau slab adnotat (adică nu este clar cum simbolurile și exemplul sunt legate între ele)

Nu știu la ce exemple te uiți, dar îți pot spune că acolo sunt multe bune acolo. Amintiți-vă că aceste metode au fost inventate cu mult timp în urmă și „sunt încă utilizate pe scară largă . Cel Rabiner legat mai sus este probabil cel mai faimos, dar trebuie să găsiți unul care vă place, pe care îl veți continua să lucrați. Aș recomanda să găsiți unul cu un exemplu care să conțină date care vă interesează și notați că simt că este capabil să învețe. Orice veți găsi va avea multă notație. Nu există nicio cale de a evita acest lucru, așa că trebuie să găsești ceva în care să te poți stabili.

Răspuns

Am lucrarea perfectă pentru dvs.: http://www.stat.columbia.edu/~liam/teaching/neurostat-fall17/papers/hmm/rabiner.pdf

Rețineți că există metode BW mai noi.

Încercare de explicație simplă pentru Viterbi: Scopul lui viterbi este de a găsi o succesiune optimă de stări pe parcursul unei anumite perioade de timp discrete.
Începeți cu probabilitățile inițiale de a vă afla într-o stare $ s $ la un moment dat $ t = 0 $. Apoi creșteți $ t $ și pentru fiecare stat la acel moment ($ t = 1 $), găsiți cel mai bun stat $ s $ la $ t-1 $ (cel mai bun ca în secvența care oferă cea mai mare probabilitate ). Salvați aceste informații. Asta înseamnă pentru fiecare stat $ s $ la $ t = 1 $ salvați care este cel mai bun stat $ s $ la $ t = 0 $. Salvați, de asemenea, probabilitatea pentru acea secvență (optimă).
Apoi creșteți $ t $ la $ t = 2 $ și repetați procedura (cu probabilitățile pentru fiecare stat $ s $ la $ t-1 $ fiind cele mai bune probabilități calculate pentru starea respectivă). Punctul pe care îl veți ajunge la $ t = T $ (ultimul moment). Apoi alegeți starea cu cea mai mare probabilitate și vă amintiți pentru fiecare stare de fiecare dată când ați salvat cea mai bună stare pentru $ t-1 $, deci luați cea mai bună stare la $ t = T $ și apoi lucrați înapoi întotdeauna alegerea stării optime salvate.

Pentru a detalia ce face la un nivel mai general: Dacă aveți un set de stări $ S $ care pot fi preluate toate într-o anumită perioadă de timp $ T $, o o soluție naivă pentru a găsi cea mai bună secvență ar fi enumerarea tuturor secvențelor posibile și apoi calcularea probabilității pentru fiecare dintre ele (asta înseamnă calcularea produsului stării și a probabilităților de tranziție). Eroarea pe care o faceți aici este că multe dintre calcule sunt duplicate, ca exemplu, puteți avea două secvențe $ p_1, p_2 $ ($ p $ este o secvență de stări) în care singura diferență este starea finală, dar cu această abordare calculați probabilitățile stărilor partajate atât pentru $ P (p_1) $ cât și $ P (p_2) $.
Prin adoptarea abordării iterative folosite în viterbi, nu există calcule duplicate, așa că, evident, va fi mult mai eficient.

Comentarii

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *