EM算法

EM算法

1.EM算法的引入

MLE极大似然估计

三硬币模型 三个硬币分别记做 A,B,C ,这些硬币正面朝上的概率分别为 \(\pi ,p,q\),首先选择抛硬币 A ,若 A 为正,则选择 B ,否则选择 C ,然后抛出所选硬币进行观测,正面记做 1 ,反面记做 0 ,重复 10 次得到如下的结果:

![](https://img2018.cnblogs.com/blog/1455474/201810/1455474-20181010134343034-1199830961.png)

则:

$\pi=0.5 $

\(p=0.6\)

\(q=0.6\)

但若是隐藏硬币\(A\)的观测数据:

则三硬币模型表示为:

\[\begin{eqnarray} P(y|\theta) & =& \sum P(y,z|\theta)\\ & =&\sum P(z|\theta)P(y|z,\theta)\\ & =&\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y} \end{eqnarray} \]

其中\(y\) 是观测变量,\(z\)是隐藏变量

似然函数为:

\[P(Y|\theta)=\sum _Z P(Z|\theta)P(Y|Z,\theta) \]

对数似然函数为:

\(P(Y|\theta)=\prod_{j=1}^n{[p^y_j(1-p)^{1-y_j}+(1-\pi)q^y_j(1-q)^{1-y_j}]}\)

求模型的极大似然估计,即:

$\hat{\theta} =arg \quad max \quad log P(Y|\theta) $

这个式子没有解析解

若是表示为方程组为:

\(\pi *p+(1-\pi)*q=0.6\)

\(\pi*(1-p)+(1-\pi)*(1-q)=0.4​\)

这个方程组是没有解析解的,它的解空间有无数个解。

现给出针对以上问题的EM算法

EM算法首先选取参数的初值,记作\(\theta^0=(\pi ^0,p^0,q^0)\),然后通过下面的步骤迭代计算参数的估计值,直至收敛为止。第\(i\)次的迭代参数的估计值为\(\theta ^i = (\pi^i,p^i,q^i)\) ,\(EM\)算法的第\(i+1\)次迭代为:

E步: 计算在模型参数\(\theta ^i = (\pi^i,p^i,q^i)\)下观测数据\(y_j\)来自掷硬币B的概率

M步: 计算模型参数的新估计值

EM算法

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

输出:模型参数\(\theta\)

(1)选择参数的初值\(\theta ^0\),开始迭代;

(2)E步, 记\(\theta ^i\)为第i次迭代参数\(\theta\) 的估计值,在第i+1次迭代的E步,计算

这里\(P(Z|Y,\theta ^i)\) 是在给定观测数据Y和当前的参数估计\(\theta ^i\) 下隐变量数据Z的条件概率分布;

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

重复第(2)步和第(3)步,直到收敛。

Q函数是EM算法的核心

EM算法的导出

目标 极大化

方法:迭代并使 \(L(\theta)>L(\theta ^i)\),考虑两者的差:

利用琴生(Jensen)不等式,得到 该式的下界:

琴生不等式:

因为\(log\)函数是凹函数,可以使用第二个不等式

即函数\(B(\theta,\theta ^i)\)\(L(\theta)\)的一个下界,若\(\theta = \theta ^i\),则

\[L(\theta ^i)=B(\theta ^i,\theta ^i ) \]

现求\(\theta ^{(i+1)}\) 的表达式,省去常数项\(L(\theta)\) ,得到:

可以看出,使得\(B函数\)极大化的\(\theta\) 等价于使\(Q\)函数极大化

EM算法的直观解释,EM算法的结果可能并不是全局最优的结果

2.EM算法的收敛性

两个定理

定理1 似然函数\(P(Y|\theta ^i)\) 是单调递增的

定理2

  • 似然函数\(L(\theta)\) 收敛
  • \(\theta\) 收敛值是一稳定点

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

3.1 高斯混合模型

高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。

如图1,图中的点在我们看来明显分成两个聚类。这两个聚类中的点分别通过两个不同的正态分布随机生成而来。但是如果没有GMM,那么只能用一个的二维高斯分布来描述图1中的数据。图1中的椭圆即为二倍标准差的正态分布椭圆。这显然不太合理,毕竟肉眼一看就觉得应该把它们分成两类。

如果将两个二维高斯分布N(μ1,Σ1)N(μ1,Σ1)和N(μ2,Σ2)N(μ2,Σ2)合成一个二维的分布,那么就可以用合成后的分布来描述图2中的所有点。最直观的方法就是对这两个二维高斯分布做线性组合,用线性组合后的分布来描述整个集合中的数据。这就是高斯混合模型(GMM)。

高斯混合模型

高斯混合模型是指具有如下形式的概率分布模型:

\(P(y|\theta)=\sum_{k=1}^K \alpha ^k \phi(y|\theta_k)\)

其中\(\alpha\)是系数,\(\alpha_k\geq 0\) ,\(\sum_{k=1}^K=1\) ,\(\phi(y|\theta_k)\) 符合高斯分布,\(\theta_k=(\mu_k,\sigma_k^2)\) ,成为第\(k\)个分模型

3.2高斯混合模型参数估计的EM算法

  1. 确定对数似然函数

  1. E步,确定\(Q\)函数

  2. M步,参数迭代

4.EM算法的推广

posted @ 2018-10-18 23:02  JM_LIU  阅读(501)  评论(0编辑  收藏  举报