Zheng Chu's Blog

让希望永驻


  • 主页

  • 所有专栏

  • 历史文章

  • 标签

  • 关于我

EM

Posted on 2019-09-05 Edited on 2020-12-06 In 机器学习 Views:

EM算法

EM算法解决的问题:有隐变量存在的概率模型参数的极大似然估计,或极大后验估计。

先给出《统计学习方法》中对隐变量、观测变量的形式化如下:

$Y$表示观测随机变量(observed)的数据,$Z$ 表示隐随机变量(hidden)的数据;

观测数据$Y$的概率分布是$P(Y|\theta)$, 其中$\theta$是需要估计的模型参数, 对数似然函数为$L(\theta)= \log P(Y|\theta) $;

$Y$与$Z$的联合概率分布是$P(Y,Z|\theta)$, 对数似然函数为$\log P(Y,Z|\theta)$.

EM算法怎 么来的

★ 不管隐变量$Z$,我们平时用极大似然估计的时候就是写出极大似然函数,假设数据间独立同分布,并用对数形式方便计算,这里还是这样做,对隐变量$Z$,我们的做法是把它看为联合分布,即$Z$也是同 $Y$一起发生的,但是$Z$发生的具体过程我们不知道,也就是没有$Z$的实例,先通过全概率公式分解它:

有个上面的公式,考虑怎么计算它。EM的做法是这样,现在先假设迭代了$i$次,得到参数估计 $\theta^{(i)}$, 后面的新估计设为$\theta$, 它的似然估计为$L(\theta)$,迭代更新使得似然估计增大,因此有:

其中用到了Jensen不等式:

令:

则:

这就是EM想做的,为了使得$L(\theta)$增大,我们可以增大它的下界$B(\theta,\theta^{(i)})$ , 则有(省去$\theta^{(i)}$带来的常数项):

上式等价于EM算法的一次迭代,即求$Q$函数及其极大化。下面给出$Q$函数定义EM算法流程。

EM算法流程

  • 选择参数的初值$\theta^{(0)}$,开始迭代:

  • E步:记$\theta^{(i)}$为第$i$次迭代得到的参数,在第$i+1$次迭代时我们求出$Q$函数:

  • M步:极大化$Q$函数得到$\theta$ :

停止迭代的条件是参数间的差小于某一个正数$\epsilon_1$ 或者$Q$函数的差小于某一个正数$\epsilon_2$:

其中$Q$函数的定义是给定观测数据$Y$和当前参数 $\theta^{( i)}$下未观测数据的条件概率分布$P(Z|Y,\theta^{(i)})$的期望.

★ 既然给定了$P(Z|Y,\theta^{(i)})$,也就是知道了第$i$轮的$Z$发生概率,它在下一轮$\theta$的更新中,作为联合分布的已知变量出现:$Q(\theta,\theta^{(i)}) = E_{Z}\big[\log P(Y,Z|\theta)|Y,\theta^{(i)}\big] $ ,也就化未知变量$Z$为已知变量的方法。

# MachineLearning
JaccardDistance
GAN
  • Table of Contents
  • Overview
Zheng Chu

Zheng Chu

90 posts
20 categories
25 tags
GitHub 简书 CSDN E-Mail
  1. 1. EM算法
    1. 1.1. EM算法怎 么来的
    2. 1.2. EM算法流程
© 2021 Zheng Chu
Powered by Hexo v4.2.1
|
Theme – NexT.Pisces v7.3.0
|