Erklären Sie den Rückwärtsalgorithmus für das Hidden-Markov-Modell


8

Ich habe den Viterbi und Forward Algorithmus implementiert , leider kann ich seltsamerweise nicht verstehen, wie der Backward Algorithmus funktioniert. Intuitiv habe ich das Gefühl, dass ich das Gleiche wie in Vorwärts nur rückwärts tun muss, wobei ich die Werte verwende, die während der Vorwärtsausbreitung berechnet wurden .

Ist meine Intuition richtig?

Ich habe zu diesem Zeitpunkt viele Folien gelesen und die mathematische Notation satt. Es hilft nicht. Ich brauche etwas, das im Klartext den Unterschied zwischen Rückwärts- und Vorwärtsalgorithmen erklärt .

Können Sie eine kurze Erklärung geben, wie der Rückwärtsalgorithmus ausgeführt wird?

Nehmen Sie das folgende kleine HMM und die Ergebnisse des Vorwärtsalgorithmus für die folgende "BB" -Sequenz an:

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

Geben Sie hier die Bildbeschreibung ein

Antworten:


7

Sieht so aus, als ob Ihre Beobachtungssequenz B, B ist. Wir bezeichnen die Beobachtung zum Zeitpunkt als und den verborgenen Zustand zum Zeitpunkt als . Wenn wir als Vorwärtswerte und als Rückwärtswerte bezeichnen ( ist einer der möglichen versteckten Zustände).tzttxtαt(i)βt(i)i

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

Dies bedeutet, dass die Wahrscheinlichkeit ist, zum Zeitpunkt zum Zustand zu gelangen und die Beobachtungen bis zum Zeitpunkt . Dann,αt(i)itt

βt(i)=P(zt+1:Txt=i) was die Wahrscheinlichkeit ist, die verbleibende Sequenz von bis zum Ende der Zeit zu emittieren, nachdem sie sich zum Zeitpunkt im verborgenen Zustand .t+1it

Um die Rekursion auf durchzuführen, können wir schreiben:βt(i)

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

Unter Verwendung der Kettenregel ist 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)

Aus bedingten Unabhängigkeiten von HMM vereinfachen sich die obigen Wahrscheinlichkeiten zu P(zt+2:Txt+1=j)P(zt+1xt+1=j)P(xt+1=jxt=i)

Beachten Sie, dass aus unserer Definition.P(zt+2:Txt+1=j)=βt+1(j)

Wenn wir wir: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)

Jetzt haben Sie eine Rekursion für die Beta. Die letzten beiden Terme der letzten Gleichung, die Sie aus Ihrem Modell kennen. Hier gehen wir ab dem Ende der Kette (T) rückwärts und berechnen alle , daher der Rückwärtsalgorithmus. Vorwärts muss man von vorne beginnen und bis zum Ende der Kette gehen.βt

In Ihrem Modell müssen Sie für alle initialisieren . Dies ist die Wahrscheinlichkeit, nach keine Beobachtungen zu .i T = 2βT(i)=P(xT=i)=1iT=2

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.