Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 1.54 KB

File metadata and controls

77 lines (52 loc) · 1.54 KB

高斯混合模型 (GMM)

概述

高斯混合模型(Gaussian Mixture Model, GMM)是一种概率模型,假设数据由多个高斯分布混合生成,常用于聚类和密度估计。

主要特点

  • 软聚类:提供样本属于各个簇的概率
  • 灵活形状:可以拟合椭圆形的簇
  • 概率模型:提供数据的概率密度估计

基本概念

1. 高斯分布

  • 单变量:正态分布 N(μ, σ²)
  • 多变量:多元正态分布 N(μ, Σ)
  • 参数:均值向量 μ,协方差矩阵 Σ

2. 混合权重

  • 每个高斯成分的权重 π_k
  • 所有权重之和为1
  • 表示各成分的先验概率

3. 责任度

  • 样本属于各成分的后验概率
  • 用于软分配样本到不同簇

训练算法

期望最大化 (EM算法)

  • E步:计算责任度
  • M步:更新模型参数
  • 迭代直到收敛

应用领域

  • 数据聚类
  • 密度估计
  • 异常检测
  • 图像分割
  • 语音识别

数学公式

GMM 的概率密度函数为:

p(x) = Σ π_k * N(x | μ_k, Σ_k)

其中:

  • K 为高斯成分数量
  • π_k 为第 k 个成分的混合权重,满足 Σπ_k = 1
  • N(x | μ_k, Σ_k) 为第 k 个高斯分布

代码示例

使用 scikit-learn 拟合高斯混合模型:

from sklearn.mixture import GaussianMixture
import numpy as np

# 生成示例数据
X = np.random.randn(300, 2)

# 创建并训练模型
gmm = GaussianMixture(n_components=3, random_state=0)
gmm.fit(X)

# 预测类别
labels = gmm.predict(X)
print("各成分权重:", gmm.weights_)