Explicar o algoritmo Backward para o modelo Markov oculto

8

Eu implementei os algoritmos Viterbi e Forward , mas, estranhamente, não consigo entender como o algoritmo Backward funciona. Intuitivamente, sinto que preciso fazer a mesma coisa que no Forward apenas para trás, usando os valores calculados durante a propagação do Forward .

Minha intuição está correta?

Eu li muitos slides e estou cansado de notação matemática neste momento. Isso não ajuda. Eu preciso de algo que em inglês simples explique a diferença entre os algoritmos Backward e Forward .

Você pode fornecer uma breve explicação sobre como é feito o algoritmo Backward ?

Suponha o seguinte pequeno HMM e os resultados do algoritmo Forward para a sequência "BB" abaixo:

START -> 1
H: 0.5 * 0.8 = 0.4
L: 0.5 * 0.6 = 0.3

1 -> 2
H: 0.4 * 0.2 * 0.8 + 0.3 * 0.6 * 0.8 = 0.208
L: 0.4 * 0.8 * 0.6 + 0.3 * 0.4 * 0.6 = 0.264

2 -> END
END: 0.208 * 0.3 + 0.264 * 0.7 = 0.2472

insira a descrição da imagem aqui

minerais
fonte

Respostas:

7

tzttxtαt(i)βt(i)i

αt(i)=P(xt=i,z1:t)

αt(i)itt

βt(i)=P(zt+1:Txt=i)t+1it

βt(i)

P(zt+1:Txt=i)=jP(xt+1=j,zt+1:Txt=i)

P(xt+1=j,zt+1:Txt=i)=P(zt+2:T,zt+1,xt+1=jxt=i)=P(zt+2:Tzt+1,xt+1=j,xt=i)P(zt+1xt+1=j,xt=i)P(xt+1=jxt=i)

P(zt+2:Txt+1=j)P(zt+1xt+1=j)P(xt+1=jxt=i)

P(zt+2:Txt+1=j)=βt+1(j)

P(zt+1:Txt=i)

βt(i)=P(zt+1:Txt=i)=jβt+1(j)P(zt+1xt+1=j)P(xt+1=jxt=i)

βt

βT(i)=P(xT=i)=1iT=2

user2939212
fonte