【统计学习方法】9-EM算法及其推广

一句话介绍:用于含有隐变量的概率模型参数的极大似然估计,是一种迭代算法,每次迭代有E步和M步两步,又称期望极大算法。


E:expectation

M:maximization

EM算法:用于含有隐变量的概率模型参数的极大似然估计,是一种迭代算法,每次迭代有E步和M步两步,又称期望极大算法。

变量

  • 观测变量 observable variable
  • 隐变量 hidden variable
  • 潜在变量 latent variable

如果概率模型的变量全部是观测变量,可以使用给定数据,用极大似然估计,或者贝叶斯估计法估计模型参数;

如果概率模型的变量含有隐变量,则不能简单使用上述方法,EM方法为此而生。

数据

  • 观测随机变量的数据(不完全数据)
  • 隐随机变量的数据

两者连在一起称为完全数据。

EM算法

体会一下什么样的问题可以使用EM方法:

一个掷硬币游戏,有A、B、C三枚硬币。先掷A,根据A的情况选择B或C;再掷选出的硬币,本次硬币的正反面决定结果(1或0)。

如果在整个过程中,我们能够观察最后的结果是1还是0,但是不能观察这个结果到底是B还是C掷出的,那么这里的B或C就是一个隐变量。

如果需要根据观测结果估计三个硬币正面出现的概率(也就是硬币模型参数),就可以使用EM方法。

方法简述

基础:模型参数的极大似然估计

首先,选取参数初值;(模型参数在这里就可以理解为硬币正面出现的概率)

然后,迭代计算参数估计值(这里的迭代,可以理解为通过上面的估计值,结合观测参数的计算,重新估计模型参数),直到收敛。

【EM算法与初值的选择有关,不同初值可能得到不同的参数估计值】

核心

EM算法的核心是Q函数:$Q(\theta,\theta^{(i)})=E_Z[\log P(Y, Z|\theta)|Y, \theta^{(i)}]$

是在迭代步骤中出现的,是对数似然函数 $\log P(Y,Z|\theta)$ 在给定观测数据 Y估计参数 $\theta^{(i)}$ 下对未测量数据 Z条件概率分布期望

【EM算法不能保证找到全局最优值】

EM算法的收敛性

一方面,EM算法关于对数似然函数序列是收敛的;

另一方面,EM算法关于参数估计序列是收敛的;

可以保证参数估计序列收敛到对数似然函数序列的稳定点,但不能保证收敛到极大值点。

常用方法是:选取不同初值尝试,对估计值比较选择最好的。

EM算法在高斯混合模型学习中的应用

高斯混合模型,可以理解为高斯分布的概率分布模型(在概统中,我们一般用 $\Phi(x)$ 代替了,查表解决问题,其实是有公式的,这里用的是公式)

总的来说,有以下几个步骤:

  • 确定隐变量,写出完全数据的对数似然函数
  • 确定Q函数,开始迭代中的E步骤,计算期望
  • M步,求Q函数关于模型参数的极大值,求得新一轮迭代的模型参数【基本方法是求偏导数并令其为0】

EM算法的推广

F函数:$F(\tilde P,\theta)=E_{\tilde P}[\log P(Y, Z|\theta)]+H(\tilde P)$

其中,$\tilde P(Z)$ 是Z的概率分布,H 是分布的熵

F函数的极大-极大算法,同EM算法是一致的。

GEM算法:大致来看和EM算法没有本质区别,但是在迭代过程中:

  • EM算法希望直接找极大值
  • GEM算法2可以不直接找极大值,而是找相对大一点的值,不停迭代
  • GEM算法3则是采用条件极大化,固定某些条件,微调参数向量的一个分量,实现极大
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2020-2022 Sun Yue

请我喝杯咖啡吧~

支付宝
微信