期望最大化算法,简称EM算法,是一种在统计学中用于迭代地找到概率模型中未观测变量(隐变量)的估计值的算法,同时对模型参数进行最大似然估计或最大后验概率估计。它特别适用于处理具有缺失数据或者隐含变量的概率模型问题,如混合高斯模型、隐马尔可夫模型等。
一、基本思想
EM算法通过两个主要步骤交替进行来优化模型参数:期望步骤(E-step)和最大化步骤(M-step)。这一过程不断循环,直至收敛到一个局部最优解。
- 期望步骤(E-step):
在给定当前模型参数的情况下,计算每个数据点关于隐变量的条件概率分布的期望值。这个步骤“期待”了如果模型参数已知,隐变量应取的值。形式上,这一步是计算完全数据对数似然函数(考虑了隐变量的似然)的期望值。 - 最大化步骤(M-step):
利用E-step得到的期望值作为权重,重新估计模型参数,以最大化这个加权完全数据对数似然函数。即在这个步骤中,我们根据E-step提供的信息调整模型参数,使得模型与观测数据更加吻合。
二、算法流程
- 初始化模型参数θ^(0)。
- 对于每次迭代t = 1, 2, 3, … 直至收敛:
a. E-step:对于每个数据点,计算隐变量Z的条件期望Q(θ|θ^(t-1)) = E[Z|X, θ^(t-1)]。