精确隐马尔可夫模型训练算法

时间:2014-05-19 04:31:51

标签: algorithm artificial-intelligence hidden-markov-models

在大多数情况下,Baum-Welch算法用于训练隐马尔可夫模型。

然而,在许多论文中,有人认为BW算法会优化,直到陷入局部最优状态。

是否存在实际成功找到全局最优的精确算法(除了枚举几乎所有可能的模型并对其进行评估)?

当然对于大多数应用程序,BW都可以正常工作。然而,我们有兴趣在减少状态数量时找到信息丢失量的下限。因此,我们总是需要生成最好的模型。

因此,我们正在寻找一种有效的NP难算法(只能枚举一个(可能)指数极值点)而不是模型中每个概率的离散化浮点数。

2 个答案:

答案 0 :(得分:5)

快速搜索在http://www.cs.tau.ac.il/~rshamir/algmb/98/scribe/html/lec06/node6.html&#34中找到;在这种情况下,找到最佳参数集$ \ Theta ^ {\ ast} $的问题已知是NP完全的。 Baum-Welch算法[2]是EM技术(期望和最大化)的特例,可用于启发式地找到问题的解决方案。 "因此,我建议保证在多项式时间内找到全局最优的EM变量将证明P = NP且未知,实际上可能不存在。

这个问题几乎肯定是凸,因为实际上会有多个具有相同分数的全局最优解 - 给出任何提出的解决方案,通常给出基础状态下观察的概率分布例如,您可以将隐藏状态0重命名为隐藏状态1,反之亦然,调整概率分布,以便由两个不同解决方案生成的观察到的行为是相同的。因此,如果有N个隐藏状态,则至少有N个!通过在他们自己之间置换隐藏状态而产生的局部优化。

在EM的另一个应用中,https://www.math.ias.edu/csdm/files/11-12/amoitra_disentangling_gaussians.pdf提供了一种用于寻找全局最优高斯混合模型的算法。它观察到EM算法经常用于这个问题,但指出它不能保证找到全局最优,并且不作为相关工作引用可能的任何版本的EM(它也说EM算法很慢)

如果你试图在例如...之间进行某种似然比测试如果由于局部最优,拟合的5态模型比4态模型具有更低的可能性,那么显然是令人尴尬的是4态模型和5态模型。避免这种情况或从中恢复的一种方法是从非常接近发现的最佳4态模型的起点开始5态EM。例如,您可以使用概率epsilon创建第5个状态,并使用反映4态输出分布平均值的输出分布,将4态分布保持为新5态模型中的其他4个分布,乘以a某个地方(1-epsilon)的因子,所以一切仍然加起来。

答案 1 :(得分:1)

我认为如果你真的想要这个,你可以在给定局部最优的情况下定义一个收敛域。如果你可以有一些相当弱的条件,那么你可以快速显示整个领域是在收敛领域,还是有第二个本地小公司。

例如,假设在一个例子中我有两个独立变量(x,y)和一个因变量(z),并假设给定一个局部最小值z_1,以及一对收敛到z_1 =(x_1)的起点,y_1),P_1 =(x_2,y_1)和p_2 =(x_1,y_3),那么我可能能够证明所有三角形z_1,p_1,p_2都在收敛域中。

当然,这不是一种普遍适用的方法,但是你可以有效地解决一类问题。例如,某些问题在某种意义上没有任何收敛领域,例如:它可能会出现一个问题,即一个点会收敛到与其邻域中所有点不同的解决方案,但是很多问题对于它们收敛到一个解决方案有一些合理的平滑性,那么你就可以做好了。