机器学习之 EM算法

算法概述

EM算法,即期望极大算法(expectation maximization algorithm)是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大。

数学表示

我们用 Y 表示观测随机变量(不完全随机变量)的数据,Z表示隐随机变量的数据。 Y Z一起称为完全数据。假设给定观测数据 Y ,其概率分布是P(Y|θ),其中 θ 是需要估计的模型参数,那么不完全数据 Y 的似然函数是P(Y|θ),对数似然函数是 L(θ)=logP(Y|θ) ;假设 Y Z的联合概率分布是 P(Y,Z|θ) ,那么完全数据的对数似然函数是 logP(Y,Z|θ) 。EM算法通过迭代求 L(θ)=logP(Y|θ) 的极大似然估计。为降低算法表述的抽象性,我们引入下面的实例。

例1. 假设有3枚硬币A,B,C。他们正面出现的概率分别为 π,pq 。进行如下实验:先掷硬币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) ,则观测数据的似然函数为

P(Y|θ)=ZP(Z|θ)P(Y|Z,θ)
P(Y|θ)=j=1n[πpyj(1p)1yj+(1π)qyj(1q)1yj]
这里 θ=(π,p,q) 为模型参数。考虑求模型参数 θ 的极大似然估计,即
θ=argmaxθlogP(Y|θ)
由于上式没有解析解,故不能用常规的极大似然估计法来求解,而EM提供了一种求解该问题的迭代算法。

EM算法

输入:观测变量数据 Y ,隐变量数据Z,联合分布 P(Y,Z|θ) ,条件分布 P(Z|Y,θ) ;
输出:输出参数 θ .
(1)选择参数的初值 θ(0) ,开始迭代;
(2)E步:记 θ(i) 为第 i 次迭代参数θ的估计值,在第 i+1 次迭代的E步,计算

Q(θ,θ(i))=EZ[logP(Y,Z|θ)|Y,θ(i)]=ZlogP(Y,Z|θ)P(Z|Y,θ(i))
这里, P(Z|Y,θ(i)) 是在给定观测数据 Y 和当前的参数估计θ(i)下隐变量数据 Z 的条件概率分布;
(3)M步:求使Q(θ,θ(i))极大化的 θ ,确定第 i+1 次迭代的参数的估计值 θ(i+1)
θ(i+1)=argmaxθQ(θ,θ(i))

(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 ,满足

||θ(i+1)θ(i)||<ϵ1

||Q(θ(i+1),θ(i))Q(θ(i),θ(i))||<ϵ2

(4)算法的数学推导可通过迭代逐步近似极大化观测数据 Y 关于参数θ的对数似然函数得到。假设第 i 次迭代后θ的估计值是 θ(i) ,若要新估计值 θ 使 L(θ) 增加,则有 L(θ)>L(θ(i)) 。则对 L(θ)L(θ(i)) 运用Jensen不等式容易得到。详细推导可参考《统计学习方法》。

算法推广

广义期望极大(GEM)算法.


博文参考自李航老师的《统计学习方法》,未完待续。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值