为什么要使用期望最大化算法?


22

据我所知,当将似然性参数的偏导数设为零时,可以使用EM算法找到最大似然性,从而给出了一组无法解析求解的方程。但是需要EM算法来代替使用某种数值技术来尝试针对所提及的方程组的约束找到最大可能性。

Answers:


20

问题是合法的,当我第一次学习EM算法时,我也感到困惑。

概括而言,EM算法定义了一个迭代过程,该过程允许在模型的某些变量(或被视为)“潜在”或未知的情况下最大化参数模型的似然函数。

从理论上讲,出于相同的目的,您可以使用最小化算法从数值上找到所有参数的似然函数的最大值。但是,在实际情况下,此最小化应为:

  1. 计算量大得多
  2. 不够坚固

EM方法的一个非常普遍的应用是拟合混合模型。在这种情况下,将将每个样本分配给组件之一的变量视为“潜在”变量,可以大大简化问题。

让我们来看一个例子。我们从2个正态分布的混合中提取了N个样本。要查找没有EM的参数,我们应该最小化:s={s一世}

-日志大号Xθ=-日志[一种1个经验值X-μ1个22σ1个2+一种2经验值X-μ222σ22]

相反,使用EM算法,我们首先将每个样本“分配”给一个组件(E步),然后分别拟合(或最大化每个组件的可能性)(M步)。在此示例中,M步只是找到和的加权均值。迭代这两个步骤是最小化的更简单,更可靠的方法。σ ķ - 日志大号X θ μķσķ-日志大号Xθ


12

不需要EM而不是使用某种数值技术,因为EM也是一种数值方法。因此,它不能替代牛顿-拉夫森。当数据矩阵中缺少值时,EM适用于特定情况。考虑具有条件密度的样本。那么它的对数似然为 现在假设您没有一个完整的数据集,使得由观察到的数据组成和缺失的(或潜在的)变量,使得。然后,观察数据的对数似然为 ˚F X | Θx | θ l θ ; X = l o g f X | ΘX | θ X Ý = È θ [ θ ; X | ÿX=X1个XñFX|ΘX|θ

θ;X=ØGFX|ΘX|θ
XÿX = Ý Ž Ô b 小号θ ÿ = Ô ˚F X | Θÿ Ž | θ ν Žd Ž Ô b 小号θ Ý + 1 ħ Q θ | θžX=ÿž
Øbsθÿ=ØGFX|Θÿž|θνždž
通常,您不能直接计算此积分,也不会得到的闭式解。为此,请使用EM方法。有两个步骤重复了次。在此步骤中,这些是期望步骤,您可以在其中计算 其中是的估计在。步骤然后计算最大化步骤在其中最大限度地提高关于和setØbsθÿ一世一世+1个ŤH
θ|θ一世=Ëθ一世[θ;X|ÿ]
θ一世Θ一世ŤHθ|θ一世θθ一世+1个=一种Xθ|θ一世。然后,您重复这些步骤,直到方法收敛到某个值,这将是您的估计值。

如果您需要有关该方法,其属性,证明或应用程序的更多信息,请仅查看相应的Wiki文章。


1
+1 ... EM不仅适用于缺少值的情况。
Glen_b-恢复莫妮卡

@Andy:即使考虑丢失数据的情况,我仍然不明白为什么使用通用数值方法来找到偏导数为零的点是行不通的。
user782220 2013年

谢谢Glen,我只在缺少值/潜在变量的情况下才知道这一点。@ user782220:当您无法获得对数似然导数的闭式解时,将导数设置为零将无法识别您的参数。这就是在这种情况下使用数值方法的原因。有关说明和示例,请参见此处的演讲:people.stat.sfu.ca/~raltman/stat402/402L5.pdf
Andy

1

之所以使用EM,是因为直接计算模型参数通常是不可行或不可能的,这种方法可以最大程度地提高给定模型的数据集的概率。

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.