对概率论一些表示符号的解释
- P(x∣θ)P(x|\theta)P(x∣θ)和P(x;θ)P(x;\theta)P(x;θ)的比较
- P(x∣θ)P(x|\theta)P(x∣θ)表示条件概率
- 当P(x∣θ)P(x|\theta)P(x∣θ)不代表条件概率时与P(x;θ)P(x;\theta)P(x;θ)等价,此时θ\thetaθ不是一个随机变量,而是一个代估参数(θ\thetaθ是固定的,只是当前未知)
- 两者都表示在给定参数θ\thetaθ时P(x)P(x)P(x)的概率。
EM算法步骤
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ),条件分布P(Z∣Y,θ)P(Z|Y,\theta)P(Z∣Y,θ);
输出:模型参数θ\thetaθ
-
(1)选择参数的初值θ0\theta^0θ0,开始迭代
-
(2) E步:记θi\theta^iθi为第i次迭代参数θ\thetaθ的估计值,在第i+1次迭代的E步,计算
Q(θ,θi)=EZ[logP(Y,Z∣θ)∣Y,θi]=∑ZlogP(Y,Z∣θ)P(Z∣Y,θi) \begin{aligned} Q(\theta,\theta^i)&=E_{Z}[logP(Y,Z|\theta)|Y,\theta^i]\\ &=\sum_{Z}logP(Y,Z|\theta)P(Z|Y,\theta^i) \end{aligned} Q(θ,θi)=EZ[logP(Y,Z∣θ)∣Y,θi]=Z∑logP(Y,Z∣θ)P(Z∣Y,θi)
这里,P(Z∣Y,θi)P(Z|Y,\theta^i)P(Z∣Y,θi)是在给定观测数据Y和当前的参数估计θi\theta^iθi下隐变量数据Z的条件概率分布; -
(3) M步:求使Q(θ,θi)Q(\theta,\theta^i)Q(θ,θi)极大化的θ\thetaθ,确定第i+1次迭代的参数的估计值θi+1\theta^{i+1}θi+1,
θi+1=argmaxθQ(θ,θi) \theta^{i+1}=arg \max \limits_{\theta}Q(\theta,\theta^{i}) θi+1=argθmaxQ(θ,θi)
Q(θ,θi)Q(\theta,\theta^{i})Q(θ,θi)是EM算法的核心,称为Q函数(Q function),这个是需要自己构造的。 -
(4) 重复第(2)步和第(3)步,直到收敛,收敛条件:
∣∣θi+1−θi∣∣<ε1 || \theta^{i+1}-\theta^{i} || < \varepsilon_1 ∣∣θi+1−θi∣∣<ε1
或者:
∣∣Q(θi+1,θi)−Q(θi,θi)∣∣<ε2 ||Q(\theta^{i+1},\theta^{i})-Q(\theta^{i},\theta^{i})|| <\varepsilon_2 ∣∣Q(θi+1,θi)−Q(θi,θi)∣∣<ε2
收敛迭代就结束了。