知道HMM的参数 λ = (A, B, π) 和观测序列O = {o1,o2, …, oT} ,如何计算模型 λ 下观测序列O出现的概率P(O | λ)。
HMM的参数如何确定?比如:对于刚才的中文分词的小例子。
初始概率分布π好确定:是不是终结词的概率各是0.5。
观测矩阵B也好确定:1/65535嘛
但状态转移矩阵怎么确定?我怎么知道下个词是终结词的概率是多少?
3. 知道HMM的参数 λ = (A, B, π) 和观测序列O = {o1,o2, …, oT},如何计算给定观测序列条件概率P(I|O, λ )最大的状态序列I,即:
对于中文分词,我想到底如何分的词。
第一个问题被称为:概率计算问题。
解决办法:前向-后向算法(一种动态规划算法)。
第二个问题被称为:学习问题。
解决办法:如果状态序列已知,那用最大似然估计就好了,但HMM的状态序列未知,即含有隐变量,所以要使用Baum-welch算法(其实其本质就是EM算法)。
第三个问题被称为:预测问题/解码问题。
解决办法:Viterbi算法(一种动态规划算法)。



