Szukam bardzo prostego wyjaśnienia dla Baum Welch i Viterbi dla HMM z prostym, dobrze opisanym przykładem. Prawie wszystkie wyjaśnienia, które znajduję w sieci, niezmiennie przeskakują od początku do wyjaśnienia prawie całkowicie opartego na żargonie / symbolu. Kilka razy mają przykład, zwykle jest on odsuwany na bok lub słabo opisany (tj. Nie jest jasne, w jaki sposób symbole i przykłady są ze sobą powiązane). Słyszałem takie rzeczy, jak niektóre źródła twierdzące, że Baum Welch opiera się na algorytmie EM, a inne twierdzą, że opiera się na algorytmie do przodu i do tyłu, a niektórzy twierdzą, że chciałbym uzyskać takie szczegóły, jak to wyjaśniło się.
Najbliższe, jakie do tej pory znalazłem, to 1-godzinny film opublikowany tutaj, który zdaniem ludzi był świetny, ale nie można go odtworzyć, ponieważ flashowanie jest zabronione, oraz wyjaśnienie na Wikipedii, które ma obok notatki, że jest źle .
Odpowiedź
Szukam bardzo prostego wyjaśnienia dla Baum Welch i Viterbi dla HMM …
-
Biorąc pod uwagę obserwowane dane, algorytm Bauma-Welcha znajduje parametry maksymalizujące prawdopodobieństwo.
-
Biorąc pod uwagę zaobserwowane dane i parametry, Algorytm Viterbiego znajduje najbardziej prawdopodobną sekwencję ukrytych stanów.
Słyszałem takie rzeczy, jak niektóre źródła twierdzące, że Baum Welch oparty na algorytmie EM …
Algorytm Bauma-Welcha jest szczególnym przypadkiem algorytmu EM.
… i inni, którzy mówią, że jest oparty na algorytmie do przodu do tyłu
Rozkład do przodu-do tyłu to sposób wykonywania kroku „E-” (przy użyciu terminologii EM). Jest to specyficzne dla ukrytych modeli Markowa.
Kilka razy, gdy mają przykład, jest zwykle odsunięty na bok lub słabo opisany (tj. Nie jest jasne, w jaki sposób symbole i przykład są ze sobą powiązane)
Nie wiem, na jakie przykłady patrzysz, ale mogę Ci powiedzieć, że jest wiele tam dobrych. Pamiętaj, że te metody zostały wynalezione bardzo dawno temu i nadal są szeroko stosowane . Rabiner, do którego link znajduje się powyżej, jest prawdopodobnie najbardziej znany, ale musisz znaleźć taki, który Ci się spodoba, nad którym będziesz pracować. Polecam Ci znaleźć taki, który zawiera przykład, który zawiera interesujące Cię dane i informację, że czuć można się nauczyć. Cokolwiek znajdziesz, będzie miało dużo notacji. Nie da się tego obejść, więc po prostu musisz znaleźć coś, na czym możesz się zgodzić.
Odpowiedź
Mam idealny papier dla Ciebie: http://www.stat.columbia.edu/~liam/teaching/neurostat-fall17/papers/hmm/rabiner.pdf
Uwaga, są nowsze metody BW.
Próbowano prostego wyjaśnienia Viterbiego: celem viterbiego jest znalezienie optymalnej sekwencji stanów w pewnym dyskretnym okresie czasu.
Zacznij od początkowego prawdopodobieństwa bycia w stanie $ s $ w czasie $ t = 0 $. Następnie zwiększ $ t $ i dla każdego stanu w tym czasie ($ t = 1 $) znajdź najlepszy stan $ s $ przy $ t-1 $ (najlepszy jak w sekwencji, która daje największe prawdopodobieństwo ). Zapisz te informacje. Oznacza to, że dla każdego stanu $ s $ przy $ t = 1 $ zapisz najlepszy stan $ s $ przy $ t = 0 $. Zapisz również prawdopodobieństwo dla tej (optymalnej) sekwencji.
Następnie zwiększ $ t $ do $ t = 2 $ i powtórz procedurę (z prawdopodobieństwami dla każdego stanu $ s $ przy $ t-1 $ są właśnie obliczonymi najlepszymi prawdopodobieństwami dla tego stanu). Punkt, w którym osiągniesz $ t = T $ (ostatni punkt w czasie). Następnie po prostu wybierasz stan o najwyższym prawdopodobieństwie i pamiętaj dla każdego stanu za każdym razem, gdy zapisałeś najlepszy stan na $ t-1 $, więc wybierz najlepszy stan przy $ t = T $, a następnie zawsze cofaj się wybranie zapisanego optymalnego stanu.
Aby wyjaśnić, co robi na bardziej ogólnym poziomie: Jeśli masz zestaw stanów $ S $, z których wszystkie można wybrać w pewnym okresie czasu $ T $, a naiwnym rozwiązaniem znalezienia najlepszej sekwencji byłoby wyliczenie wszystkich możliwych ciągów, a następnie obliczenie prawdopodobieństwa dla każdego z nich (czyli obliczenie iloczynu stanu i prawdopodobieństw przejścia). Błąd, który tu popełniamy, polega na tym, że wiele obliczeń jest powielanych, na przykład możesz mieć dwie sekwencje $ p_1, p_2 $ ($ p $ to sekwencja stanów), gdzie jedyną różnicą jest stan końcowy, ale z to podejście obliczasz prawdopodobieństwa wspólnych stanów zarówno dla $ P (p_1) $, jak i $ P (p_2) $.
Przyjmując iteracyjne podejście używane w viterbi, nie ma zduplikowanych obliczeń, więc oczywiście będzie to dużo bardziej wydajne.
Komentarze
- youtube.com/watch?v=6JVqutwtzmo Powyższe wideo graficznie wyjaśnia, co wyjaśnił Nimitz14 (pięknie).