EM(Expectation Maximization)算法原理


先来一个比较直观的理解:

现在一个班里有50个男生,50个女生,且男生站左,女生站右。我们假定男生的身高服从正态分布 ,女生的身高则服从另一个正态分布。这时候我们可以用极大似然法(MLE),分别通过这50个男生和50个女生的样本来估计这两个正态分布的参数。但现在我们让情况复杂一点,就是这50个男生和50个女生混在一起了。我们拥有100个人的身高数据,却不知道这100个人每一个是男生还是女生。这时候情况就有点尴尬,因为通常来说,我们只有知道了精确的男女身高的正态分布参数我们才能知道每一个人更有可能是男生还是女生。但从另一方面去考量,我们只有知道了每个人是男生还是女生才能尽可能准确地估计男女各自身高的正态分布的参数。这个时候有人就想到我们必须从某一点开始,并用迭代的办法去解决这个问题:我们先设定男生身高和女生身高分布的几个参数(初始值),然后根据这些参数去判断每一个样本(人)是男生还是女生,之后根据标注后的样本再反过来重新估计参数。之后再多次重复这个过程,直至稳定。这个算法也就是EM算法

知乎文兄的答案:https://www.zhihu.com/question/27976634/answer/154998358


1 预备知识

1.1 极大似然估计(MLE)

来源于百度百科:
极大似然估计

1.2 Jensen不等式

来源于知乎
这里写图片描述
对于优化问题,凸函数可以取到最小值,而凹函数可能陷入鞍点,所以我们希望他是一个凸函数


2 EM算法

2.1 问题描述

假设我们有100个男生身高的数据,我们还有100个女生的身高数据,很显然女生身高的分布和男生肯定不同。
此时我们要单独求出男生或女生身高的分布,由1.1可知,我们可用极大似然估计得出。
但是,若男生女生数据是混在一起的,并且无法区分男女,那么对这一堆混杂的数据抽样时,我们怎么确认:
1. 每一个样本属于男生分布还是女生分布
2. 男生分布和女生分布的参数各是多少
推而广之就是,当一堆样本是由两个为止分布构成的时候,我们如何求出每个样本所属于的分布,以及两个样本各自的分布情况。

2.2 解决思路

EM问题的解决思路大概是如下几部(还是以男女同学为例):
1.假设总分布参数已知
2.通过上一部获得的分布参数,计算所抽样是属于男生还是女生分布
3.通过获得的男生女生分类结果,重新估计分布参数
4.重复2-3直到收敛

2.3 算法推导

2.3.1公式推导

假设我们有训练集样本:

{x(1),x(2),...,x(n)}

我们对于这样一个模型,用1.1多介绍的极大似然估计法可以得到如下过程:
L(θ)=i=0mlogp(x;θ)=i=1mlogzp(x,z;θ)

但是由于这一式子有 z,θ 两个不确定量,因此不能用极大似然法直接求解。
那么按照之前2.2的思路,我们先假设 θ 是已知量,同时假设 z(i) 的分布式 Qi(z(i)) ,于是上述公式可做如下推导:
L(θ)=i=0mlogp(x;θ)=i=1mlogzp(x,z;θ)=ilogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))iz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(1)(2)(3)(4)

公式中 (1)(3) 都很好理解,在理解 (3)(4) 之前我们来讲解一个知识点:Lazy Statistician规则

Lazy Statistician规则:
设Y是随机变量X的函数 设Y是随机变量X的函数, Y=g(X) ,那么
1. 当X是离散随机变量,他的分布律为 P(X=xk)=pk,k=1,2,.... 。则有

E(Y)=E[g(X)]=k=1g(xk)pk

2. 当X是连续型变量,他的概率密度为 f(x) 。则有
E(Y)=E[g(X)]=g(x)f(x)dx

那么对于上面的公式 (3)

Yp(x(i),z(i);θ)Qi(z(i))

Xz(i)

pkQi(z(i))

gz(i)p(x(i),z(i);θ)Qi(z(i))

若此时设
f(Y)=ilog

于是有
(3)=ilogEziQi[p(x(i),z(i);θ)Qi(z(i))]=f(EziQi[p(x(i),z(i);θ)Qi(z(i))])

接下来再根据1.2Jensen不等式的内容 f(E[X])>E[f(X)]
则有
这里写图片描述
式子右部分展开即是公式 (4)

2.3.2 E过程

下面我们来看刚才推导出来的公式:

L(θ)iz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))(5)

如果 θ 是确定的那么 L(θ) 取值就取决于不等式右侧。
这时候我们采取一个策略来不断逼近 L(θ) 的值:
1. 取 L(θ) 下限值
2. 不断提升 L(θ) 下限值直到下限值等于最大
那么什么时候策略调整结束呢?就是公式 (5) 取等号的时候,根据1.2Jensen不等式我们可知,当公式右侧为常数时取等号,即:
p(x(i),z(i);θ)Qi(z(i))=c

因为,
Qi(z(i))=1

所以
p(x(i),z(i);θ)=c

于是有如下推导
这里写图片描述
于是我们就得到了男生和女生各自的分布律。
这个在 θ 已知情况下,由取样后验概率算出各子类的分布律的过程即M过程

2.3.3 M过程

Qi(z(i)) 已知时,公式 (3) 就只剩 θ 一个未知量了,因此就可以直接对公式 (3) 使用极大似然法获得一个新的 θ 值,再用这个新 θ 重新进行E过程,直到 θ 收敛。

计算过程总结

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值