为什么期望最大化算法保证收敛到局部最优?

机器算法验证 缺失数据 收敛 期望最大化
2022-01-18 01:59:13

我已经阅读了一些关于 EM 算法的解释(例如来自 Bishop 的模式识别和机器学习以及来自 Roger 和 Gerolami First Course on Machine Learning)。EM的推导没问题,我明白了。我也理解为什么算法会覆盖一些东西:在每一步我们都会改进结果,并且可能性以 1.0 为界,所以通过使用一个简单的事实(如果一个函数增加并且有界,那么它会收敛)我们知道算法会收敛到一些解决方案。

但是,我们怎么知道它是局部最小值呢?在每一步我们只考虑一个坐标(潜在变量或参数),所以我们可能会错过一些东西,比如局部最小值需要同时移动两个坐标。

我认为这与一般类爬山算法的问题类似,EM 就是其中的一个例子。因此,对于一般的爬山算法,我们对函数 f(x, y) = x*y 有这个问题。如果我们从 (0, 0) 点开始,那么只有同时考虑两个方向,我们才能从 0 值向上移动。

2个回答

EM 不能保证收敛到局部最小值。它只保证收敛到关于参数的梯度为零的点。所以它确实会卡在鞍点上。

首先,EM 有可能收敛到似然函数的局部最小值局部最大值鞍点更准确地说,正如Tom Minka所指出的,EM 保证收敛到一个梯度为零的点。

我可以想到两种方式来看待这一点;第一种观点是纯粹的直觉,第二种观点是形式证明的草图。首先,我将非常简要地解释 EM 的工作原理:

期望最大化 (EM)是一种顺序界优化技术,在迭代中,我们首先在似然函数 θ) ,然后最大化该界以获得新的解,并继续这样做,直到新的解决方案没有改变。tbt(θ)L(θ)θt=argmaxθbt(θ)

期望最大化作为梯度上升

在每次迭代中,EM 要求边界在前一次迭代的解中接触似然函数,即,这意味着它们的梯度也相同;因此,EM至少与梯度上升一样好,因为至少与一样好。换句话说:tbtLθt1g=bt(θt1)=L(θt1)θtθt1+ηg

如果 EM 收敛到那么也是梯度上升的收敛点,并且 EM 满足梯度上升解决方案之间共享的任何属性(包括零梯度值)。θθ

正式证明的草图

可以证明边界和似然函数之间的差距收敛到零; 可以证明边界的梯度也收敛到似然函数的梯度;即: 由于以及 EM 中使用的边界是可微的,并且,我们有,因此

(1)limtL(θt)bt(θt)=0.
(2)limtL(θt)=bt(θt).
(1)(2)θt=argmaxθbt(θ)bt(θt)=0limtL(θt)=0