EM算法

EM算法

1.EM算法的引入

MLE极大似然估计

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

1455474-20181010134343034-1199830961.png

则:

$\pi=0.5 $

\(p=0.6\)

\(q=0.6\)

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

1455474-20181018225403951-1768867507.png

则三硬币模型表示为:
\[ \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的概率

1455474-20181018225449114-1837646520.png

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

1455474-20181018225519075-2008779696.png

EM算法

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

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

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

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

1455474-20181018225528276-2009307797.png

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

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

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

Q函数是EM算法的核心

1455474-20181018225601267-295733239.png

EM算法的导出

目标 极大化

1455474-20181018225611740-556006906.png

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

1455474-20181018225622330-2142039991.png

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

琴生不等式:

1455474-20181018225639107-1662699375.png

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

1455474-20181018225700059-1941226903.png

1455474-20181018225714763-486875194.png

1455474-20181018225720649-1258520690.png

即函数\(B(\theta,\theta ^i)\)\(L(\theta)\)的一个下界,若\(\theta = \theta ^i\),则
\[ L(\theta ^i)=B(\theta ^i,\theta ^i ) \]
现求\(\theta ^{(i+1)}\) 的表达式,省去常数项\(L(\theta)\) ,得到:

1455474-20181018225730452-1140642208.png

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

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

1455474-20181018225738739-553282759.png

2.EM算法的收敛性

两个定理

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

1455474-20181018225748540-692816228.png

1455474-20181018225756576-1068650138.png

1455474-20181018225803236-932866621.png

定理2

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

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

3.1 高斯混合模型

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

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

1455474-20181018225812840-481216741.png

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

1455474-20181018225819550-464510675.png

高斯混合模型

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

\(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. 确定对数似然函数

1455474-20181018225835788-1580551385.png

1455474-20181018225843367-1321178027.png

1455474-20181018225853531-1600213929.png

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

    1455474-20181018225921197-1162012908.png

    1455474-20181018230128553-1395633055.png

  2. M步,参数迭代

    1455474-20181018230135851-1070923107.png

4.EM算法的推广

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

转载于:https://www.cnblogs.com/JM-LIU/p/9765906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值