EM算法1-感性理解EM算法(1)

讨论到EM算法,纯看公式推导就觉得非常的复杂,其实如果单纯从感性认知的角度,能更好的的了解EM算法。在哔哩哔哩等相关的分享中看到相关的课程学习内容,主要介绍如何感性的认识EM算法,但是他们分享的时候,大多数都是理论和感性认知分开讲的,这篇文章就希望能够在感谢认知的基础上,对应上其理论题推导。

下面就根据视频教学里的例子,来介绍一下EM算法的感谢认知。

首先介绍了知乎上比较简单明了的一个EM算法入门:如何感性地理解EM算法?
具体的例子是:
假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,但是并不知道到底是抛的哪儿个硬币,记录下结果,如下图,希望求P1,P2:
在这里插入图片描述
这个时候,由于我们完全不知道,每次抛的是哪儿枚硬币,所以无法估算P1和P2,所以EM算法,会先给一个P1和P2的初值,假设初值:P1=0.7,P2=0.4,

根据现在这个初值,我们需要估计每次抛的到底是哪儿个硬币,比如第一次抛是 正正反正反,如果用的是硬币1,则硬币1抛出这个观测值的概率为:0.7 * 0.7 * 0.7 * 0.3 * 0.3=0.03087,而如果是硬币2,抛出这个观测值的概率为:0.4 * 0.4 * 0.4 * 0.6 * 0.6=0.02304
这个时候我们可以得到下表:
在这里插入图片描述
此时,我们可以得到,第一次使用的是硬币1的概率为: 0.03087/(0.03087+0.02304)=0.5726,硬币2的概率为 0.02304/(0.03087+0.02304)=0.4274,以此类推后如下图,
在这里插入图片描述
这个时候,我们怎么确定P1和P2的值呢,按照朴素的统计学概率观点,数到底正面出现的次数,占所以次数的几次,就可以得到P1和P2的概率:
以第一次举例,因为用硬币1的概率为0.5726,而第一次为三次正,两次反面,所以对于硬币1,
第一次:正面次数:0.57263=1.7178 ,反面次数:0.57262=1.1452
同理,对于硬币2: 第一次,正面次数:0.42743=1.2822 反面次数 0.42742=0.8548,依次类推,有:
在这里插入图片描述
所以有:P1_new=4.641662/(4.641662+4.345867)=0.516456,P2_new=6.358338/(6.358338+2.169492)=0.397087
一次迭代就完成了,现在就需要继续根据新的P1和P2值,每次抛的是硬币1还是硬币2的概率了。

完成了感性 的理解之后,我们怎么将EM算法的推导和实际的例子结合在一起呢:

如果从概率上来讲,隐变量z为抛掷的是硬币1还是硬币2,Y是我们的观测变量,P1和P2是要求解的量 θ \theta θ

其实不管用不用EM算法,我们最终的目的是用最大似然估计,求解 θ \theta θ,但是显然,现在的P(Y| θ \theta θ)给不出表达式,因为我们中间有一环不知道,在这里就是不知道到底每次抛的是哪儿个硬币,所以才提出了隐变量z,
将目标函数L( θ \theta θ):
在这里插入图片描述
其中n为N个data。

但是虽然已经引入了隐变量z,我们还是无法求解 θ \theta θ,这种情况下,EM算法的做法是,不直接求解L( θ \theta θ),而是,给L( θ \theta θ)找一个可以求解的下界,通过不断的提高下届的值,从而不断的逼近L( θ \theta θ)的最大值,那么L( θ \theta θ)的下界是什么呢,有很多教程都有推导,推荐一个博客,逻辑非常清楚:https://blog.csdn.net/v_july_v/article/details/81708386,总的来说下界就是:
在这里插入图片描述
可以证明在第i次E步之后,即在第i次,根据 θ i θ_i θi构建的P(Z|Y, θ i θ_i θi),这个下界Q( θ θ θ)与L( θ θ θ)在此点 θ i θ_i θi处相等,也就是两个函数在 θ i θ_i θi点是贴在一起的,此时,可以求Q( θ i θ_i θi)的最大值,得到 θ i + 1 θ_{i+1} θi+1-> θ i θ_i θi,然后再进行第i+1次E步,再次使下界Q( θ θ θ)紧贴L( θ θ θ),即整个过程如下图:
在这里插入图片描述
整个过程不再赘述,可以直接去看推荐的博客,证明都非常详细。

现在我们已经明确了整个EM算法的求解过程,那么就可以开始计算了

EM算法的E步,就是要求解P(z|Y, θ \theta θ)

根据贝叶斯公式:
P(z|Y, θ \theta θ)= P ( Y ∣ z , θ ) P ( z ∣ θ ) P ( Y ∣ z = 1 , θ ) P ( z = 1 ∣ θ ) + P ( Y ∣ z = 2 , θ ) P ( z = 2 ∣ θ ) \frac{P(Y|z,θ)P(z|θ)}{P(Y|z=1,θ)P(z=1|θ)+P(Y|z=2,θ)P(z=2|θ)} P(Yz=1,θ)P(z=1θ)+P(Yz=2,θ)P(z=2θ)P(Yz,θ)P(zθ)

此时,我们知道当z=1的时候:
观测到Y(正正反正反)的概率为:P(Y|z=1)=0.7 * 0.7 * 0.7 * 0.3 * 0.3=0.03087
同理,当z=2的时候,P(Y|z=2)=0.4 * 0.4 * 0.4 * 0.6 * 0.6=0.02304
这里默认了P(z=1)=P(z=2)=0.5 (个人理解)
所以有了第一次使用的是硬币1的概率为: 0.03087/(0.03087+0.02304)=0.5726,硬币2的概率为 0.02304/(0.03087+0.02304)=0.4274

到这一步,其实我们已经知道了P(z|Y, θ 1 θ_1 θ1),也就是完成了EM算法的E步,下面是M步,根据P(z|Y, θ 1 θ_1 θ1),求解能够使得下界Q(θ)的最大值,此处注意,在将P(z|Y, θ 1 θ_1 θ1)带入下界Q(θ)中时,P(z|Y, θ 1 θ_1 θ1)已经是一个固定的值,这个值确定了当前的下界函数,所以有:
在这里插入图片描述
此时我们希望求一个θ,使得Q(θ, θ 1 θ_1 θ1) (表示由P(z|Y, θ 1 θ_1 θ1)确定的下界函数),最大,我们结合上面的例子带入:
这里同样默认了P(z=1)=P(z=2)=0.5 ,然后以第一次为例,
第一次P(z=1|Y, θ 1 θ_1 θ1)=0.5726,因为有3次正面,两次反面,所以P(Y|Z=1, θ θ θ)= P 1 3 ( 1 − P 1 ) 2 P1^3(1-P1)^2 P13(1P1)2
第一次P(z=2|Y, θ 1 θ_1 θ1)=0.4274,因为有3次正面,两次反面,所以P(Y|Z=2, θ θ θ)= P 2 3 ( 1 − P 2 ) 2 P2^3(1-P2)^2 P23(1P2)2
在这里插入图片描述
然后基本就是伯努利分布的最大似然估计了:
在这里插入图片描述
这里的最大值可以直接用求导就能求出最大值:以P1为例:
在这里插入图片描述
可以看出,30.5726就是我们上面说的第一次硬币1的正面次数,20.5726就是第一次硬币1的反面次数,
所以上面这个式子可以化简为:
在这里插入图片描述
其中m为五次投掷,硬币1正面的次数,n为反面的次数,这里具体的可以根据上面的查表看出,m=4.641662,n=4.345867
则能求出P1=0.516456和上面用直观做法做的完全一致

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值