1.高斯混合模型是由若干的基于高斯概率密度函数形成的模型
2.从几何角度,GMM是多个高斯分布叠加而成的加权平均的结果
3.从混合模型角度,每个样本是从某个高斯分布抽样得到的
4.直接利用MLE无法求解高斯混合模型,得利用EM算法求解GMM
5.假设K个高斯分布组成的GMM,求解参数有3K个:每个高斯分布的抽样概率,每个高斯分布的均值和协方差矩阵
高斯混合模型,英文是Gaussian Mixture Model,简称GMM。它是一个将事物分解为若干的基于高斯概率密度函数形成的模型,属于生成模型。
两个角度看GMM
我们可以从两个角度来理解GMM,第一个角度是几何角度,从这个角度看,GMM是多个高斯分布叠加而成的加权平均的结果。
假设由k个高斯分布叠加而成,某个样本x的概率分布为:
举一个例子
假设x是一维的数据,XX属于样本,红色曲线是真实的概率密度函数,对这些样本建模,可以生成两个高斯分布,对应两条概率密度蓝色曲线.
第二个角度是混合模型角度,它假设样本是从不同k个高斯分布生成的,每个样本是从某个高斯分布抽样得到的,抽中这K个高斯分布的概率不一样,我们用一个隐变量定义这种抽样概率大小,其是服从某种概率分布的离散随机变量:
显然,
生成过程分四步:选定某个状态隐变量Z;从该隐变量对应的高斯分布随机生成一个样本;重复上述过程m次;得到一共m个样本,这m个样本来自这K个高斯分布。
用概率图模型表示为:
我们求解一个样本的概率分布:
可见,与几何角度是一致的,权值就是隐变量的取值概率。
这里需要提出一点的是,任意一个样本x都可以属于K个高斯分布。我们把x归类为概率更高的那个隐变量对应的高斯分布。
比如下面是一个二维的高斯混合模型:
该模型由两个高斯分布混合而成,对于蓝色样本,它既可以从C1高斯分布抽样得到,又可以属于C2高斯分布抽样得到,显然,属于C1的概率更好,我们就认为该样本是从C1抽样的。
MLE求解GMM
如果有一堆样本x,我们希望求解GMM的参数。上一小节我们用p(x)表示一个样本的概率分布,这节我们用来表示m个样本的联合概率分布,构造似然函数:
应用MLE,最后要求解的参数是:
这种形式MLE无能为力,无法求得其参数解。需要用到EM算法
EM算法求解GMM
这节我们看看EM算法是如何求解GMM模型的。
注:传送门——EM算法
Em算法迭代公式:
E-step
高斯混合模型中,z是离散变量,于是我们有:
又因为
因此,Q可以化简为:
又因为
最终我们得到Q的表达式:
M-step
前面我们求出了期望,也就是求得隐变量的后验,我们要基于此,求解下一组参数:
说明:后验的参数均为第t次迭代结果,已知(红色框)
我们改写一下,可得:
求解pk,转为最优化问题:
构造拉格朗日乘子:
对pk求导并置为0:
从而
我们得到pk的迭代公式。
同样我们对均值和协方差构造拉格朗日函数求解,最终解得:
至此,GMM模型求解完成。