统计学习方法-第9章-EM算法

统计学习方法-第9章-EM算法

  • 适用问题:概率模型参数估计
  • 模型特点:含隐变量的概率模型
  • 学习策略:极大似然估计,极大后验概率估计
  • 损失函数:对数似然损失
  • 学习算法:迭代算法

EM 算法精髓

EM 算法是通过不断求解下界得极大化逼近对数似然函数极大化得算法。

构造下界函数(Jessen 不等式),通过巧妙地取 Q 的值而保证在参数的当前迭代点处下界函数与要求解的目标函数数值相等(Jessen 不等式取等号),从而保证优化下界函数后在新的迭代处目标函数是上升的。

Q 函数

完全数据的对数似然函数 $\log P \left( Y, Z \mid \theta \right)$ 关于给定观测数据 $Y$ 的当前参数 $\theta^{\left( i \right)}$ 下对未观测数据 $Z$ 的条件概率分布 $P \left( Z \mid Y,\theta^{\left( i \right)} \right)$ 的期望,即

算法推导

对于一个含有隐变量的概率模型,目标是极大化观测模型数据(不完全数据)$Y$ 关于参数 $\theta$ 的对数似然函数,即极大化似然函数

对于目标函数,若直接通过导数求解,对数内含有求和项,难以求解。若使用梯度下降法或牛顿法求解,则需保证隐变量满足等式 $\sum _ {z} p \left( z \right) = 1$ 和不等式 $p \left( z \right) \geq 0$,同样难以求解。

EM 算法通过迭代逐步近似极大化 $L \left( \theta \right)$。假设在第 $i$ 次迭代后 $\theta$ 的估计值是 $\theta^{\left( i \right)}$。我们希望新估计值 $\theta$ 能使 $L \left( \theta \right)$ 增加,即 $L \left( \theta \right) > L \left( \theta^{\left( i \right)} \right) $,并逐步达到极大值。

说明

  • 9.2

    $\color{blue}{P \left( Z \mid Y,\theta^{\left( i \right)} \right)}$ 表示在给定观测数据 $Y$ 和当前参数 $\theta^{\left( i \right)}$ 下对未观测数据 $Z$ 的条件概率分布

    即函数 $\frac{P \left(Y \mid Z,\theta \right) P \left( Z \mid \theta \right)}{P \left( Z \mid Y,\theta^{\left( i \right)}\right)}$ 关于随机变量 $Z$ 的期望。

  • 9.2 → 9.3

    Jessen 不等式(凹函数):

  • 9.3 → 9.4

  • 9.4 → 9.5

    $P \left( Y \mid \theta^{\left( i \right)} \right)$ 是与 $Z$ 无关相当于常数项。

由 (9.1)和(9.6)得 $L \left( \theta \right) \geq B \left( \theta,\theta^{\left( i \right)} \right)$ 即函数 $B \left( \theta,\theta^{\left( i \right)} \right)$ 是 $L \left( \theta \right)$ 的一个下界,且 $B \left( \theta^{\left( i \right)},\theta^{\left( i \right)} \right) = L \left( \theta \right)$。因此,任何可以使 $B \left( \theta,\theta^{\left( i \right)} \right)$ 增大的 $\theta$,也可以使 $L \left( \theta \right)$ 增大。

为了使 $L \left( \theta \right)$ 有尽可能大的增长,选择 $\theta^{\left( i + 1\right)}$ 使 $B \left( \theta,\theta^{\left( i \right)} \right)$ 达到极大,即

即 $\quad B \left( \theta,\theta^{\left( i \right)} \right) = Q \left( \theta,\theta^{\left( i \right)} \right) $。

式(9.8)等价于 EM 算法得一次迭代,即求 $Q$ 函数及其极大值。

1.png

似然函数 $L \left( \theta \right)$ 与下界 $B \left( \theta,\theta^{\left( i \right)} \right)$ 即 $Q \left( \theta,\theta^{\left( i \right)} \right)$,在 $\theta^{\left( i\right)}$ 处相等,$B \left( \theta,\theta^{\left( i \right)} \right)$ 在 $\theta^{\left( i+1 \right)}$ 处取极大值。似然函数 $L \left( \theta \right)$ 下一个迭代的点为 $\theta^{\left( i \right)}$。

算法过程

输入:观测变量数据 $Y$,隐变量数据 $Z$,联合分布 $P \left( Y, Z \mid \theta \right)$,条件分布 $P \left( Z \mid Y, \theta \right)$;

输出:参数模型 $\theta$。

  1. 选择参数的初值 $\theta^{\left( 0 \right)}$,开始迭代

  2. E 步:记 $\theta^{\left( i \right)}$ 为第 $i$ 次迭代参数 $\theta$ 的估计值,在第 $i+1$ 次迭代的 $E$ 步,确定 Q 函数

  3. M 步:求使 $Q \left(\theta, \theta^{\left( i \right)} \right)$ 最大化的 $\theta$,确定第 $i+1$ 次迭代的参数估计值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值