高斯混合模型(GMM)的数学原理与EM求解过程
题目描述
高斯混合模型(GMM)是一种基于多个高斯分布线性组合的概率模型,常用于对复杂数据分布进行建模和聚类。假设观测数据由K个高斯分布生成,但每个数据点具体来自哪个分布未知(隐变量)。任务包括:
- 推导GMM的联合概率分布和似然函数。
- 解释为何直接最大化似然函数困难(隐变量导致对数似然包含求和项在log内)。
- 通过EM算法迭代求解模型参数(各高斯分布的均值、协方差、混合权重)。
解题过程
- 模型定义
- 设观测数据 \(X = \{x_1, x_2, ..., x_N\}\),每个 \(x_i \in \mathbb{R}^d\)。
- 隐变量 \(Z = \{z_1, z_2, ..., z_N\}\),其中 \(z_i \in \{1, 2, ..., K\}\) 表示 \(x_i\) 所属的高斯分布编号。
- 模型参数 \(\theta = \{\pi_k, \mu_k, \Sigma_k\}_{k=1}^K\),其中 \(\pi_k\) 为混合权重(\(\sum_{k=1}^K \pi_k = 1\)),\(\mu_k\) 和 \(\Sigma_k\) 为第k个高斯分布的均值和协方差。
- 联合分布:
\[ p(x_i, z_i | \theta) = \pi_{z_i} \cdot \mathcal{N}(x_i | \mu_{z_i}, \Sigma_{z_i}) \]
- 似然函数与困难
- 完全数据似然:
\[ p(X, Z | \theta) = \prod_{i=1}^N \pi_{z_i} \mathcal{N}(x_i | \mu_{z_i}, \Sigma_{z_i}) \]
- 边缘似然(观测数据似然):
\[ p(X | \theta) = \prod_{i=1}^N \sum_{k=1}^K \pi_k \mathcal{N}(x_i | \mu_k, \Sigma_k) \]
- 直接最大化对数似然 \(\log p(X | \theta)\) 困难,因为求和项在log内部,无法分解。
- EM算法求解
- E步(期望步):
给定当前参数 \(\theta^{(t)}\),计算隐变量后验分布(责任值 \(\gamma_{ik}\)):
- E步(期望步):
\[ \gamma_{ik} = p(z_i = k | x_i, \theta^{(t)}) = \frac{\pi_k^{(t)} \mathcal{N}(x_i | \mu_k^{(t)}, \Sigma_k^{(t)})}{\sum_{j=1}^K \pi_j^{(t)} \mathcal{N}(x_i | \mu_j^{(t)}, \Sigma_j^{(t)})} \]
表示数据点 $ x_i $ 由第k个高斯分布生成的概率。
- M步(最大化步):
利用E步的 \(\gamma_{ik}\) 更新参数,最大化期望完全数据对数似然 \(Q(\theta, \theta^{(t)})\):
\[ \pi_k^{(t+1)} = \frac{\sum_{i=1}^N \gamma_{ik}}{N}, \quad \mu_k^{(t+1)} = \frac{\sum_{i=1}^N \gamma_{ik} x_i}{\sum_{i=1}^N \gamma_{ik}} \]
\[ \Sigma_k^{(t+1)} = \frac{\sum_{i=1}^N \gamma_{ik} (x_i - \mu_k^{(t+1)})(x_i - \mu_k^{(t+1)})^T}{\sum_{i=1}^N \gamma_{ik}} \]
- 收敛性
- 迭代E步和M步直至对数似然变化小于阈值或达到最大迭代次数。EM算法保证似然函数单调递增,收敛到局部最优。
关键点
- GMM通过混合多个高斯分布灵活拟合复杂分布。
- EM算法通过引入隐变量后验分布(E步)将优化问题分解为可解析求解的子问题(M步)。
- 责任值 \(\gamma_{ik}\) 在聚类中可直接用于软分配(每个点属于各类的概率)。