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

Algorithm 精确隐马尔可夫模型训练算法,algorithm,artificial-intelligence,hidden-markov-models,Algorithm,Artificial Intelligence,Hidden Markov Models,在大多数情况下,Baum-Welch算法用于训练隐马尔可夫模型 然而,在许多论文中,有人认为BW算法将进行优化,直到陷入局部最优 是否存在一种精确的算法能够真正成功地找到全局最优解(除了列举几乎所有可能的模型并对其进行评估) 当然,对于大多数应用程序,BW都可以正常工作。然而,我们感兴趣的是,在减少状态数时,寻找信息丢失量的下限。因此,我们始终需要尽可能生成最佳模型 因此,我们正在寻找一种高效的NP-hard算法(仅枚举(可能)指数数量的极值点),而不是模型中每个概率的离散化浮点数。快速搜索发现

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

然而,在许多论文中,有人认为BW算法将进行优化,直到陷入局部最优

是否存在一种精确的算法能够真正成功地找到全局最优解(除了列举几乎所有可能的模型并对其进行评估)

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

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

快速搜索发现“在这种情况下,找到最佳参数集的问题$\Theta^{\ast}”已知$是NP完全的。Baum-Welch算法[2]是EM技术(期望和最大化)的特例,可用于启发式地找到问题的解决方案。”因此,我建议,保证在多项式时间内找到全局最优解的EM变量将证明P=NP,并且是未知的,实际上可能不存在

这个问题几乎肯定不是凸的,因为事实上会有多个分数相同的全局最优解-给定任何建议的解,通常给出给定基础状态的观测概率分布,例如,您可以将隐藏状态0重命名为隐藏状态1,反之亦然,调整概率分布,使两个不同解产生的观测行为相同。因此,如果有N个隐藏状态,则至少有N个!通过在它们之间排列隐藏状态而产生的局部最优解

在EM的另一个应用中,提供了一种寻找全局最优高斯混合模型的算法。它注意到EM算法经常用于这个问题,但指出它不能保证找到全局最优解,也没有将任何可能的EM版本作为相关工作参考(它还说EM算法速度慢)


如果您试图在4状态模型和5状态模型之间进行某种似然比测试,那么由于局部最优,如果所拟合的5状态模型的似然比4状态模型的似然低,显然会令人尴尬。避免这种情况或从中恢复过来的一种方法是从一个非常接近最佳4态模型的起点开始5态EM。例如,您可以创建一个具有概率ε的第五状态,并且输出分布反映了4状态输出分布的平均值,在新的5状态模型中保持4状态分布与其他4状态分布相同,乘以因子(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在收敛域中


当然,这不是一种通常有效的方法,但你可以有效地解决一个子类问题。例如,某些问题在某种意义上没有收敛域,例如,可能存在一个问题,其中一个点收敛到与其邻域中所有点不同的解,但是很多问题在收敛到一个解时都有一些合理的平滑度,所以你可以做得很好。

是的,这是我们所期望的。然而,我们正在寻找一种高效的NP难算法(只枚举(可能)指数数量的极值点),而不是模型中每个概率的离散数量的浮点。@CommuSoft问题在于,似乎没有任何理由相信B--W解决的问题是凸的。如果你很绝望,有非凸问题的求解者,但是如果他们能处理非平凡的例子,我会非常惊讶。如果问题是凸的,我会非常惊讶。我已经对此添加了评论,还有更多信息,作为我答案末尾的编辑。试试
维特比算法
也许你会发现有趣的答案。@KhaledAKhunaifer:据我所知,维特比算法精确地确定了给定观察序列和经过训练的隐马尔可夫模型的最可能的隐状态序列?@CommuSoft这是一个最优动态规划算法中,它使用n-gram根据序列中的n个先前状态作为模式来近似下一个状态,但由于状态是“隐藏”的,人们永远不知道自己已经处于哪个状态。我正在寻找一种算法,该算法给定一个(或多个)观测序列(而不是状态),可以训练一个隐马尔可夫模型,从而使给定观测的误差全局最小化。