高斯混合模型(Gaussian Mixed Model,GMM)也是常见的聚类算法。使用EM算法进行迭代计算。高斯混合模型假设了每个簇的数据符合正态分布(高斯分布),当前的数据分布就是各个簇的高斯分布叠加在一起。
当数据明显无法使用一个正态分布拟合的时候,这时候我们就需要推广到多个正态分布的叠加,然后进行数据的拟合,这就是所谓的高斯混合模型,即采用多个正态分布函数的线性组合进行数据分布拟合,理论上,高斯混合模型可以拟合出任意类型的分布。
我们假设同一类的数据符合正态分布,不同簇的数据符合各自不同的正态分布。 我们需要计算每个正态分布的参数,均值
和方差
。我们还为每个正态分布添加一个参数
代表权重,或者说生成数据的概率。
高斯混合模型是生成式的模型,例如,一种最简单的情况。存在两个一维正态分布的分模型为N(0,1)和N(5,1),权重分别为0.7和0.3。那么生成第一个数据点的时候,先按照权重的比例,随机选择一个分布,然后根据分模线参数进行随机生成,之后第二...,直到生成所有的数据点。
一般情况下,我们无法直接得到高斯混合模型的参数,而是观察一些数据点,给定一个大概的类别数量K,然后求出最佳的K个正态分布模型。因此,我们需要计算的是最佳的均值
,方差
和权重
。
如果使用最大似然求解,必将极其复杂,因此我们使用EM算法。
本文分享自 Python与MySQL 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!