EM算法简介

EM算法简介

1 使用场景

EM算法(expectation maximization algorithm)用于含有隐变量概率模型参数的极大似然估计。在不含有隐变量(未观测变量)的概率模型参数估计,最常用的就是极大似然估计。在含有未观测变量时,一般使用EM算法。

2 目标

EM算法还是要极大化观测数据(不完全数据)的对数似然函数。假设有m个观测样本 ( y 1 , z 1 ) , ( y 2 , z 2 ) , . . . , ( y m , z m ) (y_1,z_1),(y_2,z_2),...,(y_m,z_m) (y1,z1),(y2,z2),...,(ym,zm)Y是观测变量,Z是隐变量。则观测数据的对数似然为:

L L ( θ ) = ∑ i = 1 m l o g p ( y i ∣ θ ) = ∑ i = 1 m l o g ∑ Z p ( y i , z ∣ θ ) LL(\theta)=\sum_{i=1}^m\mathop{log}p(y_i|\theta)=\sum_{i=1}^mlog\sum_Zp(y_i,z|\theta) LL(θ)=i=1mlogp(yiθ)=i=1mlogZp(yi,zθ)
变换用到联合概率分布的边缘分布。我们的目标也就是求解使得 L L ( θ ) LL(\theta) LL(θ)最大 θ \theta θ的值:
θ ~ = a r g m a x θ L L ( θ ) \tilde{\theta}=\mathop{argmax}\limits_\theta LL(\theta) θ~=θargmaxLL(θ)

3 迭代求解
3.1 算法导出

如果已知 θ \theta θ,那么可以直接估计 z z z的分布。或者

如果已知 z z z,那么问题就退化成不包含隐变量的概率模型参数估计,可以直接使用极大似然估计。

但是由于 θ \theta θ z z z都不知道。那么能否用一种迭代的思想去求解,先给出 θ \theta θ的值,然后计算z的分布,在根据z的分布,去得到 θ t + 1 \theta^{t+1} θt+1。并且在迭代的过程中要不断确保 L L ( θ ) LL(\theta) LL(θ)不断增大。

1.4算法导出
L L ( θ ) = ∑ i = 1 m l o g ( p ( y i ∣ θ ) ) = ∑ i = 1 m l o g ∑ Z p ( y i , z ∣ θ ) LL(\theta)=\sum_{i=1}^mlog(p(y_i|\theta))=\sum_{i=1}^mlog\sum_Zp(y_i,z|\theta) LL(θ)=i=1mlog(p(yiθ))=i=1mlogZp(yi,zθ)

= ∑ i = 1 m l o g ∑ Z Q i ( z ) p ( y i , z ∣ θ ) Q i ( z ) =\sum_{i=1}^mlog\sum_ZQ_i(z)\frac{p(y_i,z|\theta)}{Q_i(z)}\\ =i=1mlogZQi(z)Qi(z)p(yi,zθ)

其中 Q i ( z ) > 0 , ∑ Q i ( z ) = 1 Q_i(z)>0,\sum Q_i(z)=1 Qi(z)>0,Qi(z)=1。由jensen不等式可得到 L L ( θ ) LL(\theta) LL(θ)的下界函数。
≥ ∑ i = 1 m ∑ z Q i ( z ) l o g p ( y i , z ∣ θ ) Q i ( z ) \ge\sum_{i=1}^m\sum_zQ_i(z)log\frac{p(y_i,z|\theta)}{Q_i(z)} i=1mzQi(z)logQi(z)p(yi,zθ)
jensen不等式等号成立的条件是 E ( x ) = 1 E(x)=1 E(x)=1。即 p ( y i , z ∣ θ ) Q i ( z ) = c \frac{p(y_i,z|\theta)}{Q_i(z)}=c Qi(z)p(yi,zθ)=c。并且由于 ∑ Q i ( z ) = 1 \sum Q_i(z)=1 Qi(z)=1可推出
p ( y i , z ∣ θ ) Q i ( z ) = c p ( y i , z ∣ θ ) = Q i ( z ) c ∑ z p ( y i , z ∣ θ ) = ∑ z Q i ( z ) c = c Q i ( z ) = p ( y i , z ∣ θ ) ∑ z p ( y i , z ∣ θ ) = p ( y i , z ∣ θ ) p ( y i ∣ θ ) = p ( z ∣ y i , θ ) \frac{p(y_i,z|\theta)}{Q_i(z)}=c\\p(y_i,z|\theta)=Q_i(z)c\\\sum_zp(y_i,z|\theta)=\sum_zQ_i(z)c=c\\ Q_i(z)=\frac{p(y_i,z|\theta)}{\sum_zp(y_i,z|\theta)}=\frac{p(y_i,z|\theta)}{p(y_i|\theta)}=p(z|y_i,\theta) Qi(z)p(yi,zθ)=cp(yi,zθ)=Qi(z)czp(yi,zθ)=zQi(z)c=cQi(z)=zp(yi,zθ)p(yi,zθ)=p(yiθ)p(yi,zθ)=p(zyi,θ)
Q i ( z ) Q_i(z) Qi(z)就是给定 θ \theta θ和y时,z的条件概率分布。如果令
B ( θ ∣ θ t ) = ∑ i = 1 m ∑ Z p ( z ∣ y i , θ t ) l o g p ( y i , z ∣ θ ) p ( z ∣ y i , θ t ) B(\theta|\theta^t)=\sum_{i=1}^m\sum_Zp(z|y_i,\theta^t)log\frac{p(y_i,z|\theta)}{p(z|y_i,\theta^t)} B(θθt)=i=1mZp(zyi,θt)logp(zyi,θt)p(yi,zθ)
则有以下关系:
L L ( θ ∣ θ t ) ≥ ∑ i = 1 m ∑ Z p ( z ∣ y i , θ t ) l o g p ( y i , z ∣ θ ) p ( z ∣ y i , θ t ) = B ( θ ∣ θ t ) LL(\theta|\theta^t)\ge\sum_{i=1}^m\sum_Zp(z|y_i,\theta^t)log\frac{p(y_i,z|\theta)}{p(z|y_i,\theta^t)}=B(\theta|\theta^t) LL(θθt)i=1mZp(zyi,θt)logp(zyi,θt)p(yi,zθ)=B(θθt)
B ( θ ∣ θ t ) B(\theta|\theta^t) B(θθt) L L ( θ ∣ θ t ) LL(\theta|\theta^t) LL(θθt)的下界函数。并且在 θ = θ t \theta=\theta^t θ=θt时等号成立。

在迭代中不断极大化下界函数 B ( θ ∣ θ t ) B(\theta|\theta^t) B(θθt)达到使对数似然 L L ( θ ∣ θ t ) LL(\theta|\theta^t) LL(θθt)不断增大的目的。当 θ t \theta^t θt给定时, p ( y i , z ∣ θ t ) p(y_i,z|\theta^t) p(yi,zθt)是常数,可忽略。令 Q ( θ ∣ θ t ) Q(\theta|\theta^t) Q(θθt):
Q ( θ ∣ θ t ) = ∑ i = 1 m ∑ Z p ( z ∣ y i , θ t ) l o g p ( y i , z ∣ θ ) Q(\theta|\theta^t)=\sum_{i=1}^m\sum_Zp(z|y_i,\theta^t)logp(y_i,z|\theta) Q(θθt)=i=1mZp(zyi,θt)logp(yi,zθ)
所以只需在每轮迭代极大化Q函数即可。

3.2 EM算法过程
  1. 给定初始值 θ 0 \theta^0 θ0
  2. E步:根据当前参数值 θ t \theta^t θt,计算在给定观测数据Y和当前估计参数 θ t \theta^t θt下,隐变量z的条件概率分布 p ( z ∣ Y , θ t ) p(z|Y,\theta^t) p(zY,θt),并计算完全数据在给定观测数据Y和当前估计参数 θ t \theta^t θt下,对隐变量z条件概率分布的期望 Q ( θ ∣ θ t ) Q(\theta|\theta^t) Q(θθt)
  3. M步:极大化 Q ( θ ∣ θ t ) Q(\theta|\theta^t) Q(θθt)得到t+1次迭代的参数估计值 θ t + 1 \theta^{t+1} θt+1
  4. 重复2,3步,直到收敛。
4 收敛性证明
4.1 单调性证明

L L ( θ ∣ θ t ) LL(\theta|\theta^t) LL(θθt)在每次迭代的值时单调递增的

证明:

设有f(x),g(x),其中g(x)是f(x)的下界函数。即 f ( x ) ≥ g ( x ) f(x)\ge g(x) f(x)g(x)。如果有 f ( x 1 ) = g ( x 1 ) , g ( x 2 ) > g ( x 1 ) f(x_1)=g(x_1),g(x_2)>g(x_1) f(x1)=g(x1),g(x2)>g(x1),那么 f ( x 2 ) > f ( x 1 ) f(x_2)>f(x_1) f(x2)>f(x1)

证:
f ( x 2 ) ≥ g ( x 2 ) ≥ g ( x 1 ) = f ( x 1 ) f(x_2)\ge g(x_2)\ge g(x_1)=f(x_1) f(x2)g(x2)g(x1)=f(x1)
在EM算法的每轮迭代中。 B ( θ ∣ θ t ) B(\theta|\theta^t) B(θθt) L L ( θ ∣ θ t ) LL(\theta|\theta^t) LL(θθt)的下界函数,并且有 B ( θ t ∣ θ t ) = L L ( θ t ∣ θ t ) , B ( θ t + 1 ∣ θ t ) ≥ B ( θ t ∣ θ t ) B(\theta^t|\theta^t)=LL(\theta^t|\theta^t),B(\theta^{t+1}|\theta^t)\ge B(\theta^t|\theta^t) B(θtθt)=LL(θtθt),B(θt+1θt)B(θtθt)。所以有 L L ( θ t + 1 ∣ θ t ) ≥ L L ( θ t ∣ θ t ) LL(\theta^{t+1}|\theta^t)\ge LL(\theta^t|\theta^t) LL(θt+1θt)LL(θtθt),即在每一轮迭代中 L L ( θ ∣ θ t ) LL(\theta|\theta^t) LL(θθt)是单调递增的。

4.2 收敛性

(1)如果 P ( Y ∣ θ ) P(Y|\theta) P(Yθ)有上界,则收敛。

(2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值