高斯混合模型(GMM)的期望最大化(EM)算法求解过程
字数 1360 2025-11-05 08:30:59

高斯混合模型(GMM)的期望最大化(EM)算法求解过程

题目描述
高斯混合模型(GMM)是一种用多个高斯分布的加权和来描述数据分布的生成式模型,常用于聚类和密度估计。假设观测数据由K个高斯分布生成,但每个数据点具体来自哪个分布未知(隐变量)。目标是估计GMM的参数:每个高斯分布的权重、均值和协方差矩阵。期望最大化(EM)算法通过迭代优化解决此问题,分为E步(求隐变量的期望)和M步(最大化似然函数)。

解题过程

  1. 模型定义

    • 设GMM有K个高斯分布,参数为θ = {π₁, μ₁, Σ₁, ..., π_K, μ_K, Σ_K},其中π_k是第k个分布的权重(满足∑π_k = 1),μ_k和Σ_k为均值和协方差。
    • 数据X = {x₁, ..., x_N},隐变量Z = {z₁, ..., z_N},z_i表示x_i所属的分布类别(z_i ∈ {1, ..., K})。
    • 联合概率分布为:
      P(x_i, z_i | θ) = π_{z_i} · N(x_i | μ_{z_i}, Σ_{z_i}),
      其中N(·)为多元高斯分布密度函数。
  2. EM算法框架
    EM算法通过迭代以下两步优化对数似然函数L(θ) = ∑_{i=1}^N log P(x_i | θ):

    • E步:基于当前参数θ^t,计算隐变量Z的后验分布P(Z | X, θ^t)。
    • M步:基于E步的结果,更新θ^{t+1} = argmax_θ E_{Z|X,θ^t} [log P(X, Z | θ)]。
  3. E步:求隐变量后验(响应度)

    • 计算每个数据点x_i属于第k个分布的后验概率(响应度)γ_{ik}:
      γ_{ik} = P(z_i = k | x_i, θ^t) = [π_k^t · N(x_i | μ_k^t, Σ_k^t)] / [∑_{j=1}^K π_j^t · N(x_i | μ_j^t, Σ_j^t)]。
    • 响应度γ_{ik}满足∑{k=1}^K γ{ik} = 1,表示x_i对第k个分布的“归属程度”。
  4. M步:更新模型参数

    • 基于γ_{ik},更新权重、均值和协方差:
      • 权重π_k:π_k^{t+1} = (1/N) ∑{i=1}^N γ{ik}。
      • 均值μ_k:μ_k^{t+1} = (∑{i=1}^N γ{ik} x_i) / (∑{i=1}^N γ{ik})。
      • 协方差Σ_k:Σ_k^{t+1} = (∑{i=1}^N γ{ik} (x_i - μ_k^{t+1})(x_i - μ_k^{t+1})^T) / (∑{i=1}^N γ{ik})。
    • 更新后的参数使期望似然函数增大,且权重自动满足归一化约束。
  5. 迭代与收敛

    • 重复E步和M步,直到对数似然L(θ)的变化小于阈值或达到最大迭代次数。
    • 最终得到GMM的参数估计,同时隐变量γ_{ik}可用于软聚类(每个点属于各类的概率)。

关键点

  • EM算法通过引入隐变量将优化问题转化为可迭代求解的凸问题。
  • E步计算响应度实质是“软分配”,M步更新参数类似加权最大似然估计。
  • 需注意初始化参数(如用K-means中心作为初始均值)以避免局部最优。
高斯混合模型(GMM)的期望最大化(EM)算法求解过程 题目描述 高斯混合模型(GMM)是一种用多个高斯分布的加权和来描述数据分布的生成式模型,常用于聚类和密度估计。假设观测数据由K个高斯分布生成,但每个数据点具体来自哪个分布未知(隐变量)。目标是估计GMM的参数:每个高斯分布的权重、均值和协方差矩阵。期望最大化(EM)算法通过迭代优化解决此问题,分为E步(求隐变量的期望)和M步(最大化似然函数)。 解题过程 模型定义 设GMM有K个高斯分布,参数为θ = {π₁, μ₁, Σ₁, ..., π_ K, μ_ K, Σ_ K},其中π_ k是第k个分布的权重(满足∑π_ k = 1),μ_ k和Σ_ k为均值和协方差。 数据X = {x₁, ..., x_ N},隐变量Z = {z₁, ..., z_ N},z_ i表示x_ i所属的分布类别(z_ i ∈ {1, ..., K})。 联合概率分布为: P(x_ i, z_ i | θ) = π_ {z_ i} · N(x_ i | μ_ {z_ i}, Σ_ {z_ i}), 其中N(·)为多元高斯分布密度函数。 EM算法框架 EM算法通过迭代以下两步优化对数似然函数L(θ) = ∑_ {i=1}^N log P(x_ i | θ): E步 :基于当前参数θ^t,计算隐变量Z的后验分布P(Z | X, θ^t)。 M步 :基于E步的结果,更新θ^{t+1} = argmax_ θ E_ {Z|X,θ^t} [ log P(X, Z | θ) ]。 E步:求隐变量后验(响应度) 计算每个数据点x_ i属于第k个分布的后验概率(响应度)γ_ {ik}: γ_ {ik} = P(z_ i = k | x_ i, θ^t) = [ π_ k^t · N(x_ i | μ_ k^t, Σ_ k^t)] / [ ∑_ {j=1}^K π_ j^t · N(x_ i | μ_ j^t, Σ_ j^t) ]。 响应度γ_ {ik}满足∑ {k=1}^K γ {ik} = 1,表示x_ i对第k个分布的“归属程度”。 M步:更新模型参数 基于γ_ {ik},更新权重、均值和协方差: 权重π_ k:π_ k^{t+1} = (1/N) ∑ {i=1}^N γ {ik}。 均值μ_ k:μ_ k^{t+1} = (∑ {i=1}^N γ {ik} x_ i) / (∑ {i=1}^N γ {ik})。 协方差Σ_ k:Σ_ k^{t+1} = (∑ {i=1}^N γ {ik} (x_ i - μ_ k^{t+1})(x_ i - μ_ k^{t+1})^T) / (∑ {i=1}^N γ {ik})。 更新后的参数使期望似然函数增大,且权重自动满足归一化约束。 迭代与收敛 重复E步和M步,直到对数似然L(θ)的变化小于阈值或达到最大迭代次数。 最终得到GMM的参数估计,同时隐变量γ_ {ik}可用于软聚类(每个点属于各类的概率)。 关键点 EM算法通过引入隐变量将优化问题转化为可迭代求解的凸问题。 E步计算响应度实质是“软分配”,M步更新参数类似加权最大似然估计。 需注意初始化参数(如用K-means中心作为初始均值)以避免局部最优。