EM算法的原理与计算过程
题目描述
EM算法(Expectation-Maximization Algorithm)是一种迭代优化策略,用于解决含有隐变量(latent variables)的概率模型参数估计问题。例如,在聚类问题中,若不知道每个样本属于哪个类别(隐变量),直接使用最大似然估计会无法求解。EM算法通过交替执行E步(期望步)和M步(最大化步)逐步优化参数。本题要求详细解释EM算法的核心思想、数学推导及计算步骤。
解题过程
- 问题场景与隐变量引入
- 假设观测数据为 \(X = \{x_1, x_2, ..., x_n\}\),其概率分布依赖于参数 \(\theta\)(例如高斯混合模型中的均值和方差)。
- 若存在未观测的隐变量 \(Z = \{z_1, z_2, ..., z_n\}\)(如样本的类别标签),直接优化似然函数 \(\log P(X|\theta)\) 困难,因为需对 \(Z\) 积分或求和:
\[ \log P(X|\theta) = \log \sum_Z P(X, Z|\theta) \]
- EM算法的核心思想:通过迭代逼近,避免直接处理隐变量。
- EM算法的推导基础
- 引入隐变量的分布 \(Q(Z)\),利用Jensen不等式构造似然函数的下界:
\[ \log P(X|\theta) = \log \sum_Z Q(Z) \frac{P(X, Z|\theta)}{Q(Z)} \geq \sum_Z Q(Z) \log \frac{P(X, Z|\theta)}{Q(Z)} \]
- 当下界与似然函数相等时,需满足 \(Q(Z) = P(Z|X,\theta)\)(即隐变量的后验分布)。
- 算法交替执行以下两步:
- E步(Expectation):固定参数 \(\theta^{(t)}\),计算隐变量的后验分布 \(Q(Z) = P(Z|X,\theta^{(t)})\),并计算对数似然函数的下界(称为Q函数):
\[ Q(\theta, \theta^{(t)}) = \mathbb{E}_{Z|X,\theta^{(t)}} [\log P(X, Z|\theta)] \]
- **M步(Maximization)**:固定 $ Q(Z) $,优化参数以最大化Q函数:
\[ \theta^{(t+1)} = \arg \max_{\theta} Q(\theta, \theta^{(t)}) \]
- 具体计算步骤(以高斯混合模型为例)
- 模型设定:
- 假设数据由 \(K\) 个高斯分布生成,隐变量 \(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\)。
- E步:
- 计算每个样本 \(x_i\) 属于类别 \(k\) 的后验概率(责任值 \(\gamma_{ik}\)):
- 模型设定:
\[ \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步:
- 更新参数以最大化Q函数:
\[ \pi_k^{(new)} = \frac{\sum_{i=1}^n \gamma_{ik}}{n}, \quad \mu_k^{(new)} = \frac{\sum_{i=1}^n \gamma_{ik} x_i}{\sum_{i=1}^n \gamma_{ik}}, \quad \Sigma_k^{(new)} = \frac{\sum_{i=1}^n \gamma_{ik} (x_i - \mu_k^{(new)})(x_i - \mu_k^{(new)})^T}{\sum_{i=1}^n \gamma_{ik}} \]
- 重复E步和M步直至参数收敛(似然函数变化小于阈值)。
- 算法特性与注意事项
- EM算法保证每次迭代后似然函数不下降,但可能收敛到局部最优。
- 初始值选择影响结果,通常需多次随机初始化以寻找全局最优。
- 适用于高斯混合模型、隐马尔可夫模型等含隐变量的概率模型。
通过以上步骤,EM算法巧妙地解决了隐变量模型的参数估计问题,成为无监督学习中的重要工具。