【基础还得练】EM算法中的E
在 EM 算法中,E 步的核心是计算 隐变量 z z z 的后验分布的期望。它的目的在于通过当前的模型参数估计,计算对隐变量 z z z 的“猜测”,并在 M 步中利用这个猜测来优化模型参数。
EM 算法的两步拆解
-
E步(Expectation, 期望步):
在这一步,我们的目标是计算 数据的完整似然函数的期望,条件是基于当前的模型参数 θ ( t ) \theta^{(t)} θ(t)。-
完整数据对数似然(假设我们观测到了隐变量 z z z)是:
log p ( x , z ; θ ) \log p(x, z; \theta) logp(x,z;θ) -
由于 z z z 是未知的隐变量,我们计算其条件分布(后验概率):
p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t))
并利用它对 log p ( x , z ; θ ) \log p(x, z; \theta) logp(x,z;θ) 求期望,定义为:
Q ( θ ∣ θ ( t ) ) = E p ( z ∣ x ; θ ( t ) ) [ log p ( x , z ; θ ) ] . Q(\theta | \theta^{(t)}) = \mathbb{E}_{p(z | x; \theta^{(t)})} \left[ \log p(x, z; \theta) \right]. Q(θ∣θ(t))=Ep(z∣x;θ(t))[logp(x,z;θ)].
直观上,这是通过当前参数下的 z z z 的分布,对完整数据的对数似然函数“加权平均”,以便在 M 步中优化。 -
具体公式:
Q ( θ ∣ θ ( t ) ) = ∑ z p ( z ∣ x ; θ ( t ) ) log p ( x , z ; θ ) . Q(\theta | \theta^{(t)}) = \sum_{z} p(z | x; \theta^{(t)}) \log p(x, z; \theta). Q(θ∣θ(t))=z∑p(z∣x;θ(t))logp(x,z;θ).
(对于连续 z z z,求和替换为积分。)
-
-
M步(Maximization, 最大化步):
在这一阶段,我们最大化 E 步得到的期望 Q ( θ ∣ θ ( t ) ) Q(\theta | \theta^{(t)}) Q(θ∣θ(t)),以找到新的参数估计:
θ ( t + 1 ) = arg max θ Q ( θ ∣ θ ( t ) ) . \theta^{(t+1)} = \arg\max_\theta Q(\theta | \theta^{(t)}). θ(t+1)=argθmaxQ(θ∣θ(t)).
E 步为什么是“期望”?
期望是相对于 z z z 的分布 p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t)) 来求的。换句话说,我们通过当前的模型参数 θ ( t ) \theta^{(t)} θ(t),计算隐变量 z z z 的后验概率分布,并使用这个分布对 log p ( x , z ; θ ) \log p(x, z; \theta) logp(x,z;θ) 加权平均,得到 Q ( θ ∣ θ ( t ) ) Q(\theta | \theta^{(t)}) Q(θ∣θ(t))。这是对隐变量的“软归属”的期望,而不是直接假设 z z z 取某个具体值。
- 关键点是, p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t)) 是一个概率分布,它反映了当前模型参数下对 z z z 的“猜测”。
- E 步中,我们的目标不是直接更新参数,而是为隐变量建立一种“加权依据”。
直观理解:EM 算法的本质
- 隐变量 z z z 是未知的,直接优化对数似然困难。
- EM 算法通过迭代的方式解决:
- E 步:根据当前的参数估计,计算隐变量的后验分布 p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t))。
- M 步:假设 E 步提供的后验分布是正确的,用它加权优化参数。
换句话说,E 步是“填补缺失数据”的过程,用 p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t)) 来近似 z z z 的真实分布,M 步则利用这个近似来更新模型参数。
总结
- E 步是对隐变量后验分布 p ( z ∣ x ; θ ( t ) ) p(z | x; \theta^{(t)}) p(z∣x;θ(t)) 的加权期望,反映了“隐变量”的分布信息。
- 求期望的是完整数据对数似然 log p ( x , z ; θ ) \log p(x, z; \theta) logp(x,z;θ),条件是基于隐变量的后验分布。
- 期望步的结果 Q ( θ ∣ θ ( t ) ) Q(\theta | \theta^{(t)}) Q(θ∣θ(t)) 是一种中间目标函数,用于指导下一步的参数更新。