小象ML——8.EM算法

EM算法

  • EM算法:含有隐变量的概率模型参数的极大似然估计法或极大后验概率估计法
  • 隐变量:即未观测变量
  • 变量定义
    • 观测随机变量/不完全数据(不是类标记):Y
    • 隐随机变量:Z
    • 完全数据:Y+Z
  • 给定不完全数据Y,其对数似然函数 L ( θ ) = l o g P ( Y ∣ θ ) L(\theta)=logP(Y|\theta) L(θ)=logP(Yθ)
  • 隐变量Z可看作中间结果,决定 θ \theta θ,而Y决定Z和 θ \theta θ
  • 假设Y和Z的联合概率分布是 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),则完全数据的对数似然函数是 l o g P ( Y , Z ∣ θ ) logP(Y,Z|\theta) logP(Y,Zθ)
  • EM算法的目标是通过迭代求 L ( θ ) = l o g P ( Y , Z ∣ θ ) L(\theta)=logP(Y,Z|\theta) L(θ)=logP(Y,Zθ)的极大似然估计
  • 算法内容
    • 输入:观测变量Y,隐变量Z,联合分布 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),条件分布 P ( Z ∣ Y , θ ) P(Z|Y,\theta) P(ZY,θ)
    • 输出:模型参数 θ \theta θ
    • (1)选择参数的初值 θ ( 0 ) \theta^{(0)} θ(0)
    • 迭代直至收敛:
      • (2) E步,求期望。记 θ ( i ) \theta^{(i)} θ(i)i为第i次迭代参数 θ \theta θ的估计值。在第i+1次迭代中计算Q函数: Q ( θ , θ ( i ) ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ) Q(\theta,\theta^{(i)})=E_Z[logP(Y,Z|\theta)|Y,\theta^{(i)}]=\sum\limits_ZlogP(Y,Z|\theta)P(Z|Y,\theta) Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]=ZlogP(Y,Zθ)P(ZY,θ)
      • M步:通过极大化Q函数,求i+1代参数的估计值: θ ( i + 1 ) = arg max ⁡ θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\argmax\limits_\theta Q(\theta,\theta^{(i)}) θ(i+1)=θargmaxQ(θ,θ(i))
  • 算法说明:
    • 简单性、 普适性
    • 参数初值可任意选择,但要注意算法对初值敏感
    • 停止条件
      • 对较小的整数 ε 1 , ε 2 \varepsilon_1,\varepsilon_2 ε1,ε2,满足 ∣ ∣ θ ( 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
    • 不能保证找到全局最优值,但能收敛到局部最优值
  • 模型选择的准则
    • L为模型似然函数值,k为模型参数个数,n为样本个数
    • A I C = − 2 l n L + 2 k AIC=-2lnL+2k AIC=2lnL+2k
    • B I C = − 2 l n L + ( l n n ) k BIC=-2lnL+(ln n)k BIC=2lnL+(lnn)k

你可能感兴趣的:(机器学习)