Enkel forklaring av Baum Welch / Viterbi

Jeg ser etter en veldig enkel forklaring som mulig for Baum Welch og Viterbi for HMM-er med et rett og godt kommentert eksempel. Nesten alle forklaringene jeg finner på nettet, hopper alltid fra begynnelsen til en nesten fullstendig sjargong / symbolbasert forklaring. De få gangene de har et eksempel, blir det vanligvis skyvet til siden eller dårlig kommentert (dvs. det er uklart hvordan symbolene og eksemplet er relatert til hverandre). Jeg har hørt ting som noen kilder som hevder at Baum Welch er basert på EM-algoritmen, og andre sier at den er basert på fremover-bakover-algoritmen, og noen sier begge, så jeg vil gjerne få detaljer som det ryddet opp.

Det nærmeste jeg fant så langt er en 1-timers video lagt ut her som folk sa var flott, men som ikke kan spilles fordi flash er utestengt og en forklaring på wikipedia som har et notat ved siden av og sier at det er feil .

Svar

Jeg ser etter en veldig enkel forklaring som mulig for Baum Welch og Viterbi for HMMs …

  • Gitt de observerte dataene, finner Baum-Welch-algoritmen sannsynlighetsmaksimerende parametere.

  • Gitt de observerte dataene og parametrene, Viterbi-algoritmen finner den mest sannsynlige sekvensen av skjulte tilstander.

Jeg har hørt ting som noen kilder som hevder Baum Welch er basert på EM-algoritmen …

Baum-Welch-algoritmen er et spesielt tilfelle av EM-algoritmen.

… og andre sier at den er basert på algoritmen forover bakover

Nedbrytingen fremover og bakover er hvordan du gjør «E-» trinnet (ved hjelp av EM-terminologien). Det er spesifikt for skjulte Markov-modeller.

De få gangene de har et eksempel, blir det vanligvis skyvet til siden eller dårlig kommentert (dvs. det er uklart hvordan symbolene og eksemplet er relatert til hverandre)

Jeg vet ikke hvilke eksempler du ser på, men jeg kan fortelle deg at der er mange gode der ute. Husk at disse metodene ble oppfunnet for veldig lenge siden, og de er fortsatt mye brukt . Rabiner-en som er koblet til ovenfor, er sannsynligvis den mest kjente, men du må finne en du liker som du vil fortsette å jobbe gjennom. Jeg vil anbefale deg å finne en med et eksempel som inneholder data du er interessert i, og notasjon om at du føler er læringsdyktig. Uansett hva du finner vil det ha mye notasjon. Det er ingen vei rundt det, så du må bare finne noe du kan slå deg ned i.

Svar

Jeg har det perfekte papiret for deg: http://www.stat.columbia.edu/~liam/teaching/neurostat-fall17/papers/hmm/rabiner.pdf

Legg merke til at det er nyere BW-metoder.

Forsøkt enkel forklaring på Viterbi: Målet med viterbi er å finne en optimal sekvens av tilstander i løpet av en diskret tidsperiode.
Start med de første sannsynlighetene for å være i en tilstand $ s $ om gangen $ t = 0 $. Deretter øker du $ t $ og for hver stat på det tidspunktet ($ t = 1 $), finn den beste staten $ s $ på $ t-1 $ (best som i sekvensen som gir størst sannsynlighet Lagre denne informasjonen. Det betyr for hver stat $ s $ på $ t = 1 $ spare hva den beste staten $ s $ på $ t = 0 $ er. Lagre også sannsynligheten for den (optimale) sekvensen.
Øk deretter $ t $ til $ t = 2 $, og gjenta prosedyren (med sannsynlighetene for hver stat $ s $ på $ t-1 $ er de bare beregnede beste sannsynlighetene for den staten). poenget du når $ t = T $ (siste tidspunkt). Så velger du bare staten med størst sannsynlighet, og husker for hver stat hver gang du har lagret den beste staten for $ t-1 $, så ta den beste staten på $ t = T $ og arbeid deg alltid bakover alltid plukke den lagrede optimale tilstanden.

For å utdype hva den gjør på et mer generelt nivå: Hvis du har et sett med stater $ S $ som alle kan plukkes over en periode $ T $, en naiv løsning for å finne den beste sekvensen ville være å telle opp alle mulige sekvenser og deretter beregne sannsynligheten for hver av dem (det vil si å beregne produktet av staten og overgangssannsynligheter). Feilen man gjør her er at mange av beregningene dupliseres, for eksempel kan du ha to sekvenser $ p_1, p_2 $ ($ p $ er en sekvens av tilstander) der den eneste forskjellen er den endelige tilstanden, men med denne tilnærmingen beregner du sannsynlighetene for delte tilstander for både $ P (p_1) $ og $ P (p_2) $.
Ved å ta den iterative tilnærmingen som brukes i viterbi, er det ingen dupliserte beregninger, så åpenbart vil det være mye mer effektiv.

Kommentarer

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *