基于泊松混合模型的EM算法参数估计过程
字数 4155 2025-12-19 20:16:41

基于泊松混合模型的EM算法参数估计过程


题目描述

我们考虑一个泊松混合模型(Mixture of Poisson Models),其中观测数据 \(x_1, x_2, ..., x_N\)\(K\) 个不同的泊松分布混合生成。每个泊松分布有自己的强度参数 \(\lambda_k\)\(k=1,...,K\)),混合权重为 \(\pi_k\)(满足 \(\sum_{k=1}^K \pi_k = 1\)\(\pi_k \ge 0\))。目标是:给定观测数据,估计所有 \(\lambda_k\)\(\pi_k\)


1. 模型形式化

设隐变量 \(z_i \in \{1,...,K\}\) 表示第 \(i\) 个样本来自的混合成分。
每个成分的概率分布为:

\[P(x_i | z_i = k) = \frac{\lambda_k^{x_i} e^{-\lambda_k}}{x_i!} \]

混合权重为:

\[P(z_i = k) = \pi_k \]

观测数据的完全似然(加入隐变量)为:

\[P(x_i, z_i | \lambda, \pi) = \pi_{z_i} \cdot \frac{\lambda_{z_i}^{x_i} e^{-\lambda_{z_i}}}{x_i!} \]

观测似然(边际化隐变量)为:

\[P(x_i | \lambda, \pi) = \sum_{k=1}^K \pi_k \cdot \frac{\lambda_k^{x_i} e^{-\lambda_k}}{x_i!} \]

目标:最大化对数观测似然

\[\mathcal{L}(\lambda, \pi) = \sum_{i=1}^N \log \left( \sum_{k=1}^K \pi_k \cdot \frac{\lambda_k^{x_i} e^{-\lambda_k}}{x_i!} \right) \]

由于对数内部有求和,直接优化困难,故采用EM算法


2. EM算法框架回顾

EM算法通过引入隐变量分布,迭代执行:

  • E步:计算隐变量的后验分布 \(Q(z_i) = P(z_i | x_i, \lambda^{old}, \pi^{old})\)
  • M步:基于 \(Q(z_i)\) 更新参数 \(\lambda, \pi\) 以最大化期望完全对数似然。

3. E步:计算后验概率

定义响应度(responsibility)为:

\[\gamma_{ik} = P(z_i = k | x_i, \lambda, \pi) = \frac{\pi_k \cdot \frac{\lambda_k^{x_i} e^{-\lambda_k}}{x_i!}}{\sum_{j=1}^K \pi_j \cdot \frac{\lambda_j^{x_i} e^{-\lambda_j}}{x_i!}} \]

由于 \(x_i!\) 在分母和分子中都出现,可以约去,简化为:

\[\gamma_{ik} = \frac{\pi_k \cdot \lambda_k^{x_i} e^{-\lambda_k}}{\sum_{j=1}^K \pi_j \cdot \lambda_j^{x_i} e^{-\lambda_j}} \]

E步即用当前参数 \(\lambda_k^{old}, \pi_k^{old}\) 计算所有 \(\gamma_{ik}\)


4. M步:更新参数

我们需要最大化期望完全对数似然

\[\mathbb{E}_{z \sim Q}[\log P(X, Z | \lambda, \pi)] = \sum_{i=1}^N \sum_{k=1}^K \gamma_{ik} \left[ \log \pi_k + x_i \log \lambda_k - \lambda_k - \log(x_i!) \right] \]

其中 \(\log(x_i!)\) 是常数,对优化无影响。

更新参数时,分别对 \(\pi_k\)\(\lambda_k\) 优化:

(1) 更新混合权重 \(\pi_k\)
约束:\(\sum_{k=1}^K \pi_k = 1\)。引入拉格朗日乘子 \(\beta\)

\[\mathcal{L}_\pi = \sum_{i=1}^N \sum_{k=1}^K \gamma_{ik} \log \pi_k + \beta \left( 1 - \sum_{k=1}^K \pi_k \right) \]

\(\pi_k\) 求偏导并令为零:

\[\frac{\partial \mathcal{L}_\pi}{\partial \pi_k} = \frac{\sum_{i=1}^N \gamma_{ik}}{\pi_k} - \beta = 0 \quad \Rightarrow \quad \pi_k = \frac{\sum_{i=1}^N \gamma_{ik}}{\beta} \]

代入约束 \(\sum_k \pi_k = 1\)

\[\sum_{k=1}^K \frac{\sum_{i=1}^N \gamma_{ik}}{\beta} = 1 \quad \Rightarrow \quad \beta = \sum_{k=1}^K \sum_{i=1}^N \gamma_{ik} = N \]

因此:

\[\pi_k^{new} = \frac{1}{N} \sum_{i=1}^N \gamma_{ik} \]

(2) 更新强度参数 \(\lambda_k\)
从期望完全对数似然中提取与 \(\lambda_k\) 相关的项:

\[\sum_{i=1}^N \gamma_{ik} \left( x_i \log \lambda_k - \lambda_k \right) \]

\(\lambda_k\) 求导并令为零:

\[\frac{\partial}{\partial \lambda_k} = \sum_{i=1}^N \gamma_{ik} \left( \frac{x_i}{\lambda_k} - 1 \right) = 0 \]

\[ \Rightarrow \frac{\sum_{i=1}^N \gamma_{ik} x_i}{\lambda_k} = \sum_{i=1}^N \gamma_{ik} \]

\[ \Rightarrow \lambda_k^{new} = \frac{\sum_{i=1}^N \gamma_{ik} x_i}{\sum_{i=1}^N \gamma_{ik}} \]


5. 算法迭代步骤总结

  1. 初始化:随机或启发式设置 \(\lambda_k^{(0)} > 0\)\(\pi_k^{(0)} > 0\)(满足和为1)。
  2. E步:用当前参数计算响应度:

\[ \gamma_{ik} = \frac{\pi_k \lambda_k^{x_i} e^{-\lambda_k}}{\sum_{j=1}^K \pi_j \lambda_j^{x_i} e^{-\lambda_j}} \]

  1. M步:更新参数:

\[ \pi_k^{new} = \frac{1}{N} \sum_{i=1}^N \gamma_{ik} \]

\[ \lambda_k^{new} = \frac{\sum_{i=1}^N \gamma_{ik} x_i}{\sum_{i=1}^N \gamma_{ik}} \]

  1. 收敛判断:检查参数变化或对数似然变化是否小于阈值,若未收敛则返回E步。

6. 实例说明

假设观测数据为:\(x = [2, 0, 3, 5, 1, 4]\),设 \(K=2\)

  • 初始化:\(\pi_1=0.6, \pi_2=0.4, \lambda_1=1.0, \lambda_2=3.0\)
  • E步:对 \(x_i=2\)

\[ \gamma_{11} = \frac{0.6 \cdot 1^2 e^{-1}}{0.6 \cdot 1^2 e^{-1} + 0.4 \cdot 3^2 e^{-3}} \approx 0.79 \]

\(\gamma_{12} = 1 - \gamma_{11} \approx 0.21\)
类似计算所有样本的 \(\gamma_{ik}\)

  • M步:更新参数:

\[ \pi_1^{new} = (\gamma_{11} + \gamma_{21} + ...)/6 \]

\[ \lambda_1^{new} = \frac{\gamma_{11} \cdot 2 + \gamma_{21} \cdot 0 + ...}{\gamma_{11} + \gamma_{21} + ...} \]

循环直到收敛。


7. 关键注意事项

  • 初始化敏感:EM算法可能收敛到局部最优,可尝试多次随机初始化。
  • 泊松特性:适用于计数型数据(非负整数)。
  • 过拟合:当 \(K\) 过大时可能过拟合,可用交叉验证或信息准则(如BIC)选择 \(K\)
  • 扩展:可推广到零膨胀泊松混合等复杂模型。

通过以上步骤,EM算法能够有效估计泊松混合模型的参数,为计数数据的聚类或密度估计提供工具。

基于泊松混合模型的EM算法参数估计过程 题目描述 我们考虑一个 泊松混合模型 (Mixture of Poisson Models),其中观测数据 \( x_ 1, x_ 2, ..., x_ N \) 由 \( K \) 个不同的泊松分布混合生成。每个泊松分布有自己的强度参数 \( \lambda_ k \)(\( k=1,...,K \)),混合权重为 \( \pi_ k \)(满足 \( \sum_ {k=1}^K \pi_ k = 1 \) 且 \( \pi_ k \ge 0 \))。目标是:给定观测数据,估计所有 \( \lambda_ k \) 和 \( \pi_ k \)。 1. 模型形式化 设隐变量 \( z_ i \in \{1,...,K\} \) 表示第 \( i \) 个样本来自的混合成分。 每个成分的概率分布为: \[ P(x_ i | z_ i = k) = \frac{\lambda_ k^{x_ i} e^{-\lambda_ k}}{x_ i !} \] 混合权重为: \[ P(z_ i = k) = \pi_ k \] 观测数据的 完全似然 (加入隐变量)为: \[ P(x_ i, z_ i | \lambda, \pi) = \pi_ {z_ i} \cdot \frac{\lambda_ {z_ i}^{x_ i} e^{-\lambda_ {z_ i}}}{x_ i !} \] 观测似然 (边际化隐变量)为: \[ P(x_ i | \lambda, \pi) = \sum_ {k=1}^K \pi_ k \cdot \frac{\lambda_ k^{x_ i} e^{-\lambda_ k}}{x_ i !} \] 目标:最大化 对数观测似然 \[ \mathcal{L}(\lambda, \pi) = \sum_ {i=1}^N \log \left( \sum_ {k=1}^K \pi_ k \cdot \frac{\lambda_ k^{x_ i} e^{-\lambda_ k}}{x_ i !} \right) \] 由于对数内部有求和,直接优化困难,故采用 EM算法 。 2. EM算法框架回顾 EM算法通过引入隐变量分布,迭代执行: E步 :计算隐变量的后验分布 \( Q(z_ i) = P(z_ i | x_ i, \lambda^{old}, \pi^{old}) \)。 M步 :基于 \( Q(z_ i) \) 更新参数 \( \lambda, \pi \) 以最大化期望完全对数似然。 3. E步:计算后验概率 定义 响应度 (responsibility)为: \[ \gamma_ {ik} = P(z_ i = k | x_ i, \lambda, \pi) = \frac{\pi_ k \cdot \frac{\lambda_ k^{x_ i} e^{-\lambda_ k}}{x_ i!}}{\sum_ {j=1}^K \pi_ j \cdot \frac{\lambda_ j^{x_ i} e^{-\lambda_ j}}{x_ i !}} \] 由于 \( x_ i ! \) 在分母和分子中都出现,可以约去,简化为: \[ \gamma_ {ik} = \frac{\pi_ k \cdot \lambda_ k^{x_ i} e^{-\lambda_ k}}{\sum_ {j=1}^K \pi_ j \cdot \lambda_ j^{x_ i} e^{-\lambda_ j}} \] E步即用当前参数 \( \lambda_ k^{old}, \pi_ k^{old} \) 计算所有 \( \gamma_ {ik} \)。 4. M步:更新参数 我们需要最大化 期望完全对数似然 : \[ \mathbb{E} {z \sim Q}[ \log P(X, Z | \lambda, \pi)] = \sum {i=1}^N \sum_ {k=1}^K \gamma_ {ik} \left[ \log \pi_ k + x_ i \log \lambda_ k - \lambda_ k - \log(x_ i!) \right ] \] 其中 \( \log(x_ i !) \) 是常数,对优化无影响。 更新参数时,分别对 \( \pi_ k \) 和 \( \lambda_ k \) 优化: (1) 更新混合权重 \( \pi_ k \) 约束:\( \sum_ {k=1}^K \pi_ k = 1 \)。引入拉格朗日乘子 \( \beta \): \[ \mathcal{L} \pi = \sum {i=1}^N \sum_ {k=1}^K \gamma_ {ik} \log \pi_ k + \beta \left( 1 - \sum_ {k=1}^K \pi_ k \right) \] 对 \( \pi_ k \) 求偏导并令为零: \[ \frac{\partial \mathcal{L} \pi}{\partial \pi_ k} = \frac{\sum {i=1}^N \gamma_ {ik}}{\pi_ k} - \beta = 0 \quad \Rightarrow \quad \pi_ k = \frac{\sum_ {i=1}^N \gamma_ {ik}}{\beta} \] 代入约束 \( \sum_ k \pi_ k = 1 \): \[ \sum_ {k=1}^K \frac{\sum_ {i=1}^N \gamma_ {ik}}{\beta} = 1 \quad \Rightarrow \quad \beta = \sum_ {k=1}^K \sum_ {i=1}^N \gamma_ {ik} = N \] 因此: \[ \pi_ k^{new} = \frac{1}{N} \sum_ {i=1}^N \gamma_ {ik} \] (2) 更新强度参数 \( \lambda_ k \) 从期望完全对数似然中提取与 \( \lambda_ k \) 相关的项: \[ \sum_ {i=1}^N \gamma_ {ik} \left( x_ i \log \lambda_ k - \lambda_ k \right) \] 对 \( \lambda_ k \) 求导并令为零: \[ \frac{\partial}{\partial \lambda_ k} = \sum_ {i=1}^N \gamma_ {ik} \left( \frac{x_ i}{\lambda_ k} - 1 \right) = 0 \] \[ \Rightarrow \frac{\sum_ {i=1}^N \gamma_ {ik} x_ i}{\lambda_ k} = \sum_ {i=1}^N \gamma_ {ik} \] \[ \Rightarrow \lambda_ k^{new} = \frac{\sum_ {i=1}^N \gamma_ {ik} x_ i}{\sum_ {i=1}^N \gamma_ {ik}} \] 5. 算法迭代步骤总结 初始化 :随机或启发式设置 \( \lambda_ k^{(0)} > 0 \) 和 \( \pi_ k^{(0)} > 0 \)(满足和为1)。 E步 :用当前参数计算响应度: \[ \gamma_ {ik} = \frac{\pi_ k \lambda_ k^{x_ i} e^{-\lambda_ k}}{\sum_ {j=1}^K \pi_ j \lambda_ j^{x_ i} e^{-\lambda_ j}} \] M步 :更新参数: \[ \pi_ k^{new} = \frac{1}{N} \sum_ {i=1}^N \gamma_ {ik} \] \[ \lambda_ k^{new} = \frac{\sum_ {i=1}^N \gamma_ {ik} x_ i}{\sum_ {i=1}^N \gamma_ {ik}} \] 收敛判断 :检查参数变化或对数似然变化是否小于阈值,若未收敛则返回E步。 6. 实例说明 假设观测数据为:\( x = [ 2, 0, 3, 5, 1, 4 ] \),设 \( K=2 \): 初始化:\( \pi_ 1=0.6, \pi_ 2=0.4, \lambda_ 1=1.0, \lambda_ 2=3.0 \)。 E步:对 \( x_ i=2 \): \[ \gamma_ {11} = \frac{0.6 \cdot 1^2 e^{-1}}{0.6 \cdot 1^2 e^{-1} + 0.4 \cdot 3^2 e^{-3}} \approx 0.79 \] \( \gamma_ {12} = 1 - \gamma_ {11} \approx 0.21 \)。 类似计算所有样本的 \( \gamma_ {ik} \)。 M步:更新参数: \[ \pi_ 1^{new} = (\gamma_ {11} + \gamma_ {21} + ...)/6 \] \[ \lambda_ 1^{new} = \frac{\gamma_ {11} \cdot 2 + \gamma_ {21} \cdot 0 + ...}{\gamma_ {11} + \gamma_ {21} + ...} \] 循环直到收敛。 7. 关键注意事项 初始化敏感 :EM算法可能收敛到局部最优,可尝试多次随机初始化。 泊松特性 :适用于计数型数据(非负整数)。 过拟合 :当 \( K \) 过大时可能过拟合,可用交叉验证或信息准则(如BIC)选择 \( K \)。 扩展 :可推广到 零膨胀泊松混合 等复杂模型。 通过以上步骤,EM算法能够有效估计泊松混合模型的参数,为计数数据的聚类或密度估计提供工具。