高斯混合模型(GMM)的数学原理与EM求解过程
题目描述:
高斯混合模型(Gaussian Mixture Model, GMM)是一种用多个高斯分布线性组合来拟合复杂数据分布的概率模型。假设观测数据由K个高斯分布生成,每个分布有各自的权重、均值和协方差矩阵,但具体哪个分布生成哪个数据点未知。目标是估计这些参数(权重、均值、协方差),使模型能最好地描述数据。难点在于参数估计涉及隐变量(数据点属于哪个高斯分布),需用EM算法迭代求解。
解题过程:
- 模型定义
- 设观测数据 \(X = \{x_1, x_2, ..., x_N\}\),每个 \(x_i \in \mathbb{R}^d\)。
- 隐变量 \(Z = \{z_1, ..., z_N\}\),其中 \(z_i\) 表示 \(x_i\) 所属的高斯分布编号,\(z_i \in \{1, 2, ..., K\}\)。
- 模型参数 \(\theta = \{\pi_k, \mu_k, \Sigma_k\}_{k=1}^K\),其中 \(\pi_k\) 是第k个高斯分布的权重(\(\pi_k \geq 0, \sum_{k=1}^K \pi_k = 1\)),\(\mu_k\) 和 \(\Sigma_k\) 是其均值和协方差矩阵。
- 数据生成概率:
\[ p(x_i | \theta) = \sum_{k=1}^K \pi_k \cdot \mathcal{N}(x_i | \mu_k, \Sigma_k) \]
其中 $ \mathcal{N}(x | \mu, \Sigma) $ 是多变量高斯分布的概率密度函数。
- EM算法框架
- E步(Expectation):固定参数 \(\theta\),计算隐变量后验概率(责任值 \(\gamma_{ik}\)),表示数据点 \(x_i\) 属于第k个分量的概率:
\[ \gamma_{ik} = \frac{\pi_k \mathcal{N}(x_i | \mu_k, \Sigma_k)}{\sum_{j=1}^K \pi_j \mathcal{N}(x_i | \mu_j, \Sigma_j)} \]
这里用当前参数估计值计算,分母是归一化项。
- M步(Maximization):固定责任值 \(\gamma_{ik}\),更新参数以最大化对数似然函数的期望:
- 更新权重 \(\pi_k\):
\[ \pi_k^{\text{new}} = \frac{1}{N} \sum_{i=1}^N \gamma_{ik} \]
即所有数据点属于第k类的责任值均值。
- 更新均值 $ \mu_k $:
\[ \mu_k^{\text{new}} = \frac{\sum_{i=1}^N \gamma_{ik} x_i}{\sum_{i=1}^N \gamma_{ik}} \]
即加权平均,权重为责任值。
- 更新协方差 $ \Sigma_k $:
\[ \Sigma_k^{\text{new}} = \frac{\sum_{i=1}^N \gamma_{ik} (x_i - \mu_k^{\text{new}})(x_i - \mu_k^{\text{new}})^T}{\sum_{i=1}^N \gamma_{ik}} \]
加权协方差矩阵,确保对称正定。
-
迭代与收敛
- 重复E步和M步,直到对数似然函数 \(\log p(X | \theta) = \sum_{i=1}^N \log \sum_{k=1}^K \pi_k \mathcal{N}(x_i | \mu_k, \Sigma_k)\) 的变化小于阈值或参数变化微小。
- 注意:EM算法保证似然函数单调递增,但可能收敛到局部最优,初始值(如K-means聚类中心)影响结果。
-
关键点
- GMM是软聚类模型,允许数据点以概率属于多个类别。
- 协方差矩阵可约束为对角或球状以简化模型。
- 组件数K需通过模型选择(如赤池信息准则AIC)或交叉验证确定。