第九章 EM算法及其推广
第九章 EM算法及其推广
EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计(本章只考虑极大似然估计)。EM算法的每次迭代由两步组成:E步(expectation):求期望;M步(maximization):求极大,EM因此而得名。
9.1 EM算法的引入
9.1.1 EM算法
其他实例EM算法详解
9.1(三硬币模型)
例9.1(三硬币模型)假设有三枚硬币,分别记做A,B,C。这些硬盘正面出现的概率分别是
。进行如下掷硬币实验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,观察掷第二枚硬币的结果,出现正面记做1,出现反面记做0;独立地重复n次(这里n=10),结果如下:1,1,0,1,0,0,1,0,1,1。假设只能观测到掷硬币的结果,不能观测掷硬币的过程。估计出三枚硬币正面出现的概率。
三硬币模型可以写作:
这里,随机变量
观测变量,表示一次实验观测的结果是1或0;随机变量
隐变量,表示未观测的掷硬币A的结果;
是参数模型。
将观测数据表示为
,未观测数据表示为
。则观测数据的似然函数为
考虑求模型参数
的极大似然估计,即
这个问题没有解析解,只有通过迭代的方法求解。EM算法就是其中的一种迭代算法。
事实上,隐变量估计问题也可通过梯度下降等优化算法求解,但由于求和的项数将随着隐变量的数目以指数级上升,会给梯度计算带来麻烦;而EM算法则可看作一种非梯度优化方法。
EM算法可看作坐标下降法(后面会说)来最大化对数似然下界的过程。
  • ——西瓜书 P163
EM算法首先选取参数的初值,记做
,然后通过下面的步骤迭代计算参数的估计值,直到收敛为止。第
次迭代参数的估计值为
。EM算法的第
次迭代如下。
E步:计算在模型参数
下观测数据
来自掷硬币B的概率(不完整少了点什么?