期望最大化(EM)算法在高斯混合模型(GMM)中的参数估计过程
字数 2293 2025-11-09 14:23:45
期望最大化(EM)算法在高斯混合模型(GMM)中的参数估计过程
题目描述
期望最大化(EM)算法是一种迭代优化策略,用于含有隐变量(latent variables)的概率模型的最大似然估计。高斯混合模型(GMM)假设数据由多个高斯分布组合而成,但每个数据点具体来自哪个高斯分布是未知的(即隐变量)。本题要求详细解释如何使用EM算法估计GMM的参数(各高斯分布的权重、均值和协方差)。
解题过程
-
问题建模
- GMM的概率密度函数为:
\(p(\mathbf{x}) = \sum_{k=1}^{K} \pi_k \mathcal{N}(\mathbf{x} | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)\)
其中 \(\pi_k\) 是混合权重(满足 \(\sum_k \pi_k = 1\)),\(\mathcal{N}\) 表示高斯分布。 - 引入隐变量 \(\mathbf{z} = [z_1, \dots, z_K]\),其中 \(z_k \in \{0,1\}\) 且 \(\sum_k z_k = 1\),表示数据点属于第 \(k\) 个高斯分量的独热编码。
- 完全数据的似然函数为:
\(p(\mathbf{X}, \mathbf{Z} | \boldsymbol{\theta}) = \prod_{n=1}^{N} \prod_{k=1}^{K} \left[ \pi_k \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \right]^{z_{nk}}\)。
- GMM的概率密度函数为:
-
EM算法框架
EM算法通过交替执行以下两步直至收敛:- E步(Expectation):基于当前参数 \(\boldsymbol{\theta}^{\text{old}}\) 计算隐变量的后验分布 \(p(\mathbf{Z} | \mathbf{X}, \boldsymbol{\theta}^{\text{old}})\)。
- M步(Maximization):最大化完全数据的对数似然关于隐变量后验分布的期望,更新参数 \(\boldsymbol{\theta}^{\text{new}}\)。
-
E步:计算后验概率(责任值)
- 定义责任值 \(\gamma(z_{nk})\) 表示数据点 \(\mathbf{x}_n\) 属于第 \(k\) 个分量的后验概率:
\(\gamma(z_{nk}) = \frac{\pi_k \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)}{\sum_{j=1}^{K} \pi_j \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_j, \boldsymbol{\Sigma}_j)}\)。 - 计算每个数据点对每个分量的责任值,形成 \(N \times K\) 的矩阵。
- 定义责任值 \(\gamma(z_{nk})\) 表示数据点 \(\mathbf{x}_n\) 属于第 \(k\) 个分量的后验概率:
-
M步:更新模型参数
- 最大化期望对数似然 \(Q(\boldsymbol{\theta}, \boldsymbol{\theta}^{\text{old}}) = \mathbb{E}_{\mathbf{Z} | \mathbf{X}, \boldsymbol{\theta}^{\text{old}}} [\ln p(\mathbf{X}, \mathbf{Z} | \boldsymbol{\theta})]\)。
- 更新权重:\(\pi_k^{\text{new}} = \frac{N_k}{N}\),其中 \(N_k = \sum_{n=1}^{N} \gamma(z_{nk})\) 是有效点数。
- 更新均值:\(\boldsymbol{\mu}_k^{\text{new}} = \frac{1}{N_k} \sum_{n=1}^{N} \gamma(z_{nk}) \mathbf{x}_n\)。
- 更新协方差:\(\boldsymbol{\Sigma}_k^{\text{new}} = \frac{1}{N_k} \sum_{n=1}^{N} \gamma(z_{nk}) (\mathbf{x}_n - \boldsymbol{\mu}_k^{\text{new}})(\mathbf{x}_n - \boldsymbol{\mu}_k^{\text{new}})^\top\)。
-
收敛判断
- 重复E步和M步,直到对数似然 \(\ln p(\mathbf{X} | \boldsymbol{\theta}) = \sum_{n=1}^{N} \ln \left( \sum_{k=1}^{K} \pi_k \mathcal{N}(\mathbf{x}_n | \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \right)\) 的变化小于阈值或达到最大迭代次数。
关键点
- EM算法通过引入隐变量将复杂优化问题分解为可解析求解的步骤。
- E步计算责任值相当于“软分配”,M步的更新公式类似加权的最大似然估计。
- 算法保证每次迭代后似然函数不下降,但可能收敛到局部最优,故需多次随机初始化。