EM算法


前言

这篇博客简单介绍期望最大化(Expectation-Maximization,EM)算法。 其实很喜欢一些有些年头的算法,名字简明易了。 EM算法便是代表,算法主要迭代Expectation和Maximization两个环节,最后求解模型的MLE或者MAP。 EM算法主要是为了解决所要构建的似然函数或者后验分布中存在隐变量而无法简单获得的问题。

在正式开始前,我想到我的指导老师评价EM算法为“我们当时读博时,谁都了解的算法”。 顺带一提,他是上个世纪90年代的博士生。

EM算法进行MLE

假设我们的观测数据为x={x1,x2,…,xN}\boldsymbol{x}= \{x_{1},x_{2}, \dots, x_N\}。 随机变量服从的分布的模型参数为θ\theta,假定的似然函数为L(θ∣x)L(\theta \mid \boldsymbol{x})。 根据MLE,我们如下估计θ\theta

θ^∗=arg⁡max⁡θ∑iNlog⁡L(θ∣xi),(1)\widehat{\theta}^{*} = \arg \max_{\theta}\sum_{i}^{N}\log{ L(\theta\mid x_{i})}, \tag{1}

这里我们使用的对数似然函数。

一切看起来都十分顺利,但是如果存在另一个随机变量ZZ,并且与变量XX并不独立,那么L(θ∣x)L(\theta \mid \boldsymbol{x})的获得可能要将ZZ周边化掉。 假设,zz为ZZ的相应数据。

L(θ∣x)=P(x∣θ)=∫zP(x,z∣θ) dzL(\theta \mid \boldsymbol{x}) = P(\boldsymbol{x} \mid \theta) = \int_{\boldsymbol{z}} P(\boldsymbol{x}, \boldsymbol{z} \mid \theta )\, dz

如果z\boldsymbol{z}是可以观测的,那么必然没有什么问题

∫zP(x,z∣θ) dz=∫zP(x∣θ,z)P(z∣θ) dz=∫zP(x∣θ,z)P(z) dz.\int_{\boldsymbol{z}} P(\boldsymbol{x}, \boldsymbol{z} \mid \theta )\, dz = \int_{\boldsymbol{z}} P(\boldsymbol{x} \mid \theta, \boldsymbol{z} )P(\boldsymbol{z}\mid \theta)\, dz = \int_{\boldsymbol{z}} P(\boldsymbol{x} \mid \theta, \boldsymbol{z} )P(\boldsymbol{z})\, dz.

对于最后一步的原因,可以简单地理解为因为θ因为\theta不是ZZ的参数。 更具体而言的话,也许可以从贝叶斯网络的角度来有一个更直观上的理解

graph LR
        A((Z)) --> B((X))
        C((θ)) --> B
graph LR
        B((Z)) --> A((X))
        C((θ)) --> B

Author: CAI Ming
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source CAI Ming !
评论
  TOC