我正在实现 HMM 的前向算法来计算给定 HMM 发出给定观察序列的概率。我希望我的算法对于下溢具有鲁棒性。我无法在对数空间中工作,因为前向算法需要概率的乘法和加法。避免下溢的最佳方法是什么?
我已经阅读了一些关于此的资料,但我得到的最好的建议是缩放每个时间步的概率第 6 节在这里。在算法结束时,您将不会得到您想要的(观察序列的)确切概率。另外,除非我弄错了,如果按照上述参考文献中的建议在每个时间步缩放概率,则无法对来自两个不同 HMM 的给定观察序列的概率进行有意义的比较(以找出哪个)更有可能输出序列)。有什么建议么?
在参考文献末尾的方程 32 中,将每个概率值 alpha_t(i) 乘以 C_t。所以最后你将最终概率乘以所有 C_t 的乘积。您可以通过跟踪 log(C_t) 的总和来跟踪所有这些。然后最后你可以算出 log(alpha_t(i)) - SUM_(j
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)