Task3 EM算法

2020-04-27  本文已影响0人  酱油啊_

简介

EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,其最主要的思想有两步:

其实K-Means就是这种思想。求质心的过程其实就是E,计算每个样本最近的质心,就是M步。

数学推导


输入:观测数据X,模型参数为θ。极大化模型分布的对数似然为:
\theta = arg \max \limits_{\theta}\sum\limits_{i=1}^m logP(x^{(i)};\theta)
对于得到的观察数据有未观察到的隐含数据Z,极大化模型分布的对数似然可以变成:
\theta = arg \max \limits_{\theta}\sum\limits_{i=1}^m logP(x^{(i)};\theta) = arg \max \limits_{\theta}\sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}P(x^{(i)}, z^{(i)};\theta)

通过Jensen不等式:
log\sum\limits_j\lambda_jy_j \geq \sum\limits_j\lambda_jlogy_j\;\;, \lambda_j \geq 0, \sum\limits_j\lambda_j =1

极大化模型分布的对数似然可以变成:
\begin{align} \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}P(x^{(i)}, z^{(i)};\theta) & = \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}Q_i(z^{(i)})\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \\ & \geq \sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \end{align}
其中Q_i(z^{(i)})是一个未知的新的分布。

或者说由于对数函数是凹函数,所以有:
f(E(x))≥E(f(x))如果f(x)是凹函数
    此时如果要满足Jensen不等式的等号,则有:
P(x(i),z(i);θ)Qi(z(i))=c,c为常数
    由于Qi(z(i))是一个分布,所以满足:
∑zQi(z(i))=1
    从上面两式,我们可以得到:
Qi(z(i))=P(x(i),z(i);θ)∑zP(x(i),z(i);θ)=P(x(i),z(i);θ)P(x(i);θ)=P(z(i)|x(i);θ))
    如果Qi(z(i))=P(z(i)|x(i);θ)), 则第(2)式是我们的包含隐藏数据的对数似然的一个下界。如果我们能极大化这个下界,则也在尝试极大化我们的对数似然。即我们需要最大化下式:
argmaxθ∑i=1m∑z(i)Qi(z(i))logP(x(i),z(i);θ)Qi(z(i))
    去掉上式中为常数的部分,则我们需要极大化的对数似然下界为:
argmaxθ∑i=1m∑z(i)Qi(z(i))logP(x(i),z(i);θ)
    上式也就是我们的EM算法的M步,那E步呢?注意到上式中Qi(z(i))是一个分布,因此∑z(i)Qi(z(i))logP(x(i),z(i);θ)可以理解为logP(x(i),z(i);θ)基于条件概率分布Qi(z(i))的期望。

至此,我们理解了EM算法中E步和M步的具体数学含义。

EM算法流程

输入: 观察数据x=\left(x^{(1)}, x^{(2)}, \ldots x^{(m)}\right) ,联合分布p(x, z | \theta) ,条件分布p(z | x, \theta) ,极大迭代次数J

  1. 随机初始化模型参数\thetaθ的初值\theta^{0}

  2. from j from 1 to J:
    - E步:计算联合分布的条件概率期望:
    \left.Q_{i}\left(z{(i)}\right):=P\left(z{(i)} | x^{(i)}, \quad \theta\right)\right)

     - M步:极大化L(\theta)L(θ),得到\thetaθ:
    

\theta:=\arg \max {\theta} \sum{i=1}^{m} \sum_{z^{(i)}} Q_{i}\left(z^{(i)}\right) \log P\left(x^{(i)}, z^{(i)} | \theta\right)
- E,M步骤直到\thetaθ收敛。
- 输出:模型参数\thetaθ

EM算法收敛性的思考

EM算法应用

如果我们从算法思想的角度来思考EM算法,我们可以发现我们的算法里已知的是观察数据,未知的是隐含数据和模型参数,在E步,我们所做的事情是固定模型参数的值,优化隐含数据的分布,而在M步,我们所做的事情是固定隐含数据分布,优化模型参数的值。EM的应用包括:
- 支持向量机的SMO算法
- 混合高斯模型
- K-means
- 隐马尔可夫模型

参考资料:


上一篇下一篇

猜你喜欢

热点阅读