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

机器算法验证 马尔科夫过程 期望最大化 隐马尔可夫模型
2022-03-02 19:45:30

有人可以澄清隐藏马尔可夫模型与期望最大化的关系吗?我浏览了许多链接,但无法得出清晰的观点。

谢谢!

3个回答

EM 算法(期望最大化)是一种通用算法,用于在根据观察到的和未观察到的(潜在)分量以概率方式指定模型的情况下优化似然函数。HMM(隐藏马尔可夫模型)是这种形式的模型,因为它们具有未观察到的组件,即隐藏状态,并且实际观察通常在 HMM 术语中称为发射。因此,HMM 形成了一类模型,EM 算法对其有用。

一般来说,如果模型由两个组件组成(X,Y),为了简单起见,我们假设在有限空间中取值,并且如果概率模型规范由关节点概率组成pθ(x,y),参数化为θ,则仅观察时的可能性X=x

Lx(θ)=ypθ(x,y).
尽管总和看起来是无辜的,但事实并非如此。对于 HMM,总和将涵盖隐藏状态之间所有可能的转换,当观察到的序列的长度增加时,它很快就会变成一个可怕的数字。幸运的是,有用于快速计算似然性的 HMM(前向后向)算法,然后,原则上,似然可以插入到任何通用优化算法中,用于 maksimum 似然估计θ. 另一种方法是 EM 算法。这是一种迭代交替的算法

  • E-step,它是给定观察到的条件期望的计算x根据目前的估计θ
  • M-step ,这是一个最大化

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

历史上,通用 EM 算法归功于Dempster、Laird 和 Rubin,他们在 1977 年的论文中证明,除其他外,该算法会导致一系列参数的似然值单调递增。他们还创造了术语“EM-算法”。有趣的是,1970 年Baum 等人已经描述了 HMM 的 EM 算法。,并且在 HMM 文献中也经常被称为Baum-Welch算法(我不确切知道 Welch 做了什么……)。

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

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

  1. 初始状态概率。这是一个向量ķ元素,其中ķ是状态数。

  2. 转移矩阵。这是一个大小的方阵ķ×ķ.

  3. 以某种状态为条件的观察项目的条件概率。这也是一个大小矩阵ķ×ñ, 在哪里ñ是观察次数。

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

这是一个非常简短的回答。实施 EM 需要通过一系列技术解决一系列其他子问题。为了深入理解,强烈推荐 Rabiner 经典教程论文。