Expectation Maximization(EM)算法

概率模型有时既含有观测变量(observable variable),又含有隐变量(latent variable)。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计或贝叶斯估计来计算模型参数。但是,当模型含有隐变量时,就不能简单地使用以上估计方法,而EM算法就是针对含有隐变量的概率模型参数的极大似然估计法。

一般地,用 X 表示可观测随机变量的数据, Z 表示隐随机变量的数据, X Z 连在一起称为完全数据(complete-data),观测数据 X 又称为不完全数据(incomplete-data)。假设给定观测数据 X ,其概率分布是 P(X|θ) ,其中 θ 是需要估计的模型参数,那么不完全数据 X 的似然函数是 P(X|θ) ,对数似然函数 L(θ)=logP(X|θ) ;假设 X Z 的联合概率分布是 P(X,Z|θ) ,那么完全数据的对数似然函数是 logP(X,Z|θ) 。对于不完全数据的统计估计问题,EM算法已经成为了一种通用的工具。

从掷硬币实验说起

给定两枚硬币 A B ,它们出现正面的概率分别为 θA θB (未知),我们的目标是通过重复5次以下实验来估计 θ=(θA,θB)

选择一枚硬币,并且知道具体是哪一枚,然后用选中的硬币掷十次,记录结果。因此,总共进行了50次掷硬币的实验。如下图所示

这里写图片描述

现在,引入两个随机变量 X={ X1,X2,X3,X4,X5} Z={ Z1,Z2,Z3,Z4,Z5} ,其中 Xi{ 0,1,,10} 表示第 i 次实验硬币正面朝上的次数, Zi{A,B} 表示第 i 次实验所用的硬币。上述问题为完全数据的参数估计问题,可通过正面出现的比例进行估计

θA^=# of heads using coin Atotal # of flips using coin AθB^=# of heads using coin Btotal # of flips using coin B

事实上,上述的估计方式就是统计学上的最大似然估计。

现在考虑一个更有挑战性的参数估计问题。只给定硬币出现正面的次数,而不给定是由哪一枚硬币掷出的,即 Z 为隐含变量。因此,该问题就转化为不完全数据的参数估计问题。此时,由于不知道具体是哪一枚硬币,所以无法通过直接计算硬币出现正面的次数来估计 θ 。当概率模型存在隐变量时,不能简单地使用极大似然估计,需要采用下文的EM算法来计算模型参数。

凸函数

定义1 定义在区间 I=[a,b] 上的实函数 f ,如果对于 x1,x2I,λ[0,1] ,函数 f 满足以下不等式

f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)(1)

则称函数 f 为凸函数。其几何解释如下图所示
凸函数的几何解释

定义2 如果函数 f 是凸函数,则函数 f 是凹函数。

定理1 如果函数 f 在区间 [a,b] 上二阶可导,并且 f′′(x)0 ,则 f 在区间 [a,b] 上为凸函数。

定理2(Jensen inequality) f 为区间 [a,b] 上的凸函数,若 x1,x2,,xnI ,并且 λ1,λ2,,λn0,ni=1=1 ,则以下不等式成立

f(i=1nλixi)i=1nλif(xi)(2)

证明: 使用数学归纳法证明

  1. n=1 时,(2)式显然成立,并取得等号。
  2. n=2 时,即为凸函数的定义。
  3. 假设当 n=n 时(2)式成立,则

f(i=1n+1λixi)=f(λn+1xn+1+i=1nλixi)=f(λn+1xn+1+(1λn+1)11λ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值