公式:

应用:高斯混合模型本质是用多个高斯分布叠加,去拟合任意复杂的数据分布,常用来做聚类、密度估计、数据生成、异常检测等:

第一步:基本认识“高斯模型”:从“一个高斯”开始

什么是高斯分布?

高斯分布就是正态分布,也就是我们常说的钟形曲线

想象一下你们班的身高分布:

  • 大部分同学的身高都在平均值附近(比如165cm)

  • 特别矮和特别高的人都很少

画成图就是中间高、两边低的钟形曲线——这就是高斯分布。

一个高斯分布只能描述“一群”数据,比如全班同学的身高。

第二步:为什么需要“多个高斯”?

现在想象一个更复杂的场景:

你们学校有男生女生,你想用身高数据来建模。

  • 男生的身高平均值是 170cm(一个高斯分布)

  • 女生的身高平均值是 160cm(另一个高斯分布)

如果你只用一个高斯分布去拟合所有数据,你会得到一条扁平的、不太准确的曲线。

但如果你用两个高斯分布(一个代表男生,一个代表女生),然后把它们混合起来,就能完美描述整体分布。

这就是高斯混合模型的本质:用多个简单的高斯分布,组合成一个复杂的分布。

第三步:混合模型概念与核心要素

1.什么是混合模型,K是什么意思?

这里出现一个新概念“混合模型”

混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型,换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。混合模型不要求观测数据提供关于子分布的信息,来计算观测数据在总体分布中的概率。(上述定义来源于:(4 封私信 / 4 条消息) 高斯混合模型(GMM) - 知乎

我认为这里的混合,它描述的是一种数据生成方式——数据并非来自单一的一个“源头”,而是来自多个不同的“源头”的叠加。

例如,假设我们需要在一个教室里测量所有人的身高。

  • 如果教室里只有大学生,身高分布大致是一个钟形曲线(单一高斯分布)。

  • 但如果教室里既有小学生,又有大学生,还有篮球运动员,那么总体的身高直方图看起来会有几个“驼峰”

这里的“混合”就是指:总体的概率分布是由几个不同的子分布(高斯分布)按照一定比例组合而成的。 你无法用一个简单的“平均值”来描述这个群体,因为这是一个“混合群体”。这里这个K,我理解为组成高斯分布的子集。

第四步:高斯混合模型是什么样子,对应的参数意义是什么?

1.高斯模型的公式

基于上述分析,我们知道高斯混合模型可以认为是多个高斯模型“组合而成”,公式如下:

2.混合模型的三个要素与特征(具体的参数表示什么意思?)

假设我们有 2 个高斯分布(K=2):

(1)每个高斯有自己的“位置”和“形状”

  • 均值 (μ):这个高斯分布的中心在哪里

    • 比如:男生中心在 170cm

  • 协方差 (Σ):这个分布的“胖瘦”和“形状”

    • 比如:男生的身高变化范围是多大

(2) 每个高斯有“权重” (π)

  • 代表这个高斯分布有多“重要”

  • 比如:学校有 60% 是男生(π₁=0.6),40% 是女生(π₂=0.4)

  • 所有权重加起来等于 1

(3)每个数据点有“归属概率”

  • GMM 不直接说“这个人是男生”

  • 它说:“这个人有 80% 的概率是男生,20% 的概率是女生”

这就是软聚类——不是非黑即白,而是概率化的判断。

第五步:用“学生分组”的类比来理解 EM 算法

如何计算高斯混合模型的参数呢?对于每个观测数据点来说,事先并不知道它是属于哪个子分布。所以借助 EM算法(Expectation-Maximization Algorithm,期望最大化算法)

(EM 算法:机器学习 01高斯混合模型(Gaussian Mixture Model:GMM)_EM算法-CSDN博客

假设你是老师,看到一个班级的学生(数据点),但不知道谁是男生谁是女生(隐藏信息)。你想估计:

  • 男生的平均身高

  • 女生的平均身高

  • 男女生各占多少比例

声明:上述内容借助网络资料与ai整理,仅供个人学习并记录,欢迎讨论,敬请批评指正!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐