本文共 2440 字,大约阅读时间需要 8 分钟。
提出混合模型主要是为了能更好地近似一些较复杂的样本分布,通过不断添加component个数,能够随意地逼近不论什么连续的概率分布。所以我们觉得不论什么样本分布都能够用混合模型来建模。由于高斯函数具有一些非常有用的性质。所以高斯混合模型被广泛地使用。
GMM与kmeans相似,也是属于clustering,不同的是。kmeans是把每一个样本点聚到当中一个cluster,而GMM是给出这些样本点到每一个cluster的概率。每一个component就是一个聚类中心。 GMM(Gaussian Mixture Model)高斯混合模型,由K个不同的Gaussian线性组合而成,每一个Gaussian是混合模型的一个component,GMM的概率密度函数例如以下:參数说明:N个样本点。K个component,μk,∑k 是第k个component的均值和协方差矩阵,是模型參数,是须要预计的。
πk是mixing coefficient,表示第k个component被选中的概率。πk=1N∑Nn=1znk,也是模型參数。须要预计。N是高斯(正态)分布。
对一个样本集建立高斯混合模型的过程,就是依据已知样本集X反推高斯混合模型的參数(μ,∑,π),这是一个參数预计问题。首先想到用最大似然的方法求解,也就是,要确定參数π,μ,∑使得它所确定的概率分布生成这些样本点的概率最大。这个概率也就是似然函数,例如以下:
考虑GMM生成一个样本点的过程,这里对每一个xi引入隐变量z,z是一个K维向量,如果生成xi时选择了第k个component,则zk=1,其它元素都为0。∑Kk=1zk=1.
如果z是已知的。则样本集变成了{X,Z},要求解的似然函数变成了:1,初始化一组模型參数π,μ,∑
2,E-step然而。其实z是不知道的。我们仅仅是如果z已知。
而z的值是通过后验概率观測。所以这里考虑用z值的期望在上述似然函数中取代z。
对于一个样本点x:将z值用期望取代。则待求解的log似然函数(*)式变为:
3,M-step
如今能够最大化似然函数求解參数了,首先对μ求偏导,令偏导等于0。可得:
接下来还需求解π。注意到π需满足∑Kk=1πk=1。所以这是一个带等式约束的最大值问题。使用拉格朗日乘数法。
构造拉格朗日函数:4,检查是否收敛
反复E-step和M-step两步。直到收敛,就可以求得一个局部最优解。GMM的建模步骤例如以下图(k=2,高斯分布是蓝色和红色圈):
主要參考资料:
《Pattern Recognization and Machine Learning》 帮助理解:本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5111355.html,如需转载请自行联系原作者