自然语言处理——6.5 Viterbi搜索算法
2018-10-04 本文已影响8人
SpareNoEfforts
解决问题2:如何发现“最优”状态序列、能够“最好地解释”观察序列
解释不是唯一的,关键在于如何理解“最优”的状态序列?
1. 解释1
一种解释是:状态序列中的每个状态都单独地具有概率,对于每个时刻,寻找使得
最大
-
问题
每一个状态单独最优不一定使整体的状态序列最优,可能两个最优的状态和之间的转移概率为0,即
2. 解释2
在给定模型 和观察序列的条件下求概率最大的状态序列:
Viterbi 算法: 动态搜索最优状态序列。
定义:Viterbi 变量是在时间时,模型沿着某一条路径到达,输出观察序列 的最大概率为:
…… (公式6.22)
递归计算:
-
算法描述
-
算法图解