高斯分布有很多重要的性质,但是用它来描述现实中的数据的话,它还是有很多局限的。如果将这些简单的分布线性组合,就可以更好的描述实际数据的性质了,这样的模型便被称为混合模型。最常用和最流行的混合模型就是高斯混合模型GMM(Gaussian Mixture Model )。如果用足够多的高斯分布,调整其期望和协方差矩阵,以及线性组合的系数,就可以精确的表述任何连续分布。
1). 有K个高斯分布的高斯混合模型,可以表示为:
其中每个高斯分布被称为一个component,参数被称为混合系数,为了计算和分析的方便通常被正则化为:
如果把看做是能取到第k个component的先验概率,看做是第k个component中发生x的条件概率,那么根据贝叶斯定理,发生x之后,推断其属于第k个component的后验概率为:
2) 高斯混合模型的最大似然
想要确定中的参数 ,很容易想到用最大似然法。
但是这个log likelihood方程并不是很好解,因为需要在对数里面求和。于是一个优雅而强大的解决此问题的方法诞生了:期望最大化法EM(Expectation-Maximization)
3) 用EM法求高斯混合模型的参数
3.1)首先求解。把看做是的方程,令式(4)的导数等于0,可得:
两边同乘以,可得:
其中
3.2) 同理将看做是的方程,令式(4)的导数等于0
3.3) 求. 将看做是的方程,由于,在这里引入拉格朗日乘子,令
的导数等于0,可得
两边同乘以,且令,可得
然后有了式(6)(7)(9),并不能直接求出这些参数,因为中同时包含这些未知量,这就引导我们通过一种迭代的方式来求解,这就是期望最大法。首先设定一些的初始值,然后通过迭代不断的更新这些值,直到收敛。
高斯混合模型的的最大期望法
1. 选择期望,协方差矩阵,混合系数的初始值,可以任意,但是通常可以先经过k-means得到一个较为理想的初始值,可以有效的减少迭代次数。
2. E step。计算每个变量属于哪个component的后验概率。
3. M step。根据计算的后验概率,计算每个component的参数:
4. 检查似然函数
是否收敛,如果不是重复第二步。