隐马尔可夫模型和期望最大化算法


Answers:


12

EM算法(期望最大化)是用于在根据观察到的和未观察到的(潜在)分量概率性指定模型的情况下优化似然函数的通用算法。HMM(隐马尔可夫模型)是这种形式的模型,因为它们具有不可观察的成分,隐藏状态,而实际观测值在HMM术语中通常称为排放。因此,HMM形成了一类模型,EM算法可用于该模型。

(X,Y)pθ(x,y)θX=x

Lx(θ)=ypθ(x,y).
θ
  • xθ
  • M步骤,其是最大化

如果上述两个步骤可以以计算有效的方式实现,例如,当我们为条件期望和最大化而采用封闭形式的表达式时,EM算法最有意义。

从历史上看,一般的EM算法归功于Dempster,Laird和Rubin,他们在1977年的论文中证明,该算法导致参数序列单调增加似然值。他们还创造了“ EM算法”一词。有趣的是,Baum等人在1970年就已经描述了HMM的EM算法,并且在HMM文献中通常也被称为Baum-Welch算法(我不知道Welch到底做了什么...)。


3
Welch发明了现在所谓的Baum-Welch算法(他称之为“最简单的部分”)。鲍姆从数学上证明了算法是有效的(“困难的部分”)。有关确切的详细信息,请参阅courses.cs.tamu.edu/rgutier/cpsc689_s07/welch2003baumWelch.pdf
Mikhail Korobov

@MikhailKorobov,感谢您的翔实参考。
NRH

2

期望最大化是一种迭代方法,用于对各种不同的生成统计模型(例如,混合高斯模型和其他贝叶斯网络类型模型)进行统计推断。唯一的联系是HMM也是贝叶斯网络。但是可能不会在HMM上使用EM,因为HMM中有一种精确的推理算法,称为Viterbi算法。因此,尽管可以使用EM对HMM进行推断,但您不会这样做,因为没有理由。


4
这不是完全准确的,因为您混合了两种不同的“推断”。EM是用于估计未知参数的算法,Viterbi是用于计算最可能的隐藏状态序列的算法。实际上,您将对HMM使用EM进行参数估计。我已经给出了有关EM算法的更多详细信息,并在历史答案中解释了HMM和EM之间的关系。
NRH

0

在HMM中,我们尝试主要估算三个参数:

  1. KK

  2. K×K

  3. K×NN

现在,当您尝试估算上述数量/参数时,就会出现EM部分。从一些随机猜测开始,评估观察值的可能性,并迭代调整参数,直到获得最大可能性为止。因此,通过HMM,我们对一些过程进行了建模,为此,我们需要引入一些参数。为了估计参数,将渲染EM。

这是一个非常简短的答案。实施EM还需要一系列其他子问题,以通过一系列技术来解决。为了深入理解,强烈建议使用Rabiner经典教程纸。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.