隐马尔可夫模型初始猜测

时间:2012-12-20 06:48:42

标签: mathematical-optimization hidden-markov-models

我正在训练大型英文文本(布朗语料库的前50,000个字符,包括字母和空格)的2状态HMM,我的算法遵循Mark Stamp的教程(www.cs.sjsu.edu/~stamp) /RUA/HMM.pdf)。

由于观察仅包括26个字母和空格,因此我最初给每个观察(在一个州内)的概率为1/27,然后将每个观察值修改为0.0001,同时保持行随机。

运行训练器50次迭代使我在log [P(O | lambda)]中进行了非常小的增量改进,其中lambda是更新的模型。此外,在最终模型的观察矩阵中,每个观察的概率在两个州之间几乎相同(见http://pastebin.com/xVVYNhGs)。

我认为我坚持局部最大值,因此我改变了观察矩阵的初始猜测以匹配Stamp's,它实际上给了我一个更新的观察矩阵,在相同的迭代次数内,状态*不同。 (50次迭代:http://pastebin.com/U0AgrJ2N; 100次迭代:http://pastebin.com/yAkruNjs

我的问题是,我改变的初始观察矩阵(发射概率)显然让我摆脱了悲伤的局部最大值;但是我如何才能找到/优化这个初始猜测?

1 个答案:

答案 0 :(得分:3)

Rabiner的HMM教程paper给出了答案,第V-C节,第273页:

  

基本上,上面没有简单或直接的答案   题。相反,经验表明要么是随机的(受制于   随机和非零值约束)或统一初始   先验概率和转移矩阵的估计是   足以在几乎所有参数中对这些参数进行有用的重新评估   案例。

     

然而,对于排放矩阵,经验表明了这一点   良好的初始估计值对离散符号情况有帮助,并且   在连续中是必不可少的(当处理多种混合物时)   分发案例。**

     

此类初步估算可以通过多种方式获得,包括:

     

1)将观察序列手动分割成   在州内平均观察的国家,

     

2)使用平均值进行观测的最大似然分割

     

3)分段k-means分段与聚类,