【西瓜书笔记03】EM算法与混合高斯模型
参考资料:
1.EM算法与混合高斯模型
2.高斯混合模型GMM及其EM算法解
思路关键点:
1.强调混合高斯模型的表示方面,系数和为1,这是GMM模型的标志
2.为什么用EM算法来解GMM模型,而不是常见的最大似然算法??
答:
这个问题的核心在于:
最大似然算法的思路在于:我们已经知道样本集合中各个样本来自哪个高斯模型,要利用极大似然估计求解模型最重要的一步就是求出似然函数,即样本集出现的联合概率。显然我们得先知道这个样本来源于哪一类高斯模型,然后求这个高斯模型生成这个样本的概率p。
而实际情况是:我们只有样本集合。不知道其中每个样本到底来源于哪一类的高斯模型。
我们当然可以对每个样本引入一个隐变量γ来表示其来自哪一类高斯模型(γ 为只有一个值为1,其余值为0的向量),但是这样的似然函数表示,当准备按最大似然算法的套路:取了对数,求偏导等于0来解出高斯模型的参数时会发现下式这种形式实际上没有办法通过求导的方法来求这个对数似然函数的最大值。因此才采用了EM算法来解决。
这个图总结的很好:
3.EM算法也是沿用的解对数似然函数的方式,那它是怎么解决求偏导的问题的??
答:
前面说到了,之所以不能利用最大似然函数的方法来计算,就是因为隐变量γ 的存在。
E步
猜想我们给了一组高斯模型的起始参数,也就是说每一个高斯分布的参数我们都有了,γ 做的事不就是决定每个样本由哪一个高斯分布产生的嘛,有了每个高斯分布的参数那我们就可以猜想每个样本最有可能来源于哪个高斯分布。
因此我们基于给定的高斯模型初始参数,基于下面的公式能够得出γ 的值:
M步
然后,我们就可以将得到的γ 作为已知值,这样就解决了因为隐变量γ的存在而无法通过求偏导得到模型参数的情况。
我们将γ带入下面的式子,就可以得到模型的各个参数:
而后进行循环迭代,互相更新,直到满足停止条件。