缺失数据em算法python_EM算法

更多:贝叶斯…

9.1 简单介绍

EM(Expectaion Maximization)算法(又称为期望最大化方法)是一种迭代算法,Dempster等人在1977年总结提出来的。简单来说EM算法就是一种含有隐变量的概率模型参数的极大似然估计。EM算法的每次迭代由两步组成:第一是求期望,第二是求极大。EM算法在机器学习中有极为广泛的应用。如常被用来学习高斯混合模型(Gaussian mixture model, 简称GMM)的参数。

那么什么是含有隐变量的概率模型?这里举一个常用的三硬币例子,假设我们有三枚硬币:A、B和C,他们的质地都是不均匀的,假设他们正面朝上的概率分别是:a、b和c。现在弄一个抛硬币的规则,先抛A硬币,如果A正面朝上,那么就抛B硬币,否则就抛C硬币。最后记下最终结果,正面朝上记为1,否则记为0。现在进行10次该实验,假如得到的结果如下: 1,0,0,1,1,1,0,1,0,0。这个时候我们其实只得到了最终的结果,并不知道是B还是C硬币的结果,因为不知道每次A硬币的结果。这个时候A硬币的抛掷就可以认为是一个隐含变量。但是问题是如何根据这个结果来估计这三个参数呢?

9.2理论推导

9.2.1 算法思想

在解决例子问题之前,我们先进行一些所谓枯燥的数学化定义,这样或许能帮助理解和记忆。

简单阐述就是:其实这里有两类变量,一类是隐变量,一类是待求的参数变量。那么普通的思路该怎么求这个参数变量呢?由上述阐述可以知道,如果我们事先知道了隐变量就能利用极大似然来估计参数,如果我们知道了参数,那么我们可以计算出隐变量集的期望。这里就形成了一个制约,只要我们给出隐变量的初始值就能通过迭代达到两类变量之间的平衡,也就是收敛。类似于我们在生活中的称重,如果要将一类物品分为两部分(比如糖果),在没有称的情况下,往往我们在左右手进行掂量(这就有点像两类变量),如果左手上重了就分点到右手上,否则,从右手上扒拉点分到左手,直到感觉两只手上重量差不多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值