离散隐藏变量下期望最大化(EM)算法的简化
先导:一般情况下的期望最大化(EM)算法
期望-最大化(EM 算法)是在有“隐藏”变量的模型中实现最大似然估计。EM 算法是一种迭代算法,它保证收敛到似然函数的局部最大值。
用 X X X表示观测随机变量, Z Z Z表示隐随机变量。 X X X和 Z Z Z一起称为完全数据(complete-data),观测数据 X X X又称为不完全数据(incomplete-data)。假设给定观测数据 X X X,其概率分布是 P ( X ∣ θ ) P(X\mid\theta) P(X∣θ),其中 θ \theta θ是需要估计的模型参数,那么不完全数据 X X X的似然函数是 P ( X ∣ θ ) P(X\mid\theta) P(X∣θ),对数似然函数 L ( θ ; X ) = ln P ( X ∣ θ ) L(\theta;X) = \ln P(X\mid\theta) L(θ;X)=lnP(X∣θ);假设 X X X和 Z Z Z的联合概率分布是 P ( X , Z ∣ θ ) P(X,Z\mid\theta) P(X,Z∣θ),那么完全数据的对数似然函数是 L ( θ ; X , Z ) = ln P ( X , Z ∣ θ ) L(\theta;X,Z) =\ln P(X,Z\mid\theta) L(θ;X,Z)=lnP(X,Z∣θ)。
EM 算法通过迭代求 L ( θ ) = ln P ( X ∣ θ ) L(\theta) = \ln P(X\mid\theta) L(θ)=lnP(X∣θ)的极大似然估计。每次迭代包含两步:E 步,求期望;M 步,求极大化。
为了简化,假设 Z Z Z 是离散的(这是 GMM 中的情况)。
由于 Z Z Z 不可直接获得,因此完全似然 P ( X , Z ∣ θ ) P(X,Z\mid\theta) P(X,Z∣θ) 也不是直接可用的,EM 算法提出考虑替代函数
Q ( θ ∣ X , θ ( i ) ) = E Z ( L ( θ ; X , Z ) ∣ X , θ ( i ) ) = E Z [ ln P ( X , Z ∣ θ ) ∣ X , θ ( i ) ] = ∑ Z ln P ( X , Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) (13) \begin{aligned}Q(\theta \mid X,\theta^{(i)}) &={E}_Z (L(\theta; X, Z) \mid X, \theta^{(i)}) \\&= E_Z[\ln P(X, Z \mid \theta) \mid X, \theta^{(i)}]\\ &= \sum_Z \ln P(X, Z \mid \theta) P(Z \mid X, \theta^{(i)}) \tag{13} \end{aligned} Q(θ∣X,θ(i))=EZ(L(θ;X,Z)∣X,θ(i))=EZ[lnP(X,Z∣θ)∣X,θ(i)]=Z∑lnP(X,Z∣θ)P(Z∣X,θ(i))(13)
其中, θ ( i ) \theta^{(i)} θ(i) 是 θ \theta θ 的当前估计。式 (13) 中的分数 Q ( θ ∣ X , θ ( i ) ) Q(\theta \mid X,\theta^{(i)}) Q(θ∣X,θ(i))是 P ( X , Z ∣ θ ) P(X,Z\mid\theta) P(X,Z∣θ) 在当前的估计值 θ ( i ) \theta^{(i)} θ(i) 下,对于给定 X X X 的 Z Z Z 的条件分布的期望值。因此,未知的隐藏变量 Z Z Z 被期望“平均化”了。
式 (9) 的函数 Q ( θ ∣ X , θ ( i ) ) Q(\theta \mid X,\theta^{(i)}) Q(θ∣X,θ(i))是 EM 算法的核心,称为 Q Q Q函数 ( Q Q Q function)。
定义 1 ( Q Q Q函数) 完全数据的对数似然函数 ln P ( X , Z ∣ θ ) \ln P(X, Z \mid \theta) lnP(X,Z∣θ)关于在给定观测数据 X X X和当前参数 θ ( i ) \theta^{(i)} θ(i)下对未观测数据 Z Z Z的条件概率分布 P ( Z ∣ X , θ ( i ) ) P(Z \mid X, \theta^{(i)}) P(Z∣X,θ(i))的期望称为 Q Q Q函数,即
Q ( θ ∣ X , θ ( i ) ) = E Z [ ln P ( X , Z ∣ θ ) ∣ X , θ ( i ) ] (11) Q(\theta \mid X,\theta^{(i)})= E_Z[\ln P(X, Z \mid \theta) \mid X, \theta^{(i)}] \tag{11} Q(θ∣X,θ(i))=EZ[lnP(X,Z∣θ)∣X,θ(i)](11)
式 (13) 关于 θ \theta θ 的最大化:
θ ( i + 1 ) = arg max θ Q ( θ ∣ X , θ ( i ) ) (14) \theta^{(i+1)} = \arg \max_{\theta} Q(\theta \mid X,\theta^{(i)}) \tag{14} θ(i+1)=argθmaxQ(θ∣X,θ(i))(14)
θ ( i + 1 ) \theta^{(i+1)} θ(i+1)必然提高了对数似然(待证明),即 L ( θ ( i + 1 ) ) > L ( θ ( i ) ) L(\theta^{(i+1)}) > L(\theta^{(i)}) L(θ(i+1))>L(θ(i)),除非其已经达到 L ( θ ) L(\theta) L(θ) 的局部最大值,在这种情况下, L ( θ ( i + 1 ) ) = L ( θ ( i ) ) L(\theta^{(i+1)}) = L(\theta^{(i)}) L(θ(i+1))=L(θ(i))。
EM 算法最初猜想 θ = θ ( 0 ) \theta = \theta^{(0)} θ=θ(0),然后在估计 θ ( i ) \theta^{(i)} θ(i) 的当前值计算式 (13)(称为“E 步”)和最大化式 (14) 这两个步骤之间迭代,以得到下一个估计 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)。
算法 离散隐藏变量下的期望-最大化 (EM)算法
输入: 观测变量数据 X X X, 隐变量数据 Z Z Z, 联合分布 P ( X , Z ∣ θ ) P(X, Z \mid \theta) P(X,Z∣θ), 条件分布 P ( Z ∣ X , θ ) P(Z \mid X, \theta) P(Z∣X,θ);
输出: 模型参数 θ \theta θ。
- 初始化 θ ( 0 ) \theta^{(0)} θ(0) 和 τ > 0 \tau > 0 τ>0
- repeat
- E 步:计算 Q ( θ ∣ X , θ ( i ) ) Q(\theta \mid X,\theta^{(i)}) Q(θ∣X,θ(i))
Q ( θ ∣ X , θ ( i ) ) = E Z [ ln P ( X , Z ∣ θ ) ∣ X , θ ( i ) ] = ∑ Z ln P ( X , Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) \begin{aligned} Q(\theta \mid X,\theta^{(i)}) &= E_Z[\ln P(X, Z \mid \theta) \mid X, \theta^{(i)}]\\ &= \sum_Z \ln P(X, Z \mid \theta) P(Z \mid X, \theta^{(i)}) \end{aligned} Q(θ∣X,θ(i))=EZ[lnP(X,Z∣θ)∣X,θ(i)]=Z∑lnP(X,Z∣θ)P(Z∣X,θ(i))
这里, P ( Z ∣ X , θ ( i ) ) P(Z \mid X, \theta^{(i)}) P(Z∣X,θ(i))是在给定观测数据 X X X和当前的参数估计 θ ( i ) \theta^{(i)} θ(i)下隐变量数据 Z Z Z的条件概率分布;
- M 步:求使 Q ( θ ∣ X , θ ( i ) ) Q(\theta \mid X,\theta^{(i)}) Q(θ∣X,θ(i))极大化的 θ \theta θ,更新参数
θ ( i + 1 ) = arg max θ Q ( θ ∣ X , θ ( i ) ) \theta^{(i+1)} = \arg \max_{\theta} Q(\theta \mid X,\theta^{(i)}) θ(i+1)=argθmaxQ(θ∣X,θ(i))
- 计算对数似然:
L ( θ ( i + 1 ) ) = ln P ( X ∣ θ ( i + 1 ) ) L(\theta^{(i+1)}) = \ln P(X \mid \theta^{(i+1)}) L(θ(i+1))=lnP(X∣θ(i+1))
- until ∣ L ( θ ( i + 1 ) ) − L ( θ ( i ) ) ∣ < τ |L(\theta^{(i+1)}) - L(\theta^{(i)})| < \tau ∣L(θ(i+1))−L(θ(i))∣<τ