期望最大化(EM)算法在高斯混合模型(GMM)中的参数估计过程
字数 1775 2025-11-05 23:45:49

期望最大化(EM)算法在高斯混合模型(GMM)中的参数估计过程

题目描述
本题目讲解如何使用期望最大化(EM)算法估计高斯混合模型(GMM)的参数。GMM假设数据由多个高斯分布组合而成,但每个数据点具体来自哪个高斯分布是未知的(隐变量)。EM算法通过迭代的E步(求期望)和M步(最大化)来估计GMM的均值、协方差和混合权重。

解题过程

  1. 问题定义

    • 设观测数据 \(X = \{x_1, x_2, ..., x_N\}\),其中每个 \(x_i \in \mathbb{R}^d\)
    • GMM由 \(K\) 个高斯分布组成,参数为 \(\theta = \{\pi_k, \mu_k, \Sigma_k\}_{k=1}^K\),其中:
      • \(\pi_k\):第 \(k\) 个高斯分布的混合权重(满足 \(\sum_{k=1}^K \pi_k = 1\));
      • \(\mu_k\):均值向量;
      • \(\Sigma_k\):协方差矩阵。
    • 隐变量 \(Z = \{z_1, ..., z_N\}\),其中 \(z_i\) 表示 \(x_i\) 所属的高斯分量(one-hot向量,\(z_{ik} = 1\) 当且仅当 \(x_i\) 来自第 \(k\) 个高斯分布)。
  2. EM算法框架

    • 目标:最大化对数似然 \(\log P(X|\theta) = \sum_{i=1}^N \log \left( \sum_{k=1}^K \pi_k \mathcal{N}(x_i|\mu_k, \Sigma_k) \right)\)
    • 直接优化困难(因对数内部有求和),EM算法通过迭代以下两步求解:
      • E步:基于当前参数 \(\theta^{(t)}\) 计算隐变量的后验分布 \(P(Z|X, \theta^{(t)})\)
      • M步:基于E步的结果更新参数 \(\theta^{(t+1)} = \arg\max_{\theta} \mathbb{E}_{Z|X,\theta^{(t)}}[\log P(X,Z|\theta)]\)
  3. E步:计算隐变量后验(响应度)

    • 定义响应度 \(\gamma(z_{ik})\):表示在给定当前参数下,数据点 \(x_i\) 属于第 \(k\) 个分量的概率:

\[ \gamma(z_{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)}. \]

  • 计算每个 \(\gamma(z_{ik})\) 需使用当前参数 \(\theta^{(t)}\),并确保 \(\sum_{k=1}^K \gamma(z_{ik}) = 1\)
  1. M步:更新参数

    • 基于响应度重新估计参数,闭合解如下:
      • 混合权重\(\pi_k^{(t+1)} = \frac{1}{N} \sum_{i=1}^N \gamma(z_{ik})\)
      • 均值向量\(\mu_k^{(t+1)} = \frac{\sum_{i=1}^N \gamma(z_{ik}) x_i}{\sum_{i=1}^N \gamma(z_{ik})}\)
      • 协方差矩阵\(\Sigma_k^{(t+1)} = \frac{\sum_{i=1}^N \gamma(z_{ik}) (x_i - \mu_k^{(t+1)})(x_i - \mu_k^{(t+1)})^\top}{\sum_{i=1}^N \gamma(z_{ik})}\)
  2. 迭代与收敛

    • 重复E步和M步,直到对数似然的变化小于阈值或参数变化可忽略。
    • 最终得到GMM的优化参数,可用于聚类或密度估计。

关键点

  • EM算法通过引入隐变量将复杂优化分解为可计算的步骤。
  • E步本质是软分配(每个点以概率属于各分量),M步类似加权最大似然估计。
  • 需注意初始化(如用K-means)和协方差矩阵奇异性的处理(如添加正则项)。
期望最大化(EM)算法在高斯混合模型(GMM)中的参数估计过程 题目描述 本题目讲解如何使用期望最大化(EM)算法估计高斯混合模型(GMM)的参数。GMM假设数据由多个高斯分布组合而成,但每个数据点具体来自哪个高斯分布是未知的(隐变量)。EM算法通过迭代的E步(求期望)和M步(最大化)来估计GMM的均值、协方差和混合权重。 解题过程 问题定义 设观测数据 \( X = \{x_ 1, x_ 2, ..., x_ N\} \),其中每个 \( x_ i \in \mathbb{R}^d \)。 GMM由 \( K \) 个高斯分布组成,参数为 \( \theta = \{\pi_ k, \mu_ k, \Sigma_ k\}_ {k=1}^K \),其中: \( \pi_ k \):第 \( k \) 个高斯分布的混合权重(满足 \( \sum_ {k=1}^K \pi_ k = 1 \)); \( \mu_ k \):均值向量; \( \Sigma_ k \):协方差矩阵。 隐变量 \( Z = \{z_ 1, ..., z_ N\} \),其中 \( z_ i \) 表示 \( x_ i \) 所属的高斯分量(one-hot向量,\( z_ {ik} = 1 \) 当且仅当 \( x_ i \) 来自第 \( k \) 个高斯分布)。 EM算法框架 目标 :最大化对数似然 \( \log P(X|\theta) = \sum_ {i=1}^N \log \left( \sum_ {k=1}^K \pi_ k \mathcal{N}(x_ i|\mu_ k, \Sigma_ k) \right) \)。 直接优化困难(因对数内部有求和),EM算法通过迭代以下两步求解: E步 :基于当前参数 \( \theta^{(t)} \) 计算隐变量的后验分布 \( P(Z|X, \theta^{(t)}) \)。 M步 :基于E步的结果更新参数 \( \theta^{(t+1)} = \arg\max_ {\theta} \mathbb{E}_ {Z|X,\theta^{(t)}}[ \log P(X,Z|\theta) ] \)。 E步:计算隐变量后验(响应度) 定义响应度 \( \gamma(z_ {ik}) \):表示在给定当前参数下,数据点 \( x_ i \) 属于第 \( k \) 个分量的概率: \[ \gamma(z_ {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)}. \] 计算每个 \( \gamma(z_ {ik}) \) 需使用当前参数 \( \theta^{(t)} \),并确保 \( \sum_ {k=1}^K \gamma(z_ {ik}) = 1 \)。 M步:更新参数 基于响应度重新估计参数,闭合解如下: 混合权重 :\( \pi_ k^{(t+1)} = \frac{1}{N} \sum_ {i=1}^N \gamma(z_ {ik}) \)。 均值向量 :\( \mu_ k^{(t+1)} = \frac{\sum_ {i=1}^N \gamma(z_ {ik}) x_ i}{\sum_ {i=1}^N \gamma(z_ {ik})} \)。 协方差矩阵 :\( \Sigma_ k^{(t+1)} = \frac{\sum_ {i=1}^N \gamma(z_ {ik}) (x_ i - \mu_ k^{(t+1)})(x_ i - \mu_ k^{(t+1)})^\top}{\sum_ {i=1}^N \gamma(z_ {ik})} \)。 迭代与收敛 重复E步和M步,直到对数似然的变化小于阈值或参数变化可忽略。 最终得到GMM的优化参数,可用于聚类或密度估计。 关键点 EM算法通过引入隐变量将复杂优化分解为可计算的步骤。 E步本质是软分配(每个点以概率属于各分量),M步类似加权最大似然估计。 需注意初始化(如用K-means)和协方差矩阵奇异性的处理(如添加正则项)。