Viterbi 在小型隐马尔可夫模型上学习效果不佳

问题描述

我正在尝试使用 Viterbi 训练对小型 HMM 的参数进行建模。我正在使用维基百科页面 here 中给出的示例。据我了解,该算法应该提出能够最大限度地从训练数据中获取观察序列的可能性的参数。我的代码确实做到了这一点,但以一种非常愚蠢的方式。它将初始概率设置为 [1,0],这意味着链只会进入第一个状态。然后它使该状态吸收,以便永远不会访问其他状态。然后它设置发射概率以匹配训练数据中观察到的状态的频率。实际上,它抵消了发射概率的所有随机性。在维基百科示例的上下文中,我学习的参数本质上是说它总是在下雨,鲍勃步行、购物和清洁,概率由观察到的频率估计。

这似乎是一个合理的结果,但它显然没有得到正确的参数。我读过的许多论文都说 Viterbi 训练虽然不如 Baum-Welch 好,但产生了足够好的结果。但是他们都没有谈论我遇到的这个问题。这是应该发生的事情吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)