EM和Gradient Ascent有什么区别?


Answers:


21

从:

Xu L和Jordan Jordan MI(1996)。 高斯混合EM算法的收敛性神经计算 2:129-151。

抽象:

我们证明了参数空间中的EM阶跃是通过投影矩阵P从梯度获得的,并且为矩阵提供了一个明确的表达式。

第2页

特别地,我们表明,可以通过将梯度与正的树突矩阵预乘来获得EM步骤。我们为矩阵提供一个明确的表达式...

第3页

也就是说,EM算法可以看作是可变度量梯度上升算法...

这就是说,本文提供了将EM算法显式转换为梯度上升,牛顿,拟牛顿的方法。

来自维基百科

还有其他一些方法可以找到最大似然估计,例如梯度下降,共轭梯度或高斯-牛顿法的变化。与EM不同,此类方法通常需要评估似然函数的一阶和/或二阶导数。


5
这个答案似乎暗示着EM和梯度下降基本上是相同的算法,可以将转换从一种算法转换为另一种算法。通常,这绝对不是正确的,并且在很大程度上取决于所考虑的生成模型。所引用的论文仅对高斯混合模型(它们是相对简单的生成模型)得出结论,这是正确的。根据我的经验(有限的经验),当模型是高度非线性的并且潜在变量的作用很重要时,EM是导出合理更新规则的唯一方法。
蓝色

9

不,它们不是等效的。尤其是,EM收敛要慢得多。

如果您对EM的优化观点感兴趣,请访问 本文中您将看到EM算法是更广泛的算法类别(近点算法)的特例。


2
或类似的想法,Hinton和Neal(1998)
共轭

2
“ EM收敛慢得多”;这还没有很好的定义,当然也不一定是正确的。EM算法是一完整的算法。对于很多问题,有一定的EM算法是最先进的技术。
Cliff AB

@CliffAB请毫不犹豫地详细说明,我很想读您的论点-当我读了4年的答案时,我意识到我今天不会回答这个问题。从那时起,我发现在许多情况下,EM是一种梯度上升,其“学习率”参数取决于当前点...(我可能会编辑此答案以指出排序结果)
Elvis

可以用收敛速度来定义“较慢的收敛”。梯度上升的收敛速度取决于“学习率”,这不容易选择,因此在许多情况下很难进行梯度上升。但是,我仍然有种直觉,尽管在某些情况下EM可能是唯一可行的算法(似然的导数或似然本身很难计算),但与类似牛顿的方法相比,其收敛速度很差。
Elvis

“ EM”算法实际上是一整类算法。最初的目标函数很难优化,但是如果已知其他一些变量,则解决方案会容易得多(通常为封闭形式)。基本轮廓是根据其他参数的当前值填写期望变量,然后根据变量的期望值更新参数。已经表明,算法收敛的速度取决于估算数据的信息量。丢失的数据越“丰富”,收敛速度就越慢。
Cliff AB
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.