高斯混合模型
简述:高斯混合模型是一种常见的聚类算法,与K均值算法类似,同样使用了EM算法进行迭代。高斯混合模型假设每个簇的数据都是符合高斯分布的,当前数据呈现的分布就是各个簇的高斯分布叠加在一起的效果,可用多个高斯分布函数的线性组合来对数据分布进行拟合。理论上,高斯混合模型可以拟合出任意类型的分布。
公式解说:
GMM的概率密度函数:
其中是第k个高斯模型的概率密度函数,指的是选定第k个模型后产生x的概率,
是第k个高斯模型的权重,称作选择第k个模型的先验概率,且满足
。
GMM的意义:
比如一个班级所有同学的身高可以看作一个高斯分布,但是,一个高斯分布难免会欠拟合。所以,将维度变为2,拆分为男女两部分数据,用两个高斯模型共同拟合,这样拟合出来的分布才会更符合真实的数据分布。
GMM的参数求解:(EM算法)
待求解参数:均数,方差
,权重
。
步骤:
①确定K值,随机初始各个参数值;
②E步:根据当前参数,计算每个点由某个分模型生成的概率;
③M步:E步估计出的概率越大,则相对应的模型权重越大,用此作为权重来计算加权的均值和方差来替代其原本的均值和方差;
④重复E步M步直至均值、方差收敛。
E步中计算概率的方法是:
其中K是单高斯分布的个数,N是观测值的数目。在确定所有单个高斯分布之后,可以计算单个高斯分布下观测值
发生的概率与观测值
在整个分布上发生的概率的比值。这个歌比值
指的是第k个高斯分布对观测值
发生概率的贡献。单个高斯分布对整个GMM的贡献可以表示为:
高斯混合模型与K均值算法:
1.共同点:
①可用于聚类的算法;
②都需要指定K值;
③都是需要使用EM算法来求解;
④都往往只能收敛于局部最优。
2.GMM相比于K均值算法的优点是:
①可以给出一个样本属于某一类的概率是多少,而不是绝对的属于哪一类;
②不仅仅可以用于聚类,还可以用于概率密度的估计;
③可以用于生成新的样本点。
④多维的时候,高斯混合模型需要计算协方差,考察不同维度之间的相互约束关系。