机器学习---算法基础(十)EM算法

EM算法概述

EM算法即期望最大化(Expection Maximization)算法。是一种迭代算法,作为一种数据添加算法,在现在的DL学习中经常见到。

隐变量

隐变量指的是不可观测的随机变量,我们通常通过可以观测的变量来对隐变量来进行推测。例如我们知道1000个人的身高体重,但是我们并不了解这些样本中的男女比例,对于男女比例来说就是一个隐变量。

EM算法的感性理解

EM算法的公式推导

对于EM算法简单的说可以理解为以下几步:

  • 预测非隐变量的参数(E)
  • 根据预测的非隐变量的参数,估算隐变量(M)
  • 根据预测出的隐变量再重新更新非隐变量。。。

目前存在以下的数据:

假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:
在这里插入图片描述其中使用哪种硬币就可以算作是隐变量。
我们首先假设两个硬币向上的概率为0.2和0.7。则在已知样本状况的情况下,在我们假设的概率下,发生的概率(可能性)如下所示:
在这里插入图片描述利用上面这个表,我们可以算出每轮抛掷中使用硬币1或者使用硬币2的概率。比如第1轮,使用硬币1的概率是:
0.00512/(0.00512+0.03087)=0.14
使用硬币2的概率是1-0.14=0.86
依次可以算出其他4轮的概率,如下:

在这里插入图片描述
上表中的右两列表示期望值。看第一行,0.86表示,从期望的角度看,这轮抛掷使用硬币2的概率是0.86。相比按照最大似然概率,直接将第1轮估计为用的硬币2,此时的我们更加谨慎,我们只说,有0.14的概率是硬币1,有0.86的概率是硬币2,不再是非此即彼。
这样我们在估计P1或者P2时,就可以用上全部的数据,而不是部分的数据,显然这样会更好一些。
这一步,我们实际上是估计出了z的概率分布,这步被称作E步。

我们按照期望最大似然概率的法则来估计新的P1和P2:

以P1估计为例,第1轮的3正2反相当于
0.143=0.42正
0.14
2=0.28反
依次算出其他四轮,列表如下:
在这里插入图片描述
P1=4.22/(4.22+7.98)=0.35
可以看到,改变了z值的估计方法后,新估计出的P1要更加接近0.4。原因就是我们使用了所有抛掷的数据,而不是之前只使用了部分的数据。
这步中,我们根据E步中求出的z的概率分布,依据最大似然概率法则去估计P1和P2,被称作M步。

EM算法公式推导

最大似然函数为:
在这里插入图片描述其中theta为我们所需要求的未知参数。
式(1)将p (xi) 用边缘分布列反向拆分为联合分布。

接下来,定义隐含变量Z的分布Qi:
在这里插入图片描述

我们在(1)式的 ln 里,分子分母同乘一个值,得到(2)式:
在这里插入图片描述
接下来需要利用到Jensen不等式和数学期望,在期望方程中,我们用到了
r)

如上公式。套用在(2)式中,我们定义为:
在这里插入图片描述
套用到Jensen不等式中,即为:
在这里插入图片描述

根据Jensen不等式,其中lnx为凹,公式如下:
在这里插入图片描述
接下来我们将(4)式展开,得到如下:
在这里插入图片描述

那么,我们可以得到L(θ) 和 (5) 的关系:
在这里插入图片描述
我们可以将(5)式看作是 θ 的函数,θ 又是概率模型中的参数,那么上式求得的左式,即为L(θ)的下界。
在这里插入图片描述

我们求θ的过程,可以看作图中右移的过程, 在给定θ之后,求Qi的过程,即为上移的过程。
在这里插入图片描述

EM算法的优势

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值