GMM高斯混合模型

作者: 9933fdf22087 | 来源:发表于2019-07-12 17:17 被阅读61次

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

    公式解说:
    GMM的概率密度函数: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(x | k)=N\left(x | u_{k}, \Sigma_{k}\right)是第k个高斯模型的概率密度函数,指的是选定第k个模型后产生x的概率,p(k)=\pi_{k}是第k个高斯模型的权重,称作选择第k个模型的先验概率,且满足\sum_{k=1}^{K} \pi_{k}=1

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

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

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

    相关文章

      网友评论

        本文标题:GMM高斯混合模型

        本文链接:https://www.haomeiwen.com/subject/usuykctx.html