统计学习方法——第9章 EM算法及其推广(个人笔记)
参考《统计学习方法》(第二版)李航
EM算法是一种迭代算法,每次迭代由两步完成:E步,求期望;M步,求极大。
9.1 EM算法的引入
概率模型有观测变量,又含有隐变量或潜在变量。
EM算法就是含有隐变量的概率模型参数的极大似然估计法,或极大后验概率估计法。
9.1.1 EM算法
例子
(三硬币模型)假设有三枚硬币,分别记作A,B,C,这些硬币正面出现的概率分别是。
进行如下掷硬币实验:先掷硬币A,根据其结果选出硬币B或C,正面选B,反面选C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次实验(n=10),观测结果如下:
假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币出现正面的概率,即三硬币模型的参数。
解:三硬币模型
这里,y是观测变量,表示一次试验观测的结果是1或0,随机变量z是隐变量,表示未观测到的硬币A的结果;是模型参数。
将观测数据表示为,未观测数据表示为
则观测数据的似然函数为
求模型参数的极大似然估计,即
EM算法首先选取参数的初值,记作,然后通过下面的步骤迭代计算参数的估计值,直至收敛为止。
第i次迭代参数的估计值为。
EM算法第i+1次迭代如下。
E步:计算在模型参数下观测数据
来自掷硬币B的概率
M步:计算模型参数的新估计值
算法9.1(EM算法)
输入:观测变量数据Y,隐变量数据Z,联合分布,条件分布
输出:模型参数。
(1)选择参数的初值,开始迭代;
(2)E步:记为第i次迭代参数
的估计值,在第i+1次迭代的E步,计算
其中,是在给定观测数据Y和当前的参数估计
下的隐变量数据Z的条件概率分布;
(3)M步:求使Q极大化的,确定第i+1次迭代的参数的估计值
(4)重复第(2)步和第(3)步,直至收敛