算法概述
EM算法,即期望极大算法(expectation maximization algorithm)是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大。
数学表示
我们用
Y
表示观测随机变量(不完全随机变量)的数据,
例1. 假设有3枚硬币A,B,C。他们正面出现的概率分别为 π,p和q 。进行如下实验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,出现正面记做1,出现反面记做0;独立地重复 n(这里,n=10) 次实验,观测结果如下:
1,1,0,1,0,0,1,0,1,1假设只能观测到最后掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率。
问题表述:观测数据(硬币B或C的结果)表示为
Y=(Y1,Y2,…,Yn)
,未观测数据(硬币A的结果)表示为
Z=(Z1,Z2,…,Zn)
,则观测数据的似然函数为
EM算法
输入:观测变量数据
Y
,隐变量数据
输出:输出参数
θ
.
(1)选择参数的初值
θ(0)
,开始迭代;
(2)E步:记
θ(i)
为第
i
次迭代参数
(3)M步:求使
(4)重复第(2)步和第(3)步,直到收敛.
注:第二步函数 Q(θ,θ(i)) 是EM算法的核心,称为Q函数,即完全数据的对数似然函数 logP(Y,Z|θ) 关于在给定观测数据 Y 和当前参数
θ(i) 下对未观测数据 Z 的条件概率分布P(Y,Z|θ(i)) 的期望称为Q函数.
算法说明
(1)迭代时参数的初值可以任意选择,但EM算法对初值敏感;
(2)M步求Q函数的极大化,每次迭代使似然函数增大或达到局部极值,即EM不能保证全局最优。
(3)算法停止迭代的条件是对较小的
ϵ1,ϵ2
,满足
(4)算法的数学推导可通过迭代逐步近似极大化观测数据 Y 关于参数
算法推广
广义期望极大(GEM)算法.
博文参考自李航老师的《统计学习方法》,未完待续。