高斯混合模型 GMM —— 聚类

来源:互联网 发布:守望先锋安娜技能数据 编辑:程序博客网 时间:2024/05/27 00:56
混合模型:通过密度函数的线性合并来表示未知模型。
为什么提出混合模型,那是因为单一模型与实际数据的分布严重不符,但是几个模型混合以后却能很好的描述和预测数据。

高斯混合模型(GMM),说的是把数据可以看作是从数个高斯分布中生成出来的。
Mixture Model 本身其实也是可以变得任意复杂的,通过增加 Model 的个数,我们可以任意地逼近任何连续的概率密度分布。 

更一般地,GMM认为数据是从K个高斯函数组合而来的,即 

隐含K个高斯函数,K需要首先确定好。 
      如何估计未知参数我们首先得分析以下最大似然估计: 

由于在对数函数里面又有加权和,我们没法直接用求导解方程的办法直接求得最大值。为了解决这个问题,采用了EM方法
将求解分为两步:第一步是假设我们知道各个高斯模型的参数(可以初始化一个,或者基于上一步迭代结果),去估计每个高斯模型的权值;第二步是基于估计的权值,回过头再去确定高斯模型的参数。重复这两个步骤,直到波动很小,近似达到极值(注意这里是个极值不是最值,EM算法会陷入局部最优)。



GMMk-means其实是十分相似的,区别仅仅在于对GMM来说,我们引入了概率

统计学习的模型有两种,一种是概率模型,一种是非概率模型。所谓概率模型,就是指我们要学习的模型的形式是P(Y|X);而非概率模型,就是指我们学习的模型是一个决策函数Y=f(X)。

GMM,学习的过程就是训练出几个概率分布,所谓混合高斯模型就是指对样本的概率密度分布进行估计,而估计的模型是几个高斯模型加权之和(具体是几个要在模型训练前建立好)。每个高斯模型就代表了一个类(一个Cluster)。对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率。然后我们可以选取概率最大的类所为判决结果。

 最后总结一下,用GMM的优点是投影后样本点不是得到一个确定的分类标记,而是得到每个类的概率,这是一个重要信息。GMM每一步迭代的计算量比较大,大于k-meansGMM的求解办法基于EM算法,因此有可能陷入局部极值,这和初始值的选取十分相关了。