混合高斯模型(转)学习笔记

标签:
gmmem |
分类: Concept |
版权声明:本文为CSDN博主「林立民爱洗澡」的原创文章,遵循 CC 4.0 BY-SA
版权协议,转载请附上原文出处链接及本声明。
详解EM算法与混合高斯模型(Gaussian mixture model, GMM)
1 单高斯模型(Gaussian single model, GSM)
μ和σ2 分别是高斯分布的均值和方差
一维高斯分布的概率密度函数如下:
图0:
譬如将男生身高视为变量X, 假设男生的身高服从高斯分布,女生亦如此。
只是男女生身高分布可能具有不同的均值和方差。
图1是从谷歌图库中搜索到的男女生身高分布图,四个记号分别表示0~3σ准则。
图1
多维变量X=(x1,x2,...xn)的联合概率密度函数为:
图1.1
其中:
d:变量维度。对于二维高斯分布,有d=2;
u: 图1.2

各维变量的均值;
Σ:协方差矩阵,描述各维变量之间的相关度。对于二维高斯分布,有:
2 混合高斯模型(Gaussian mixture model, GMM)
图5
假设混合高斯模型由K个高斯模型组成(即数据包含K个类),则GMM的概率密度函数如下:
公式3
其中,p(xk)=N(xuk,Σk)是第k个高斯模型的概率密度函数,可以看成选定第k个模型后,该模型产生x的概率;
p(k)=πk 是第k个高斯模型的权重,称作选择第k个模型的先验概率,且满足∑πK (k=1,k) =
1
3 极大似然估计(Maximum Likehood Estimate,
MLE)(最大化对数似然函数)
单高斯分布求解:最大化对数似然函数(log-likelihood function)
似然函数数学化:设有样本集Y=y1,y2...yN。p(ynμ,Σ )是高斯分布的概率分布函数,表示变量Y=yn的概率。
假设样本的抽样是独立的,那么我们同时抽到这N个样本的概率是抽到每个样本概率的乘积,也就是样本集Y的联合概率。此联合概率即为似然函数:
公式4:
对式子(4)进行求导并令导数为0(即最大化似然函数,一般还会先转化为对数似然函数再最大化),所求出的参数就是最佳的高斯分布对应的参数。
所以最大化似然函数的意义就是:通过使得样本集的联合概率最大来对参数进行估计,从而选择最佳的分布模型。
4 EM算法(最大化Q函数)
极大似然估计与EM算法适用问题分析
图9 极大似然估计适用问题:
图10 EM算法适用问题:
而如果我们要求解的是一个混合模型,只知道混合模型中各个类的分布模型(譬如都是高斯分布)和对应的采样数据,而不知道这些采样数据分别来源于哪一类(隐变量),那这时候就可以借鉴EM算法。
EM算法可以用于解决数据缺失的参数估计问题(隐变量的存在实际上就是数据缺失问题,缺失了各个样本来源于哪一类的记录)。
4.2 E-step(expectation-step,期望步)
对γ来一个估计:γ做的事就是决定每个样本由哪一个高斯分布产生
Q函数:
Q函数描述的其实就是在给定(μi,Σi,πi) 参数下,
先对样本Y做一个最有可能的划分(每个样本来源于各个类的可能性,即对γ 的估计E(γt,kyt,μi,Σi,πi)
,再描述能够产生这组样本的可能性(Q函数);
有了对于γ 的估计之后,Q函数只和样本有关(传统意义上的似然函数亦如此,完全数据的似然函数还与γ
有关),而不再含有隐变量,从而使得最大化Q函数成为可能;
最大化Q函数的过程实则就是使得能够产生这组样本的可能性最大,与最大化似然函数的思路如出一辙。
4.3 M-step(Maximization-step,最大化步)
对Q函数进行求导,并另其导数为0
图11 EM算法参数优化过程:
第1类模型(左边)主要优化的是模型均值(即椭圆的中心),
第二类模型(右边)主要优化的是模型协方差矩阵(即椭圆的长轴、短轴和长短轴的方向)。
然后重复进行E-step和M-step,直到参数(μ,Σ,π) 收敛。
参数π :
它描述的是各个高斯分布所占的比重,如果不加“歧视”的话(样本来源于各个高斯分布的可能性一致),则有πk=1/K
, 而如果对于某一类高斯分布(即为i)有侧重的话,则相应的πi 较大,
体现在图11中就是被分配给各个类的样本数占样本总数的比例。
如果一轮优化后,某一类高斯分布又接纳了更多样本,则其πi
变大,反之变小(所以图11从绿色椭圆调整为红色椭圆实际上两个类所对应的权重也被优化了)。
而从本质上来看参数π ,则是为了混合高斯模型能有更好的曲面拟合能力。
当参数π 退化为某一类高斯分布的权重远远大于其他类高斯分布的时候,混合高斯模型就退化成了单高斯模型!
5 总结
图12 高斯分布参数估计逻辑流程:
图13 混合高斯分布参数估计逻辑流程:
前一篇:正态分布/高斯分布概念