机器学习(7)-EM算法

最大似然估计

  • 在讲EM算法前,回顾下最大似然估计
    最大似然估计解决的问题是,在不知道参数θ的情况下,只有数据,要猜出参数θ。
    • 假设参数为θ
    • 那么在θ参数出现的情况下,出现样本 xi 的概率就是 p(xi|θ)
    • 考虑所有样本,计算最大值,进行累乘法: l(θ)=mi=1p(xi|θ)
    • 由于累乘计算难度比较大,加入一个对数转换为加法
      • 因为我们求得是最大值,即使加入对数也不会改变结果
      • logAB = logA + logB
      • 所以最大似然函数变成 l(θ)=logmi=1p(xi|θ)=mi=1logp(xi|θ)
    • 接下来只要知道 p(xi|θ) 的分布函数,就可以进行相关求解

EM算法解决什么问题

  • 如果存在隐含变量,最大似然函数就难以求解
    如:假设有两枚不均匀的硬币A和B,分别朝上和朝下的概率都不同,也就是不一定是0.5朝上,0.5朝下,要求这两个硬币的朝上和朝下的概率。
    每次投掷10次,但是每次的结果我们不知道来自哪一个硬币,这个就是隐含变量。结合最大似然函数就是 mi=1logzp(xi|θ)
    z 在此例子中表示两种情况,一种来自A,一种来自B,这样就难以求解。
  • em算法具体是怎么做的
    这里写图片描述
    0.随机或者根据经验假设初始值朝上的概率 θA θB
    1.E-step:根据参数θ计算每个样本属于 Zi 的概率,也就是这个样本是属于A还是属于B的概率
    2.M-Step:根据Q,求出含有θ的似然函数的下界并最大化它,得到新的参数θ
    3.不断的迭代更新下去

EM算法推导

Jensen不等式

  • 设f是定义域为实数的函数,如果对于所有的实数x。如果对于所有的实数x,f(x)的二次导数大于等于0,那么f是凸函数。
  • 如果f是凸函数,X是随机变量,那么:E[f(X)]>=f(E[X])

这里写图片描述

  • 如果是凹函数,则f(E[X])>=E[f(X)]
  • 把函数 logzp(xi|θ) 转换为Jensen不等式格式求解
    • logzp(xi|θ)=logzQ(z)p(xi|θ)Q(z)
    • Q(z) 表示z的分布函数
    • 由于 zQ(z)p(xi|θ)Q(z) p(xi|θ)Q(z) 的期望
    • 设Y= p(xi|θ)Q(z) 则有: logzQ(z)p(xi|θ)Q(z)=logYP(Y)Y=logE(Y)>=E(logY)
    • E(logY)=YP(Y)logY=zQ(z)logp(xi,z;θ)Q(z)
    • 结论: l(θ)=mi=1logzp(xi,z;θ)>=mi=1zQ(z)logp(xi,z;θ)Q(z)
    • 求下界的最大值,即左右相等的时候
    • Jensen中等式成立的条件是随机变量是常数: Y=p(x,z;θ)Q(z)=c
    • 由于Q(z)是z的分布函数: zQ(z)=zp(xi,z;θ)c=1
    • 由上面的式子得: c=zp(xi,z;θ)
    • Q(z)=p(xi,z;θ)c=p(xi,z;θ)zp(xi,z;θ)=p(xi,z;θ)p(xi;θ)=p(z|xi;θ)
    • Q(z)表示第i个数据来自 Zi 的概率
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值