🗒️EM 算法
2024-6-30
| 2024-6-30
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

EM 算法的引入

为什么需要 EΜ 算法:

概率模型有时既含有观测变量,又含有隐变量或者潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或者贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就不能简单地使用这些估计方法。EM 算法就是含有隐变量的概率模型参数的极大似然估计法。

EM 算法例子引入

《统计学习方法》例 9.1(三硬币模型)
假设有 枚硬币,分别记作 。这些硬币正面出现的概率分别是 。进行如下掷硬币试验: 先掷硬币 ,根据其结果选出硬币 或硬币 ,正面选硬币 ,反面选硬币 ;然后掷选出的硬币,掷硬币的结果,出现正面记作 ,出现反面记作 ;独立地重复 次实验(这里,),观测结果如下:
假设只能观测到掷硬币的结果,不能观测掷硬币帀的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数。
解:
对每一次实验进行如下建模,第一行中第一步由 ,然后由条件概率公式 ,得
其中,随机变量 是观测变量,表示一次试验观测的结果是 ;随机变量 是隐变量,表示未观测到的掷硬币 的结果; 是模型参数。将观测数据表示为:, 未观测数据表示为 ,则观测数据的似然函数为
考虑求模型参数 的极大似然估计,即使用对数似然函数来进行参数估计可得:
上式没有解析解,也就是没办法直接解出 恰好等于某个常数,只能用选代的方法来进行求解。

EM 算法的导出

Jensen(琴生)不等式

是凸函数,则:
其中,。同理,若 凹函数,则只需将上式中的 换成 即可。
notion image
将上式中的 推广到 个同样成立,也即:
其中,
在概率论中常以以下形式出现:
其中, 是随机变量, 是凸函数, 表示 的期望。

EM 算法推导

我们面对一个含有隐变量的概率模型,目标是极大化观测数据 关于参数 的对数似然函数,即极大化:
注意到这一极大化的主要困难是上式中有未观测数据 并有包含和( 为离散型时)或者积分( 为连续型时)的对数。EM 算法采用的是通过迭代逐步近似极大化
假设在第 次迭代后 的估计值是 ,我们希望新的估计值 能使 增加,即 ,并逐步达到极大值。为此,我们考虑两者的差:
套用琴生不等式,令 (凹函数), 可得:
即函数 的一个下界,此时若设 使得 达到极大,也即
由于 ,则 ,所以可以进一步推得:
因此,任何可以使 增大的 , 也可以使 增大,于是问题就转化为了求解能使得 达到极大的
到此即完成了 EM 算一法的一次迭代,求出的 作为下一次迭代的初始 。综上可以总结出 EM 算法的“E 步”和“M 步”分别为
  • E 步:计算完全数据的对数似然函数 关于在给定观测数据和当前参数 下对未观测数据 的条件概率分布 的期望,也即 函数
    • M 步:求使得 函数到达极大的

    EM 算法的求解例子——《统计学习方法》例 9.1(三硬币模型)

    对每一次实验进行如下建模
    其中,随机变量 是观测变量,表示一次试验观测的结果是 ;随机变量 是隐变量,表示未观测到的掷硬币 的结果; 是模型参数。
    求解思路
    • E 步:导出 函数
    • M 步:求使得 函数达到极大的

    E 步:导出 函数——本例子中为离散情况

    将观测数据表示为:, 未观测数据表示为 。因为本例子中,为独立重复实验,有 ,同理
      我们将后面的累加式子拆出第一项,有
      单独考察
      验证
      所以,我们有
      将式子 带回 函数:
      将 函数中的 的概率分布展开
      由于
      所以

    M 步:求使得 函数达到极大的

      对 函数关于 求一阶偏导数,并令一阶偏导数等于
      得
      对 函数关于 求一阶偏导数,并令一阶偏导数等于
      得
      对 函数关于 求一阶偏导数,并令一阶偏导数等于
      得
      ‍
     

    📎 参考

    • 《统计学习方法》
    Redis 中单线程的理解LLM 环境基础配置
    Loading...
    目录