维特比(Viterbi)算法解最优状态序列

最优状态序列:一般是指在给定的HMM模型中,对于观测到的序列O,能产生该观测序列的概率最大的状态序列。

维特比算法运用 动态规划 求解这种最优状态序列。

定义:维特比变量:δt(i)是指 t 时刻时观测序列为O1O2···Ot,且qt = Si的所有路径中的概率最大值。(前t-1个时刻的状态q1q2···qt-1qt 可能是任何一种组合)

δt(i) =  max P(O1O2···Ot,q1q2···qt-1qt = Si | μ),(前t-1个时刻的状态q1q2···qt-1qt 可能是任何一种组合)

         =  max δt-1(j)* aji * P(bi(Ot)),   1 <= j <= N,N表示状态的总个数。

最大概率为

Max P(O | μ,Q=q1q2···qT

=Max [ δT(i)],1<= i <=N.

最优序列为

Q = argMax [ δT(i)],1<= i <=N。

 

注意,在实际应用中,往往不只是搜索一个最佳状态序列而是n个最佳(n-best)路径。所以,往往在表格中要记录m个最佳状态(m<n)。

posted @ 2018-06-14 14:11  微冷不觉寒  阅读(1358)  评论(0编辑  收藏  举报