高斯混合模型(GMM,GOM)

1.k-means聚类的缺点

        k-means聚类使用欧式距离为距离函数时,其二维本质是,以每个簇质心为圆心圈出来的一个一个圆圈。用这个圆将原始数据进行截断分类,但是实际数据分布不一定全是标准的圆形,还可能是椭圆等。这使得它对许多数据的分类拟合效果不尽如人意:

        1)类的形状不够灵活,拟合结果与实际相差较大,精度有限。

        2)样本对于是否属于每一个簇是确定的,即只有是与否,应用中缺少鲁棒性。

2.高斯混合模型

        基本思想:用多个高斯分布函数(正态分布)去近似任意形状的概率分布。将待聚类的数据点看成是分布的采样点,通过采样点利用类似极大似然估计的方法估计高斯分布的参数,求出参数(用EM算法求解)即得出了数据点对分类的隶属函数。

         GMM 的概率密度函数:

P\left ( x|\theta \right )=\sum_{k=1}^{K}P\left ( \theta_{k} \right )P\left ( x|\theta_{k} \right )

        其中;

        1)K 为模型的个数,即聚类的个数。

        2) P\left ( \theta_{k} \right ) 为数据样本属于第 k 个高斯分布的概率(先验分布,试验之前由相关知识得到的分布),其满足:

\sum_{k=1}^{K}P\left ( \theta_{k} \right )=1

        3)P\left ( x|\theta_{k} \right )为第 k 个高斯的概率密度,其中:

        \theta_{k}=\left ( u_{k},\sigma _{k}^{2} \right )

                u_{k} 为均值,\sigma _{k}^{2} 为方差。

        算法步骤:

        1)设置 k 的个数,即初始化高斯混合模型的成分个数。初始化每个簇的高斯分布参数。

        2)计算每个点属于每个高斯模型的概率。

        3)根据每个点和其属于每个高斯模型的概率,重新计算每个高斯模型的参数 \alpha _{k},\theta_{k}

        4)重复迭代计算步骤2)3)直到收敛。

        补充:

        1)前提假设数据样本服从高斯分布

        2)k-means是GMM的特例,即当GMM在所有维度的方差都一样的时候会呈现出圆形。

        3)GMM每次迭代的计算量要比k-means大很多,故可以先用k-means(重复多次取最优)得到初始聚类中心点,作为GMM的初始值进行迭代。

        

    

猜你喜欢

转载自blog.csdn.net/weixin_43284996/article/details/127349987