0%

高斯混合模型

简述: 高斯混合模型是一种常见的聚类算法,与K均值算法类似,同样使用了EM算法进行迭代。高斯混合模型假设每个簇的数据都是符合高斯分布的,当前数据呈现的分布就是各个簇的高斯分布叠加在一起的效果,可用多个高斯分布函数的线性组合来对数据分布进行拟合。理论上,高斯混合模型可以拟合出任意类型的分布。

公式解说:
GMM的概率密度函数:p(x)=k=1Kp(k)p(xk)=k=1KπkN(xuk,Σk)p(x)=\sum_{k=1}^{K} p(k) p(x | k)=\sum_{k=1}^{K} \pi_{k} N\left(x | u_{k}, \Sigma_{k}\right)
其中p(xk)=N(xuk,Σk)p(x | k)=N\left(x | u_{k}, \Sigma_{k}\right)是第k个高斯模型的概率密度函数,指的是选定第k个模型后产生x的概率,p(k)=πkp(k)=\pi_{k}是第k个高斯模型的权重,称作选择第k个模型的先验概率,且满足k=1Kπk=1\sum_{k=1}^{K} \pi_{k}=1

GMM的意义:
比如一个班级所有同学的身高可以看作一个高斯分布,但是,一个高斯分布难免会欠拟合。所以,将维度变为2,拆分为男女两部分数据,用两个高斯模型共同拟合,这样拟合出来的分布才会更符合真实的数据分布。

GMM的参数求解:(EM算法)
待求解参数:均数μ\mu,方差Σ\Sigma,权重πk\pi_{k}
步骤:
①确定K值,随机初始各个参数值;
②E步:根据当前参数,计算每个点由某个分模型生成的概率;
③M步:E步估计出的概率越大,则相对应的模型权重越大,用此作为权重来计算加权的均值和方差来替代其原本的均值和方差;
④重复E步M步直至均值、方差收敛。
E步中计算概率的方法是:
zki=gk(xiμk,Σk)k=1Kgk(xiμk,Σk)(k=1,2,,K;i=1,2,,N)z_{k}^{i}=\frac{g_{k}\left(\boldsymbol{x}_{i} | \boldsymbol{\mu}_{k}, \Sigma_{k}\right)}{\sum_{k=1}^{K} g_{k}\left(\boldsymbol{x}_{i} | \boldsymbol{\mu}_{k}, \Sigma_{k}\right)}(k=1,2, \cdots, K ; i=1,2, \cdots, N)
其中K是单高斯分布的个数,N是观测值的数目。在确定所有单个高斯分布之后,可以计算单个高斯分布gk(μk,Σk)g_{k}\left(\boldsymbol{\mu}_{k}, \Sigma_{k}\right)下观测值xix_i发生的概率与观测值xix_i在整个分布上发生的概率的比值。这个歌比值zkiz^i_k指的是第k个高斯分布对观测值xix_i发生概率的贡献。单个高斯分布对整个GMM的贡献可以表示为:zk=i=1Nzkiz_{k}=\sum_{i=1}^{N} z_{k}^{i}

高斯混合模型与K均值算法:
1.共同点:
①可用于聚类的算法;
②都需要指定K值;
③都是需要使用EM算法来求解;
④都往往只能收敛于局部最优。
2.GMM相比于K均值算法的优点是:
①可以给出一个样本属于某一类的概率是多少,而不是绝对的属于哪一类;
②不仅仅可以用于聚类,还可以用于概率密度的估计;
③可以用于生成新的样本点。
④多维的时候,高斯混合模型需要计算协方差,考察不同维度之间的相互约束关系。

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道