在现实应用中,除了已观测变量,还会存在隐变量,即未观测变量。
以如下一个经典例子举例:
有 3 枚硬币,分别为 A, B, C,其正面朝上概率分别是
。具体实验如下:先扔硬币 A,若其为正则选硬币 B,为反则选硬币 C;再扔选出的硬币,其正反为本轮实验结果。
在这个例子中,「已观测变量」为实验结果,「未观测变量」为硬币 A 的正反面。
令 表示已观测变量集,
即表示第
次实验结果为
;
表示隐变量集,
表示第
次实验选择了硬币 B;
表示模型参数,即
。
采用极大似然估计的思想,定义如下对数似然函数:
不难发现,对数中有 ,因此难以对其进行最大化,由此引入 EM 算法进行计算:
E 步: 根据 推断后验分布
,再计算
M 步:寻找最大化 的
,即
不断迭代直至收敛,即可完成对参数的估计。
二、理论保证
EM 算法的每一步迭代都不会让
首先给出 的下界:
上式的关键在于利用 Jensen 不等式,将 函数中的
移到了
函数外,由此使
得以迭代求解。继续证明过程:
因此最大化 的过程可以转化为最大化其下界
的过程:
由此我们可以得知 EM 算法即为「不断最大化似然函数下界」的算法,其直观理解如下:

最后,需要注意,EM 算法只能保证每次迭代其似然函数值不会下降,但无法保证其能求得全局最优解。
三、GEM
通过引入隐变量的分布,我们可以得到广义 EM 的形式。首先,引入隐变量分布 对
进行拆分:
其中 ,当且仅当
时等号成立,具体拆分示意图如下:

令 ,则
。

此时将 代入
,即可发现
再次最大化 得到
,
就会与
之间再次产生可优化的空间。

具体过程如下图所示:

即使用 来估计
,再根据
来最大化
,因此之前的 EM 算法为 GEM 的一种特例。
参考文献
- 周志华. (2016). 机器学习. 清华大学出版社, 北京.
- 李航. (2019). 统计学习方法. 清华大学出版社, 第 2 版, 北京.
- Bishop, C.M. (2006). Pattern Recognition and Machine Learning. Springer, New York, NY.
















