我在理解Baum-Welch算法的确切工作方式时遇到了一些问题。我读到它调整了HMM的参数(过渡和发射概率),以便最大化给定模型可以看到我的观察序列的概率。
然而,如果我有多个观察序列会怎么样?我想训练我的HMM反对大量的观察(我认为这是通常做的)。
例如,ghmm 可以同时采用{{1}}方法的单个观察序列和一整套观察结果。
两种情况下都一样吗?或者算法是否必须同时知道所有观察结果?
答案 0 :(得分:9)
在Rabiner的paper中,使用以下等式在Baum-Welch算法中重新估计GMM的参数(权重,均值和协方差):
这些只是针对单个观察序列的情况。在多种情况下,分子和分母只是对所有观察序列求和,然后除以得到参数。 (这可以完成,因为它们只是代表职业数量,见文件第273页)
因此,在调用算法期间不需要知道所有观察序列。例如,HTK中的 HERest 工具有一种机制,允许在多台机器之间拆分训练数据。每台机器计算分子和分母并将它们转储到文件中。最后,一台机器读取这些文件,汇总分子和分母并将它们分开以得到结果。见pg。 HTK第v3.4页的第129页