2011-11-04 37 views
2

我知道,給予HMM和觀察,Viterbi算法可以猜測,產生這種觀測的隱藏狀態序列。但是,你想要實時使用它的情況呢?我的意思是逐步找到隱藏的狀態。每次輸入觀察符號時,都會猜測隱藏狀態,而不知道下一個將要出現的整個觀測序列。 我想將它用於實時運行的音頻應用程序,因此觀察結果將是每個時間幀內音頻功能的一系列值。Viterbi算法的實時應用

+0

你找到了答案嗎? –

回答

0

如果你有興趣在預測隱藏狀態是t時刻,當看到觀察O_t同什麼,那麼你的數據O-1,...,O_ {T-1},O_t同。現在最有可能的狀態是前向倒退,後向變量僅爲1,因爲我們看不到未來。總之,我們有P(我們在時間T處於隱藏狀態)= \ alpha_T(i)/ P(O_1,...,O_T | \ lambda),其中P(O_1,...,O_T | λ)= \ sum_ {i = 1}^n \ alpha_T(i)。那麼P的所有我的最大指數(我們在時間T處於隱藏狀態)將是你的隱藏狀態。

請參考http://courses.media.mit.edu/2010fall/mas622j/ProblemSets/ps4/tutorial.pdf爲正式符號。

請讓我知道,如果這是你所追求的,或者如果你腦海中還有別的。如果您只是想實時查找最佳狀態序列,只需計算阿爾法變量,無需爲此考慮未來。

+0

給定時間= t(現在)的狀態和觀察序列,你如何預測時間= t + 1(下一個時間步)的狀態? – Rhubarb