本文是徐亦达机器学习:Expectation Maximization EM算法的笔记。
上图中的三个高斯分布图,应该选择哪个theta来更好地解释数据。
理论上,也应该依次让依次对
求偏导,但是由于
的公式,log里面有加号。数学上,会更喜欢log里面有乘号,因为logab=loga+logb。这时可以用一个迭代的方法来做,即EM算法。
EM算法大致的思想是,先用一个,从
推到
,一直到最后的
,直到收敛为止,就把
找出来了。
以下为,
以下为,
以下为(已收敛),
由此发现高斯混合模型可以用来聚类。且其聚类时并不是一个hard clustering,而是一个soft clustering。
隐变量加进去之后要简化模型的解法,同时还不能改变边缘分布,即
接下来可以把高斯混合模型试一下,看看是否改变了。在高斯混合模型的情况下,把指定为告诉你对应的数据,在哪个高斯的情况下,放在上述公式里是否会改变边缘分布。
是怎么定的?每个
属于第一个高斯分布还是第二个,它的概率是什么?它的概率是从权重
而来的。
EM算法需要保证 ,即在每一步的迭代后,下一步的log likelihood会增加。
接下来证明上图中右下角的部分。
接下来主要利用了凸函数的性质:
在以下证明中的第一个大于等于号,用函数的期望大于期望的函数,得证。
此时,EM的框架已经有了,如下:
此时只需要定义如上2个函数就可以用EM,接下来看把高斯混合模型放在EM框架下看怎么放。