机器学习笔记_$EM$算法

适用范围

假设训练样本的属性变量是不完整的

隐变量

X 表示已经观测的变量集合, Z 表示隐变量集, Θ 表示模型参数.如果对 Θ 做最大似然估计,则应当最大化对数似然

L L ( Θ X , Z ) = ln P ( X , Z Θ )

然而由于 Z 是隐藏变量,上式无法直接求解。此时我们可以通过对 Z 计算期望,来最大化已观测数据的对数“边际似然”(marginal likelihood)
(A) L L ( Θ X ) = ln P ( X Θ ) = ln Z P ( X , Z Θ )

EM(Expectation_Maximization)算法

EM是常用的估计参数隐藏变量的利器,它是一种迭代式方法,其基本思想是:若参数 Θ 已知,则可以对训练数据集推断出最优隐变量 Z 的值( E 步);反之,若 Z 的值已知,则可以方便对参数 Θ 做极大似然估计( M 步)。
于是,以初始值 Θ 0 为起点,对( A ),可以迭代执行以下步骤直至收敛:

  • 基于 Θ t 推断隐变量 Z 的期望,记做 Z t
  • 基于已观测变量 X Z t 对参数 Θ 做极大似然估计,记做 Θ t + 1

    EM算法的步骤

    E步

    以当前参数 Θ t 推断隐变量分布 P ( Z X , Θ t ) ,并计算对数似然 L L ( Θ X , Z ) 关于 Z 的期望

    Q ( Θ Θ t ) = E Z X , Θ t L L ( Θ X , Z )

    M步

    寻找参数最大化的期望似然,即

    Θ t + 1 = arg min Θ Q ( Θ Θ t )

猜你喜欢

转载自blog.csdn.net/uncle_gy/article/details/79707324