对概率论一些表示符号的解释
-
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 ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ i ] = ∑ Z l o g P ( 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 = a r g max θ 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
收敛迭代就结束了。