GMM 是 Gaussian Mixture Model(高斯混合模型) 的简称,它是一种用于数据聚类和概率密度估计的统计模型。GMM 假设数据分布是由多个高斯分布(正态分布)的加权组合构成的。
核心概念
-
混合模型
GMM 是一种混合模型,表示总体分布是多个子分布的线性组合:
p ( x ) = ∑ k = 1 K π k ⋅ N ( x ∣ μ k , Σ k ) , p(x) = \sum_{k=1}^{K} \pi_k \cdot \mathcal{N}(x \mid \mu_k, \Sigma_k), p(x)=k=1∑Kπk⋅N(x∣μk,Σk),其中:
- K K K:混合分布的数量,即高斯分布的个数(称为"聚类的数量")。
- π k \pi_k πk:每个高斯分布的权重,满足 ∑ k = 1 K π k = 1 \sum_{k=1}^{K} \pi_k = 1 ∑k=1Kπk=1。
- N ( x ∣ μ k , Σ k ) \mathcal{N}(x \mid \mu_k, \Sigma_k) N(x∣μk,Σk):第 k k k 个高斯分布,其均值为 μ k \mu_k μk,协方差矩阵为 Σ k \Sigma_k Σk。
-
高斯分布(正态分布)
每个高斯分布的概率密度函数为:
N ( x ∣ μ , Σ ) = 1 ( 2 π ) d / 2 ∣ Σ ∣ 1 / 2 exp ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) , \mathcal{N}(x \mid \mu, \Sigma) = \frac{1}{(2\pi)^{d/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x - \mu)^T \Sigma^{-1} (x - \mu)\right), N(x∣μ,Σ)=(2π)d/2∣Σ∣1/21exp(−21(x−μ)TΣ−1(x−μ)),其中 d d d 是数据的维度。
-
软聚类
GMM 通过计算数据点属于每个高斯分布的概率(责任)来进行软聚类,而不像 K K K-means 那样是硬聚类。软聚类允许每个数据点同时属于多个簇,但以不同的概率。
GMM 的特点
- 数据生成假设:假设数据是从多个高斯分布中按权重随机生成的。
- 模型参数 :GMM 需要估计的参数包括:
- 每个高斯分布的均值 μ k \mu_k μk;
- 协方差矩阵 Σ k \Sigma_k Σk;
- 权重 π k \pi_k πk。
模型训练
GMM 的参数通常使用 期望最大化算法(EM算法) 进行估计:
- E步(Expectation,期望):计算每个数据点属于每个高斯分布的责任。
- M步(Maximization,最大化) :根据责任重新估计模型参数( μ k , Σ k , π k \mu_k, \Sigma_k, \pi_k μk,Σk,πk)。
- 不断重复 E 步和 M 步,直到收敛。
应用场景
- 聚类:通过 GMM 计算每个数据点的软聚类概率。
- 概率密度估计:估计数据的概率密度函数。
- 异常检测:通过计算数据点的概率,判断其是否为异常点。
- 图像处理:例如图像分割。
- 语音信号处理:例如语音建模和分类。
优势与局限性
优势:
- 能够捕捉复杂的分布形式。
- 提供软聚类结果。
- 支持多维数据。
局限性:
- 对初始参数敏感,可能收敛到局部最优解。
- 高斯分布的假设可能不适合某些数据。
- 需要指定聚类数量 K K K。