本章概要
GMM(高斯混合模型):一种概率模型,假设所有数据点由有限个参数未知的高斯分布混合生成。它是K-Means聚类的推广形式。
与K-Means的核心区别:K-Means只使用质心并最小化SSE;GMM使用质心和协方差矩阵来最大化对数似然函数。GMM可以描述不同大小、形状和方向的簇。
贝叶斯视角:GMM与贝叶斯分类和高斯判别分析密切相关。它使用贝叶斯定理计算后验概率p(Ck|x)进行软聚类。
21.1 高斯混合模型原理
🎯 核心思想
GMM使用多个高斯分布来估计样本数据的分布。 每个高斯分布称为一个分量(component),描述一个簇。
• μₖ = 均值向量(质心)
• Σₖ = 协方差矩阵(形状和方向)
高斯混合模型可视化
用多个高斯分布的叠加描述数据分布
概率密度函数 (PDF)
参数说明
🔑 核心思想
fₓ(x) = Σₖ p(Cₖ) · f(x|Cₖ)
样本属于簇Cₖ的概率
在簇Cₖ内的条件概率分布
📊 步骤说明
- 添加第1个高斯分量
- 添加第2个高斯分量
- 添加第3个高斯分量
- 叠加得到混合分布
💡 GMM vs K-Means:K-Means只用质心μₖ,假设各簇大小形状相同(球形); GMM用μₖ和σₖ(或Σₖ),可以描述不同大小、形状、方向的簇。 GMM是K-Means的概率化推广,通过EM算法迭代优化参数θ, 最大化对数似然函数,而非最小化SSE。
📐 贝叶斯框架
fₓ(x) = Σₖ p(Cₖ) · f(x|Cₖ)
联合概率 = 先验 × 似然
f(Cₖ, x) = p(Cₖ) · f(x|Cₖ)
p(Cₖ|x) = [p(Cₖ) · f(x|Cₖ)] / Σⱼ[p(Cⱼ) · f(x|Cⱼ)]
对于无监督学习,样本标签未知。 在GMM迭代过程中,似然f(x|Cₖ)和先验p(Cₖ)都会不断估计和更新,直到收敛。
后验概率曲面
可视化贝叶斯决策边界
选择一个簇
贝叶斯决策规则
🎯 决策准则
ŷ = argmaxk p(Ck|x)
将样本x分配到后验概率最大的簇。 比较p(C₁|x)、p(C₂|x)、p(C₃|x),选最大者。
p(C1|x) = [α1 · N(x|μ1, Σ1)] / f(x)
• N(x|μ1, Σ1) = 似然函数
• f(x) = 证据因子(归一化)
p(C2|x) = [α2 · N(x|μ2, Σ2)] / f(x)
• N(x|μ2, Σ2) = 似然函数
• f(x) = 证据因子(归一化)
p(C3|x) = [α3 · N(x|μ3, Σ3)] / f(x)
• N(x|μ3, Σ3) = 似然函数
• f(x) = 证据因子(归一化)
🔍 决策边界
p(Ci|x) = p(Cj|x) 的点集
💡 与K-Means对比
硬分类,只看到距离最近的质心
软分类,计算对所有簇的概率
📈 后验概率的意义:后验概率p(Cₖ|x)表示"在观测到样本x的情况下,x属于簇Cₖ的概率"。 它综合了先验知识p(Cₖ)和数据证据f(x|Cₖ)。 后验概率高的区域形成各簇的"势力范围",边界处概率相等。 EM算法不断更新参数θ,使后验概率分布更准确地反映数据的真实结构。
21.2 四种协方差矩阵类型
🔍 协方差矩阵决定高斯形状
多元高斯分布f(x|Cₖ) = N(μₖ, Σₖ)由协方差矩阵Σₖ决定。 sklearn.mixture支持四种协方差类型,具有不同的假设和决策边界。
→ 线性决策边界
→ 圆弧边界
→ 轴对齐二次曲线边界
→ 任意二次曲线边界
四类协方差矩阵对比
不同协方差假设产生不同的决策边界
GMM聚类可视化 - Full (完全)
参数特性
Full (完全)
Σₖ 无限制任意椭圆(各簇不同)
任意圆锥曲线
第六类GDA
🔍 详细解释
📈 复杂度对比
K=簇数, D=特征维度。参数越多,模型越灵活,但计算量越大。
⚖️ 选择建议
🎯 K-Means是GMM特例:K-Means相当于spherical且σ₁=σ₂=σ₃的极限情况。 GMM通过不同协方差假设,可以适应各种簇形状:从球形到任意椭圆。 选择合适的协方差类型,需要在模型灵活性和计算复杂度之间权衡, 通常用AIC/BIC准则进行选择。
💡 K-Means是GMM的特例
K-Means可以看作GMM的特例,所有簇共享相同的对角协方差矩阵且对角元素相等:Σₖ = σ²I(对所有k)。 这意味着所有簇都是具有相同半径的球形。GMM通过允许不同的协方差矩阵来推广这一点,使得簇可以具有不同的大小、形状和方向。
21.3 选择分量数量
📊 AIC和BIC准则
与K-Means类似,GMM需要指定分量数量K。 使用信息准则AIC和BIC来选择最优的K和协方差类型。
AIC = -2ln(L) + 2K惩罚较小,倾向复杂模型
BIC = -2ln(L) + K·ln(n)惩罚较大,倾向简单模型
L = 似然函数,K = 参数数量,n = 样本量。 两者都遵循越小越好的原则。BIC惩罚随样本量增长,对过拟合更保守。
AIC/BIC模型选择
确定最优分量数K和协方差类型
L=似然函数,K=参数数量
惩罚项: 2K
AIC值对比(越小越好)
模型评分详情
✨ 最优模型
📊 评分排行
⚖️ AIC vs BIC
惩罚项2K较小,倾向选择复杂模型
惩罚项K·ln(n)更大,倾向简单模型
🎯 选择策略
类似肘部法则,找到AIC下降趋缓的位置
在相同K下,选择AIC最小的协方差类型
参数多的模型灵活但易过拟合,需要惩罚项约束
📐 信息准则的作用:AIC和BIC都基于最大似然估计,同时考虑模型拟合度(-2ln L)和复杂度惩罚。 似然函数L越大,模型拟合越好,-2ln L越小;但参数越多,惩罚项越大。 两者权衡找到最优模型。对于GMM,需要同时选择分量数K和协方差类型, AIC/BIC提供了系统的比较框架。通常BIC选出的模型更简洁,AIC更灵活。
21.4 硬聚类 vs 软聚类
🎭 分类中的不确定性
后验概率p(Cₖ|x)等同于隶属度分数。 硬聚类分配明确标签;软聚类为不确定样本设置缓冲区。
ŷ = argmax p(Cₖ|x)在p = 0.5处有明确边界
if p(Cₖ|x) > 阈值不确定带 [0.3, 0.7]
软聚类 vs 硬聚类
决策边界与不确定性区域
散点图可视化
成员值分布
🔵 硬聚类 (Hard Clustering)
argmaxk p(Ck|x)
需要明确分类标签的应用
🟣 软聚类 (Soft Clustering)
if p(Ck|x) > threshold: assign to Ck
else: uncertain
异常检测、主动学习、置信度要求高的应用
🎭 软聚类的优势:GMM天然支持软聚类,因为它输出的是后验概率p(Cₖ|x)而非硬标签。 当后验概率接近0.5时,说明样本在两簇的边界附近,分类不确定性高。 软聚类通过设置阈值(如[0.3, 0.7]),将这部分样本标记为"不确定", 避免强行分类带来的错误。这在医疗诊断、金融风控等对错误敏感的领域特别重要。 不确定区域的样本可以人工审核或收集更多特征后再决策。
⚡ 软聚类的应用
软聚类保留了分类不确定性信息, 避免强制分类错误。在对错误敏感的领域尤为重要。
本章总结
核心要点
🎯 核心概念
- • GMM:高斯分布的混合
- • 分量:每个高斯描述一个簇
- • 参数θ:{αₖ, μₖ, Σₖ},k=1...K
- • 贝叶斯视角:先验 × 似然 = 联合概率
- • 后验:p(Cₖ|x)用于分类
- • EM算法:迭代参数优化
📐 关键公式
fₓ(x|θ) = Σₖ αₖ · N(x|μₖ, Σₖ)p(Cₖ|x) = αₖ·f(x|Cₖ) / Σⱼ αⱼ·f(x|Cⱼ)-2ln(L) + 2KBIC:
-2ln(L) + K·ln(n)🔗 与下一章的联系
本章介绍了GMM,但没有详细说明参数θ如何迭代优化。第22章将重点讲解EM(期望最大化)算法, 解释E步骤(计算后验)和M步骤(更新参数)。 EM是一个通用的优化框架,不仅适用于GMM,还适用于隐马尔可夫模型和缺失数据问题。