【算法】Expectation Maximization EM算法

本文是徐亦达机器学习:Expectation Maximization EM算法的笔记。

上图中的三个高斯分布图,应该选择哪个theta来更好地解释数据。

理论上,也应该依次让\bar{\theta}_{M L E}依次对\mu_{1}, \ldots, \mu_{k}, \Sigma_{1}, \ldots, \Sigma_{k}, \alpha_{1},\ldots,\alpha_{k-1}求偏导,但是由于\bar{\theta}_{M L E}的公式,log里面有加号。数学上,会更喜欢log里面有乘号,因为logab=loga+logb。这时可以用一个迭代的方法来做,即EM算法。

EM算法大致的思想是,先用一个{\theta}_{1},从{\theta}_{1}推到{\theta}_{2},一直到最后的{\theta}_{f},直到收敛为止,就把{\theta}_{f}找出来了。

以下为{\theta}_{2}

以下为{\theta}_{3}

以下为{\theta}_{f}(已收敛),

由此发现高斯混合模型可以用来聚类。且其聚类时并不是一个hard clustering,而是一个soft clustering

隐变量加进去之后要简化模型的解法,同时还不能改变边缘分布,即

P(X_i)=\int_{Z_i} P(X_i \mid Z_i) P(Z_i) d Z_i

接下来可以把高斯混合模型试一下,看看是否改变了。在高斯混合模型的情况下,把Z_i指定为告诉你对应的数据,在哪个高斯的情况下,放在上述公式里是否会改变边缘分布。

P(Z_i)是怎么定的?每个Z_i属于第一个高斯分布还是第二个,它的概率是什么?它的概率是从权重\alpha _i而来的。

EM算法需要保证 \log P\left(X \mid \theta^{g+1}\right) \geqslant \log P\left(X \mid \theta^{g}\right) ,即在每一步的迭代后,下一步的log likelihood会增加。

接下来证明上图中右下角的部分。

接下来主要利用了凸函数的性质:

在以下证明中的第一个大于等于号,用函数的期望大于期望的函数,得证。

此时,EM的框架已经有了,如下:

此时只需要定义如上2个函数就可以用EM,接下来看把高斯混合模型放在EM框架下看怎么放。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值