20-EM(Expectation-Maximum)期望最大

1. EM 算法简介

EM算法全称叫做Expectation-Maximum期望最大算法,它存在的意义主要就是来解决具有隐变量的混合模型的极大似然参数估计问题。对于极大似然问题来说,对于一般的模型,我们可以通过求函数的偏导来直接求解析解,但对于含有隐变量的混合模型时,因为计算量太大,所以根本没办法去求解析解,这样我们的EM算法求应运而生。EM算法通常在高斯混合模型GMM和隐马尔科夫模型HMM应用广泛。

简 单 模 型 : θ M L E = arg ⁡ max ⁡ θ log ⁡ P ( X ∣ θ ) (1) 简单模型:\theta_{MLE}=\mathop{\arg\max}\limits_{\theta}{\log P(X|\theta)}\tag{1} :θMLE=θargmaxlogP(Xθ)(1)

  • log ⁡ p ( X ∣ θ ) {\log p(X|\theta)} logp(Xθ):被称为对数似然函数(log-likelihood)
  • X : X: X:随机变量
  • θ : \theta: θ所有的参数变量

2.EM 算法来源

2.1 EM 算法分解:(EM =E-Step + M-Step)

对于一个模型来说,我们通常希望用极大似然估计法MLE求出相关参数:
θ M L E = log ⁡ P ( X ∣ θ ) (2) \theta_{MLE}=\log P(X|\theta)\tag{2} θMLE=logP(Xθ)(2)

  • X:表示观测数据(observed data)
  • Z:表示隐藏变量(unobserved data 或 latent variable)
  • (X,Z):表示 完整数据(complete data)
  • θ \theta θ:表示待估计参数

我们知道EM公式可以表示为如下:(EM公式)
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∫ z log ⁡ P ( x , z ∣ θ ) ⋅ P ( z ∣ x , θ ( t ) ) d z (3) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\int_{z}\log P(x,z|\theta)·P(z|x,\theta^{(t)})dz\tag{3} θ(t+1)=θargmaxzlogP(x,zθ)P(zx,θ(t))dz(3)
以上公式可以转换成两步进行描述E-Step和M-Step:

  • E-Step:完整数据 log ⁡ P ( x , z ∣ θ ) 在 服 从 分 布 Z ∼ { P ( z ∣ x , θ ( t ) ) } 下 的 期 望 \log P(x,z|\theta)在服从分布Z\sim \{P(z|x,\theta^{(t)})\}下的期望 logP(x,zθ)Z{P(zx,θ(t))}
    P ( z ∣ x , θ ( t ) ) → E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] (4) P(z|x,\theta^{(t)}) \rightarrow \mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]\tag{4} P(zx,θ(t))EZ{P(zx,θ(t))}[logP(x,zθ)](4)
  • M-Step: 选 择 一 个 θ 使 得 期 望 E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] 最 大 , 得 到 θ ( t + 1 ) 选择一个\theta使得期望\mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]最大,得到\theta^{(t+1)} θ使EZ{P(zx,θ(t))}[logP(x,zθ)]θ(t+1)
    θ ( t + 1 ) = arg ⁡ max ⁡ θ E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] (5) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]\tag{5} θ(t+1)=θargmaxEZ{P(zx,θ(t))}[logP(x,zθ)](5)
    上面我们只是知道了这个EM迭代算法是能满足 log ⁡ P ( X ∣ θ ) \log P(X|\theta) logP(Xθ)逐渐变大,能得到最大值,所以具有收敛性的,但不知道这个EM算法为什么是如公式<3>样?

2.2 EM算法来源分析

由贝叶斯公式我们可得如下:
P ( X ∣ θ ) = P ( x , z ∣ θ ) P ( z ∣ x , θ ) (6) P(X|\theta)=\frac{P(x,z|\theta)}{P(z|x,\theta)}\tag{6} P(Xθ)=P(zx,θ)P(x,zθ)(6)
分子分母同时除以一个我们任意假设的分布 q ( z ) ≠ 0 可 得 : q(z)≠0可得: q(z)=0
P ( x ∣ θ ) = P ( x , z ∣ θ ) / q ( z ) P ( z ∣ x , θ ) / q ( z ) (7) P(x|\theta)=\frac{P(x,z|\theta)/q(z)}{P(z|x,\theta)/q(z)}\tag{7} P(xθ)=P(zx,θ)/q(z)P(x,zθ)/q(z)(7)
等式两边同时取对数可得:
log ⁡ P ( x ∣ θ ) = log ⁡ P ( x , z ∣ θ ) q ( z ) − log ⁡ P ( z ∣ x , θ ) q ( z ) (8) \log P(x|\theta)=\log{\frac{P(x,z|\theta)}{q(z)}}-\log{\frac{P(z|x,\theta)}{q(z)}}\tag{8} logP(xθ)=logq(z)P(x,zθ)logq(z)P(zx,θ)(8)
等式两边同时在服从分布q(z)的情况下求其期望:
左 边 = ∫ z q ( z ) ⋅ log ⁡ P ( X ∣ θ ) d z = log ⁡ P ( X ∣ θ ) ⋅ ∫ z q ( z ) d z = log ⁡ P ( X ∣ θ ) (9) 左边=\int_{z}q(z)·\log P(X|\theta)dz=\log P(X|\theta)·\int_{z}q(z)dz=\log P(X|\theta)\tag{9} =zq(z)logP(Xθ)dz=logP(Xθ)zq(z)dz=logP(Xθ)(9)

  • 由期望的性质可得: ∫ z q ( z ) d z = 1 \int_{z}q(z)dz=1 zq(z)dz=1
    右 边 = ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) q ( z ) d z ⏟ E L B O + ( − ∫ z q ( z ) ⋅ log ⁡ P ( z ∣ x , θ ) q ( z ) d z ) ⏟ K L [ q ( z ) ∣ ∣ p ( z ∣ x , θ ) ] (10) 右边=\underbrace{\int_{z}q(z)·\log{\frac{P(x,z|\theta)}{q(z)}}dz}_{ELBO}+\underbrace{(-\int_{z}q(z)·\log{\frac{P(z|x,\theta)}{q(z)}}dz)}_{KL[q(z)||p(z|x,\theta)]}\tag{10} =ELBO zq(z)logq(z)P(x,zθ)dz+KL[q(z)p(zx,θ)] (zq(z)logq(z)P(zx,θ)dz)(10)

  • 我们定义: E L B O = ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) q ( z ) d z ELBO=\int_{z}q(z)·\log{\frac{P(x,z|\theta)}{q(z)}}dz ELBO=zq(z)logq(z)P(x,zθ)dz(注:ELBO= evidence lower bound 证据下界)

  • 我们定义: K L [ q ( z ) ∣ ∣ p ( z ∣ x , θ ) ] = − ∫ z q ( z ) ⋅ log ⁡ P ( Z ∣ X , θ ) q ( z ) d z KL[q(z)||p(z|x,\theta)]=-\int_{z}q(z)·\log{\frac{P(Z|X,\theta)}{q(z)}}dz KL[q(z)p(zx,θ)]=zq(z)logq(z)P(ZX,θ)dz
    结合左边和右边我们可知:
    log ⁡ P ( x ∣ θ ) = E L B O + K L [ q ( z ) ∣ ∣ p ( z ∣ x , θ ) ] (11) \log P(x|\theta)=ELBO+KL[q(z)||p(z|x,\theta)]\tag{11} logP(xθ)=ELBO+KL[q(z)p(zx,θ)](11)

  • p ( z ∣ x , θ ) : 为 后 验 分 布 p o s t e r i o r p(z|x,\theta):为后验分布posterior p(zx,θ)posterior

  • KL散度的性质是其值一定大于等于零的数。
    所以可得如下不等式:
    log ⁡ P ( x ∣ θ ) ≥ E L B O , 当 且 仅 当 q ( z ) = p ( z ∣ x , θ ) 时 等 号 成 立 (12) \log P(x|\theta)\geq ELBO,当且仅当q(z)=p(z|x,\theta)时等号成立\tag{12} logP(xθ)ELBOq(z)=p(zx,θ)(12)
    重点:
    EM算法的重要思想是想办法让ELBO达到最大,从而让 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)也不断变大。
    图形解释如下:
    在这里插入图片描述

注:假设我们由一个函数曲线 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ),

  • 1.我们先给定一个参数 θ ( t ) \theta^{(t)} θ(t),求出其 E L B O ( t ) ELBO_{(t)} ELBO(t)
  • 2.在曲线 E L B O ( t ) ELBO_{(t)} ELBO(t)中再到最大值并将求到的值赋值为参数 θ ( t + 1 ) \theta^{(t+1)} θ(t+1)
  • 3.同理求出在给定 θ ( t + 1 ) \theta^{(t+1)} θ(t+1)条件下的 E L B O ( t + 1 ) ELBO_{(t+1)} ELBO(t+1)
  • 4.在曲线 E L B O ( t + 1 ) ELBO_{(t+1)} ELBO(t+1)中再到最大值并将求到的值赋值为参数 θ ( t + 2 ) \theta^{(t+2)} θ(t+2)
  • 5.如此重复步骤3.4直到找到最大的值 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ),求得其 θ ^ \hat{\theta} θ^即可;

由于我们的目标是最大化 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)
log ⁡ P ( x ∣ θ ) = E L B O + K L [ q ( z ) ∣ ∣ p ( z ∣ x , θ ) ] (13) \log P(x|\theta)=ELBO+KL[q(z)||p(z|x,\theta)]\tag{13} logP(xθ)=ELBO+KL[q(z)p(zx,θ)](13)
所以我们求得的最大参数 θ ^ 满 足 如 下 等 式 : \hat{\theta}满足如下等式: θ^
θ ^ = arg ⁡ max ⁡ θ { E L B O } = arg ⁡ max ⁡ θ { ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) q ( z ) d z } (14) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\{ELBO\}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}q(z)·\log{\frac{P(x,z|\theta)}{q(z)}}dz\}\tag{14} θ^=θargmax{ELBO}=θargmax{zq(z)logq(z)P(x,zθ)dz}(14)

因为当 KL式子中的 q ( z ) = p ( z ∣ x , θ ( t ) ) 时 , 才 满 足 log ⁡ P ( x ∣ θ ) = E L B O q(z)=p(z|x,\theta^{(t)})时,才满足\log P(x|\theta)=ELBO q(z)=p(zx,θ(t))logP(xθ)=ELBO

所以我们将式子 q ( z ) = P ( z ∣ x , θ ( t ) ) q(z)=P(z|x,\theta^{(t)}) q(z)=P(zx,θ(t))代入到公式<14>中可得:

θ ^ = arg ⁡ max ⁡ θ { ∫ z P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( x , z ∣ θ ) P ( z ∣ x , θ ( t ) ) d z } (15) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}P(z|x,\theta^{(t)})·\log{\frac{P(x,z|\theta)}{P(z|x,\theta^{(t)})}}dz\}\tag{15} θ^=θargmax{zP(zx,θ(t))logP(zx,θ(t))P(x,zθ)dz}(15)
θ ^ = arg ⁡ max ⁡ θ { ∫ z P ( z ∣ x , θ ( t ) ) ⋅ [ log ⁡ P ( x , z ∣ θ ) − log ⁡ P ( z ∣ x , θ ( t ) ) ] d z } (16) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}P(z|x,\theta^{(t)})·[\log{{P(x,z|\theta)}-\log{P(z|x,\theta^{(t)})}}]dz\}\tag{16} θ^=θargmax{zP(zx,θ(t))[logP(x,zθ)logP(zx,θ(t))]dz}(16)

  • 由 于 log ⁡ p ( z ∣ x , θ ( t ) ) 是 一 个 由 上 次 确 定 好 的 量 , 所 以 这 里 可 看 作 常 量 , 所 以 上 式 可 改 写 成 如 下 : 由于\log{p(z|x,\theta^{(t)})}是一个由上次确定好的量,所以这里可看作常量,所以上式可改写成如下: logp(zx,θ(t))

θ ^ = arg ⁡ max ⁡ θ { ∫ z P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( x , z ∣ θ ) d z } (17) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}P(z|x,\theta^{(t)})·\log{{P(x,z|\theta)}}dz\}\tag{17} θ^=θargmax{zP(zx,θ(t))logP(x,zθ)dz}(17)
由于此时求得的 θ ^ = θ ( t + 1 ) , 所 以 得 出 E M 公 式 如 下 : \hat{\theta}=\theta^{(t+1)},所以得出EM公式如下: θ^=θ(t+1),EM
结 论 : θ ( t + 1 ) = arg ⁡ max ⁡ θ { ∫ z log ⁡ P ( x , z ∣ θ ) ⋅ P ( z ∣ x , θ ( t ) ) ⋅ d z } (18) 结论:\theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}\log{{P(x,z|\theta)}·P(z|x,\theta^{(t)})·}dz\}\tag{18} θ(t+1)=θargmax{zlogP(x,zθ)P(zx,θ(t))dz}(18)
即证毕!

2.3 EM算法来源-琴生不等式(Jensen Inequality)

琴生不等式(Jensen Inequality)就是指当我们拥有一个凸函数时,我们函数满足一些不等式的性质。
琴生不等式
假 设 我 们 有 一 个 变 量 t ∈ [ 0 , 1 ] , 那 么 在 坐 标 轴 a , b 中 有 一 点 c 满 足 : c = b − ( b − a ) t = t a + ( 1 − t ) b 假设我们有一个变量t\in[0,1],那么在坐标轴a,b中有一点c满足 : c= b-(b-a)t=ta+(1-t)b t[0,1]a,bc:c=b(ba)t=ta+(1t)b
由图形可得: f ( c ) ≥ f ( d ) , f ( c ) = f [ t a + ( 1 − t ) b ] ; f ( d ) = t f ( a ) + ( 1 − t ) f ( b ) f(c)\geq f(d),f(c)=f[ta+(1-t)b];f(d)=tf(a)+(1-t)f(b) f(c)f(d),f(c)=f[ta+(1t)b];f(d)=tf(a)+(1t)f(b)
f [ t a + ( 1 − t ) b ] ≥ t f ( a ) + ( 1 − t ) f ( b ) (19) f[ta+(1-t)b]\geq tf(a)+(1-t)f(b)\tag{19} f[ta+(1t)b]tf(a)+(1t)f(b)(19)
当c= 1 2 时 \frac{1}{2}时 21
f [ a + b 2 ] ≥ 1 2 f ( a ) + 1 2 f ( b ) (20) f[\frac{a+b}{2}]\geq \frac{1}{2}f(a)+\frac{1}{2}f(b)\tag{20} f[2a+b]21f(a)+21f(b)(20)
所以可得:
f [ E ( x ) ] ≥ E [ f ( x ) ] (21) f[E(x)]\geq E[f(x)]\tag{21} f[E(x)]E[f(x)](21)
当我们引进隐变量Z时,我们可得到如下式子:
log ⁡ P ( x ∣ θ ) = log ⁡ ∫ z P ( x , z ∣ θ ) d z (22) \log P(x|\theta)=\log \int_z P(x,z|\theta)dz\tag{22} logP(xθ)=logzP(x,zθ)dz(22)
步骤:

∵ log ⁡ P ( x ∣ θ ) = log ⁡ ∫ z P ( x , z ∣ θ ) q ( z ) ⋅ q ( z ) d z = log ⁡ E q ( z ) [ P ( x , z ∣ θ ) q ( z ) ] \because \log P(x|\theta)=\log \int_z \frac{P(x,z|\theta)}{q(z)}·q(z)dz=\log \mathbb{E}_{q(z)}[\frac{P(x,z|\theta)}{q(z)}] logP(xθ)=logzq(z)P(x,zθ)q(z)dz=logEq(z)[q(z)P(x,zθ)]

∵ 由 J e n s e n I n e q u a l i t y 不 等 式 可 得 : f [ E ( X ) ] ≥ E [ f ( x ) ] \because 由Jensen Inequality不等式可得:f[E(X)]\geq E[f(x)] JensenInequalityf[E(X)]E[f(x)]

log ⁡ E q ( z ) [ P ( x , z ∣ θ ) q ( z ) ] ≥ E q ( z ) [ log ⁡ P ( x , z ∣ θ ) q ( z ) ] = E L B O (23) \log \mathbb{E}_{q(z)}[\frac{P(x,z|\theta)}{q(z)}]\geq \mathbb{E}_{q(z)}[\log \frac{P(x,z|\theta)}{q(z)}]=ELBO\tag{23} logEq(z)[q(z)P(x,zθ)]Eq(z)[logq(z)P(x,zθ)]=ELBO(23)

对于此不等式来说,由图形可得,当图形为直线时成立,即Y=C时成立,即:
P ( x , z ∣ θ ) q ( z ) = c (24) \frac{P(x,z|\theta)}{q(z)}=c\tag{24} q(z)P(x,zθ)=c(24)
∵ P ( x , z ∣ θ ) = c ⋅ q ( z ) \because P(x,z|\theta)=c·q(z) P(x,zθ)=cq(z)

等式两边关于z求积分可得:

∴ ∫ z P ( x , z ∣ θ ) d z = c ∫ z q ( z ) d z = P ( x ∣ θ ) = c \therefore \int_z P(x,z|\theta) dz=c \int_z q(z) dz=P(x|\theta)=c zP(x,zθ)dz=czq(z)dz=P(xθ)=c

代入公式<23>可得:

q ( z ) = P ( x , z ∣ θ ) c = P ( x , z ∣ θ ) P ( x ∣ θ ) = P ( z ∣ x , θ ) (25) q(z)=\frac{P(x,z|\theta)}{c}=\frac{P(x,z|\theta)}{P(x|\theta)}=P(z|x,\theta)\tag{25} q(z)=cP(x,zθ)=P(xθ)P(x,zθ)=P(zx,θ)(25)
重点!!!我们随便给的一个分布q(z),最后为了取得等号使之得到ELBO,发现这个q(z)居然就是后验!!!我们不断的去优化ELBO的时候,使得ELBO越大,从而迭代后,使得 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)越来越大,由于是迭代完成,所以 q ( z ) = P ( z ∣ x , θ ( t ) ) q(z)=P(z|x,\theta^{(t)}) q(z)=P(zx,θ(t)),这是上次迭代出来的结果,对于这次来说是一个常数C。
log ⁡ P ( x ∣ θ ) = log ⁡ E q ( z ) [ P ( x , z ∣ θ ) q ( z ) ] = log ⁡ E q ( z ) [ P ( x , z ∣ θ ) P ( z ∣ x , θ ( t ) ) ] (26) \log P(x|\theta)=\log \mathbb{E}_{q(z)}[\frac{P(x,z|\theta)}{q(z)}]=\log \mathbb{E}_{q(z)}[\frac{P(x,z|\theta)}{P(z|x,\theta^{(t)})}]\tag{26} logP(xθ)=logEq(z)[q(z)P(x,zθ)]=logEq(z)[P(zx,θ(t))P(x,zθ)](26)
整理上式可得:
θ ^ = arg ⁡ max ⁡ θ log ⁡ P ( x ∣ θ ) = arg ⁡ max ⁡ θ { ∫ z P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( x , z ∣ θ ) P ( z ∣ x , θ ( t ) ) d z } (27) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\log P(x|\theta)=\mathop{\arg\max}\limits_{\theta}\{\int_{z}P(z|x,\theta^{(t)})·\log{\frac{P(x,z|\theta)}{P(z|x,\theta^{(t)})}}dz\}\tag{27} θ^=θargmaxlogP(xθ)=θargmax{zP(zx,θ(t))logP(zx,θ(t))P(x,zθ)dz}(27)
由于 q ( z ) = P ( z ∣ x , θ ( t ) ) q(z)=P(z|x,\theta^{(t)}) q(z)=P(zx,θ(t))相对上式来说是一个常数,所以可以忽略。那么上式可变为如下:
θ ^ = θ ( t + 1 ) = arg ⁡ max ⁡ θ { ∫ z log ⁡ P ( x , z ∣ θ ) ⋅ P ( z ∣ x , θ ( t ) ) d z } (28) \hat{\theta}=\theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\{\int_{z}\log{P(x,z|\theta)}·P(z|x,\theta^{(t)})dz\}\tag{28} θ^=θ(t+1)=θargmax{zlogP(x,zθ)P(zx,θ(t))dz}(28)
证毕,公式结果跟EM公式一致!
小结:
对于EM算法来说,我们为了求 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)最大值,对于具有隐变量的模型来说,根本没办法直接通过MLE方法求得,所以,我们想到了能够找到一个跟它差不多的相近的值ELBO代替它,通过求得ELBO的最大值来不断的逼近 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ),在找到ELBO所需的 θ \theta θ时,通过迭代,不断的求得更大的 log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)为止,直到求出所需最大的参数 θ \theta θ log ⁡ P ( x ∣ θ ) \log P(x|\theta) logP(xθ)

3. EM算法的收敛性证明

3.1 EM算法公式

由简单模型的目标函数 arg ⁡ max ⁡ θ log ⁡ P ( X ∣ θ ) \mathop{\arg\max}\limits_{\theta}{\log P(X|\theta)} θargmaxlogP(Xθ)可知,新的模型就是新增了隐变量Z,所以模型可变成如下:
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∫ z log ⁡ P ( x , z ∣ θ ) ⋅ P ( z ∣ x , θ ( t ) ) d z (29) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\int_{z}\log P(x,z|\theta)·P(z|x,\theta^{(t)})dz\tag{29} θ(t+1)=θargmaxzlogP(x,zθ)P(zx,θ(t))dz(29)
由期望定义可得,上述公式可以看作是函数 log ⁡ P ( x , z ∣ θ ) \log P(x,z|\theta) logP(x,zθ)关于分布 P ( z ∣ x , θ ( t ) ) P(z|x,\theta^{(t)}) P(zx,θ(t))的期望:
θ ( t + 1 ) = arg ⁡ max ⁡ θ E z ∼ { z ∣ x , θ ( t ) } log ⁡ P ( x , z ∣ θ ) (30) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{z\sim \{z|x,\theta^{(t)}\}}\log P(x,z|\theta)\tag{30} θ(t+1)=θargmaxEz{zx,θ(t)}logP(x,zθ)(30)
我们的目标是:
证 明 当 θ ( t ) → θ ( t + 1 ) 时 , 则 log ⁡ P ( x ∣ θ ( t ) ) → log ⁡ P ( x ∣ θ ( t + 1 ) ) , 满 足 log ⁡ P ( x ∣ θ ( t ) ) ≤ log ⁡ P ( x ∣ θ ( t + 1 ) ) 证明当\theta^{(t)}\rightarrow \theta^{(t+1)}时,则\log P(x|\theta^{(t)})\rightarrow \log P(x|\theta^{(t+1)}),满足\log P(x|\theta^{(t)})\leq \log P(x|\theta^{(t+1)}) θ(t)θ(t+1)logP(xθ(t))logP(xθ(t+1))logP(xθ(t))logP(xθ(t+1))

证明过程如下:

∵ 由 贝 叶 斯 公 式 可 得 : P ( x ∣ θ ) = P ( x , z ∣ θ ) P ( z ∣ x , θ ) \because 由贝叶斯公式可得:P(x|\theta)=\frac{P(x,z|\theta)}{P(z|x,\theta)} P(xθ)=P(zx,θ)P(x,zθ)

∴ 两 边 取 对 数 可 得 : log ⁡ P ( x ∣ θ ) = log ⁡ P ( x , z ∣ θ ) − log ⁡ P ( z ∣ x , θ ) \therefore 两边取对数可得: \log P(x|\theta)=\log P(x,z|\theta)-\log P(z|x,\theta) :logP(xθ)=logP(x,zθ)logP(zx,θ)

∴ 两 边 同 时 关 于 分 布 P ( z ∣ x , θ ( t ) ) 求 期 望 可 得 : \therefore 两边同时关于分布P(z|x,\theta^{(t)})求期望可得: P(zx,θ(t)):

E P ( z ∣ x , θ ( t ) ) log ⁡ P ( x ∣ θ ) d z = E P ( z ∣ x , θ ( t ) ) [ log ⁡ P ( x , z ∣ θ ) − log ⁡ P ( z ∣ x , θ ) ] \mathbb{E}_{P(z|x,\theta^{(t)})}\log P(x|\theta)dz=\mathbb{E}_{P(z|x,\theta^{(t)})}[\log P(x,z|\theta)-\log P(z|x,\theta)] EP(zx,θ(t))logP(xθ)dz=EP(zx,θ(t))[logP(x,zθ)logP(zx,θ)]

∴ 左 边 = ∫ z P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( X ∣ θ ) d z \therefore 左边=\int_{z}P(z|x,\theta^{(t)})·\log P(X|\theta)dz =zP(zx,θ(t))logP(Xθ)dz

∵ log ⁡ P ( x ∣ θ ) 与 z 无 关 , 所 以 可 以 提 到 前 面 : \because \log P(x|\theta)与z无关,所以可以提到前面: logP(xθ)z:

左 边 = log ⁡ P ( x ∣ θ ) ⋅ ∫ z P ( z ∣ x , θ ( t ) ) d z = log ⁡ P ( x ∣ θ ) (31) 左边=\log P(x|\theta)·\int_{z}P(z|x,\theta^{(t)})dz=\log P(x|\theta)\tag{31} =logP(xθ)zP(zx,θ(t))dz=logP(xθ)(31)

右 边 = ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( x , z ∣ θ ) ] d z ⏟ Q ( θ , θ ( t ) ) − ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ) ] d z ⏟ H ( θ , θ ( t ) ) (32) 右边=\underbrace{\int_{z}[P(z|x,\theta^{(t)})·\log P(x,z|\theta)]dz}_{Q(\theta,\theta^{(t)})}-\underbrace{\int_{z}[P(z|x,\theta^{(t)})·\log P(z|x,\theta)]dz}_{H(\theta,\theta^{(t)})}\tag{32} =Q(θ,θ(t)) z[P(zx,θ(t))logP(x,zθ)]dzH(θ,θ(t)) z[P(zx,θ(t))logP(zx,θ)]dz(32)

  • 我 们 定 义 : Q ( θ , θ ( t ) ) = ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( x , z ∣ θ ) ] d z 我们定义:Q(\theta,\theta^{(t)})=\int_{z}[P(z|x,\theta^{(t)})·\log P(x,z|\theta)]dz :Q(θ,θ(t))=z[P(zx,θ(t))logP(x,zθ)]dz
  • 我 们 定 义 : H ( θ , θ ( t ) ) = ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ) ] d z 我们定义:H(\theta,\theta^{(t)})=\int_{z}[P(z|x,\theta^{(t)})·\log P(z|x,\theta)]dz :H(θ,θ(t))=z[P(zx,θ(t))logP(zx,θ)]dz

3.2 证明: Q ( θ ( t + 1 ) , θ ( t ) ) ≥ Q ( θ ( t ) , θ ( t ) ) Q(\theta^{(t+1)},\theta^{(t)})\geq Q(\theta^{(t)},\theta^{(t)}) Q(θ(t+1),θ(t))Q(θ(t),θ(t))

∵ θ ( t + 1 ) = arg ⁡ max ⁡ θ ∫ z log ⁡ P ( x , z ∣ θ ) ⋅ P ( z ∣ x , θ ( t ) ) d z = Q ( θ ( t + 1 ) , θ ) \because \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\int_{z}\log P(x,z|\theta)·P(z|x,\theta^{(t)})dz=Q(\theta^{(t+1)},\theta) θ(t+1)=θargmaxzlogP(x,zθ)P(zx,θ(t))dz=Q(θ(t+1),θ)

∴ θ ( t + 1 ) 为 函 数 Q ( θ , θ ( t ) ) 中 的 最 大 的 自 变 量 值 , Q ( θ ( t + 1 ) , θ ( t ) ) ≥ Q ( θ ( t ) , θ ( t ) ) \therefore \theta^{(t+1)}为函数Q(\theta,\theta^{(t)})中的最大的自变量值,Q(\theta^{(t+1)},\theta^{(t)})\geq Q(\theta^{(t)},\theta^{(t)}) θ(t+1)Q(θ,θ(t))Q(θ(t+1),θ(t))Q(θ(t),θ(t))

3.3 证明: H ( θ ( t + 1 ) , θ ( t ) ) ≤ H ( θ ( t ) , θ ( t ) ) H(\theta^{(t+1)},\theta^{(t)})\leq H(\theta^{(t)},\theta^{(t)}) H(θ(t+1),θ(t))H(θ(t),θ(t))

H ( θ ( t + 1 ) , θ ( t ) ) − H ( θ ( t ) , θ ( t ) ) \quad H(\theta^{(t+1)},\theta^{(t)})- H(\theta^{(t)},\theta^{(t)}) H(θ(t+1),θ(t))H(θ(t),θ(t))

代入公式<22>定义可得:

= ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ( t + 1 ) ) ] d z − ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ( t ) ) ] d z =\int_{z}[P(z|x,\theta^{(t)})·\log P(z|x,\theta^{(t+1)})]dz-\int_{z}[P(z|x,\theta^{(t)})·\log P(z|x,\theta^{(t)})]dz =z[P(zx,θ(t))logP(zx,θ(t+1))]dzz[P(zx,θ(t))logP(zx,θ(t))]dz

由于上述公式由公共项 P ( z ∣ x , θ ( t ) ) P(z|x,\theta^{(t)}) P(zx,θ(t)),合并可得:

= ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] d z =\int_{z}[P(z|x,\theta^{(t)})·\log \frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]}dz =z[P(zx,θ(t))logP(zx,θ(t))]P(zx,θ(t+1))]dz

3.3.1 KL定理证明

由于上述公式为相对熵的定义,所以上述公式可得:

= − K L ( P ( z ∣ x , θ ( t ) ) ∣ ∣ P ( z ∣ x , θ ( t + 1 ) ) ) ≤ 0 =-KL(P(z|x,\theta^{(t)})||P(z|x,\theta^{(t+1)}))\leq 0 =KL(P(zx,θ(t))P(zx,θ(t+1)))0

所 以 可 得 : H ( θ ( t + 1 ) , θ ( t ) ) ≤ H ( θ ( t ) , θ ( t ) ) (33) 所以可得:H(\theta^{(t+1)},\theta^{(t)})\leq H(\theta^{(t)},\theta^{(t)})\tag{33} H(θ(t+1),θ(t))H(θ(t),θ(t))(33)

3.3.2 Jensen inequality 定理证明

由于对数函数 ( log ⁡ ( x ) ) (\log(x)) (log(x))是凸函数,满足琴生不等式(Jensen inequality)性质:
E [ log ⁡ ( X ) ] ≤ log ⁡ [ E ( X ) ] (34) \mathbb{E}[\log(X)]\leq \log[\mathbb{E}(X)]\tag{34} E[log(X)]log[E(X)](34)
在这里插入图片描述
则:
= ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] d z = E P ( z ∣ x , θ ( t ) ) [ log ⁡ P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] ] =\int_{z}[P(z|x,\theta^{(t)})·\log \frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]}dz=\mathbb{E}_{P(z|x,\theta^{(t)})}[\log \frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]}] =z[P(zx,θ(t))logP(zx,θ(t))]P(zx,θ(t+1))]dz=EP(zx,θ(t))[logP(zx,θ(t))]P(zx,θ(t+1))]]

∵ E [ log ⁡ ( X ) ] ≤ log ⁡ [ E ( X ) ] \because \mathbb{E}[\log(X)]\leq \log[\mathbb{E(X)}] E[log(X)]log[E(X)]

∴ E [ log ⁡ ( P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] ) ] ≤ log ⁡ [ E ( P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] ) ] \therefore \mathbb{E}[\log(\frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]})]\leq \log[\mathbb{E(\frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]})}] E[log(P(zx,θ(t))]P(zx,θ(t+1))])]log[E(P(zx,θ(t))]P(zx,θ(t+1))])]

∵ log ⁡ [ E ( P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] ) ] = log ⁡ [ ∫ z ( P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] ) ⋅ P ( z ∣ x , θ ( t ) ) ] = log ⁡ [ ∫ z ( P ( z ∣ x , θ ( t + 1 ) ) d z ] = log ⁡ 1 = 0 \because \log[\mathbb{E(\frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]})}]=\log[\int_z(\frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]})·P(z|x,\theta^{(t)})]=\log[\int_z(P(z|x,\theta^{(t+1)})dz]=\log 1=0 log[E(P(zx,θ(t))]P(zx,θ(t+1))])]=log[z(P(zx,θ(t))]P(zx,θ(t+1))])P(zx,θ(t))]=log[z(P(zx,θ(t+1))dz]=log1=0

∴ ∫ z [ P ( z ∣ x , θ ( t ) ) ⋅ log ⁡ P ( z ∣ x , θ ( t + 1 ) ) ] P ( z ∣ x , θ ( t ) ) ] d z ≤ 0 \therefore \int_{z}[P(z|x,\theta^{(t)})·\log \frac{P(z|x,\theta^{(t+1)})]}{P(z|x,\theta^{(t)})]}dz \leq 0 z[P(zx,θ(t))logP(zx,θ(t))]P(zx,θ(t+1))]dz0
证 毕 : H ( θ ( t + 1 ) , θ ( t ) ) ≤ H ( θ ( t ) , θ ( t ) ) (35) 证毕:H(\theta^{(t+1)},\theta^{(t)})\leq H(\theta^{(t)},\theta^{(t)}) \tag{35} H(θ(t+1),θ(t))H(θ(t),θ(t))(35)

由公式<21>和<22>可得:
log ⁡ P ( X ∣ θ ) = Q ( θ , θ ( t ) ) − H ( θ , θ ( t ) ) (36) \log P(X|\theta)=Q(\theta,\theta^{(t)})-H(\theta,\theta^{(t)})\tag{36} logP(Xθ)=Q(θ,θ(t))H(θ,θ(t))(36)

我们知道随着 θ ( t ) → θ ( t + 1 ) \theta^{(t)}\rightarrow \theta^{(t+1)} θ(t)θ(t+1)时可得:
在这里插入图片描述

所以:经过每次的迭代,似然函数在不断的增大。这就证明了我们的更新是有效的,也证明了算法是收敛的。

4. EM 算法-再回首

我们现在补充关于EM算法的相关知识点,EM-algorithm本质是一种算法,跟HMM和GMM不一样,HMM和GMM本质上是一种具体的模型;EM从类别上区分有点像GD梯度下降,我们知道GD是一种用来解决非凸问题的迭代算法,EM也是解决优化问题的迭代算法。EM主要是解决关于概率生成模型的算法。
关于这部分主要补充以下知识点:

  • 从狭义的 EM 算法推广到广义的 EM 算法
  • 狭义的 EM 实际上只是广义的 EM 的一个特例
  • 真正的开始介绍 EM 算法

我们定义如下数据:

  • X:观测量(Observed Data)-> X = { x i } i = 1 N X=\{x_i\}_{i=1}^{N} X={xi}i=1N
  • Z:隐变量(Latent Data)-> Z = { z i } i = 1 N Z=\{z_i\}_{i=1}^{N} Z={zi}i=1N
  • (X,Z):完整数据模型(Complete Data)
  • θ \theta θ:模型参数(Model Parameter)
    我们的目标是得到一组参数 θ \theta θ,使得我们能求得最大的 log ⁡ P ( X ∣ θ ) \log P(X|\theta) logP(Xθ),对于一般模型来说,我们可以直接通过MLE极大似然估计来直接求解相关参数,但是对于含有隐变量的模型来说,我们很难计算出相关参数,所以我们就用EM算法迭代求解相关参数。假定我们有一堆数据关于 θ 的 概 率 分 布 P ( X ∣ θ ) \theta 的概率分布P(X|\theta) θP(Xθ),EM就是用来求这个参数 θ \theta θ的,所以EM是一个学习的问题了。
    那么我们为什么非要引入一个隐变量Z呢?主要是因为,我们实际观察的输入空间 X 的分布 P(X),是非常复杂的。可能什么规律都找不出来,这时我们就想到了一个很好的解决办法。我们引入了一个隐变量 Z,这个变量中包含了我们自己的一些归纳总结,引入了内部结构。而 P ( X ) = ∫ Z P ( X , Z ) d Z P(X) = \int_Z P(X, Z)dZ P(X)=ZP(X,Z)dZ,实际上就是对 X 进行了分解处理,这样就曲线救国,加入自己的经验p(z)后再通过积分求出P(X|θ)

5. EM 算法-广义EM

EM算法是为了解决参数估计问题,对于一般的数据来说,我们能很简单的求出相关参数。但现实往往狠残酷,我们得到的分布P(X)一般非常的复杂,我们也不知道P(X|θ)是什么形式,所以我们用生成模型假定X有一个隐变量Z ,使得Z->X映射出来,然后我们可以假设Z是我们熟悉的分布,我们可以通过这个Z->X的结构来研究P(X|θ),最后通过贝叶斯公式来分析相关数据;
P ( x ∣ θ ) = P ( x , z ∣ θ ) P ( z ∣ x , θ ) (37) P(x|\theta)=\frac{P(x,z|\theta)}{P(z|x,\theta)}\tag{37} P(xθ)=P(zx,θ)P(x,zθ)(37)

  • 对于一个未知的P(X)我们可以通过引入隐变量来把问题具体化。

我们可以将原来的目标P(X|θ),分解成关于联合概率和后验概率的问题,从而将问题具体化。
θ ^ = arg ⁡ max ⁡ θ log ⁡ P ( x ∣ θ ) = arg ⁡ max ⁡ θ P ( x , z ∣ θ ) P ( z ∣ x , θ ) (38) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\log P(x|\theta)=\mathop{\arg\max}\limits_{\theta}\frac{P(x,z|\theta)}{P(z|x,\theta)}\tag{38} θ^=θargmaxlogP(xθ)=θargmaxP(zx,θ)P(x,zθ)(38)
现在我们来分析下目标函数,我们已经得到了目标函数可表示为如下:
log ⁡ P ( x ∣ θ ) = E L B O + K L [ q ∣ ∣ p ] (39) \log P(x|\theta)=ELBO+KL[q||p]\tag{39} logP(xθ)=ELBO+KL[qp](39)

  • 我们定义: E L B O = ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) q ( z ) d z = E q ( z ) [ log ⁡ P ( x , z ∣ θ ) q ( z ) ] ELBO=\int_{z}q(z)·\log{\frac{P(x,z|\theta)}{q(z)}}dz=\mathbb{E}_{q(z)}[\log{\frac{P(x,z|\theta)}{q(z)}}] ELBO=zq(z)logq(z)P(x,zθ)dz=Eq(z)[logq(z)P(x,zθ)](注:ELBO= evidence lower bound 证据下界)
  • 我们定义: K L [ q ∣ ∣ p ] = K L [ q ( z ) ∣ ∣ p ( z ∣ x , θ ) ] = − ∫ z q ( z ) ⋅ log ⁡ P ( Z ∣ X , θ ) q ( z ) d z KL[q||p]=KL[q(z)||p(z|x,\theta)]=-\int_{z}q(z)·\log{\frac{P(Z|X,\theta)}{q(z)}}dz KL[qp]=KL[q(z)p(zx,θ)]=zq(z)logq(z)P(ZX,θ)dz

所以我们将复杂的P(X|θ)分解成两个部分ELBO和KL[q||p],我们定义ELBO=L(q,θ)的函数,由于KL性质为KL≥0,当q=p时满足KL=0,所以我们可以得到如下式子:
log ⁡ P ( x ∣ θ ) ≥ L ( q , θ ) (40) \log P(x|\theta)\geq L(q,\theta)\tag{40} logP(xθ)L(q,θ)(40)
之前我们将EM算法分解成两步:

  • E-Step:完整数据 log ⁡ P ( x , z ∣ θ ) 在 服 从 分 布 Z ∼ { P ( z ∣ x , θ ( t ) ) } 下 的 期 望 \log P(x,z|\theta)在服从分布Z\sim \{P(z|x,\theta^{(t)})\}下的期望 logP(x,zθ)Z{P(zx,θ(t))}
    P ( z ∣ x , θ ( t ) ) → E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] (41) P(z|x,\theta^{(t)}) \rightarrow \mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]\tag{41} P(zx,θ(t))EZ{P(zx,θ(t))}[logP(x,zθ)](41)
    当时我们是默认为此时求得的 q ^ = P ( z ∣ x , θ ( t ) ) \hat{q}=P(z|x,\theta^{(t)}) q^=P(zx,θ(t)),但现实中往往是 P ( z ∣ x , θ ( t ) ) P(z|x,\theta^{(t)}) P(zx,θ(t))是很大概率无法求到,搞了半天,最后发现我们又卡在这个后验上了,所以我们后面就用变分推断或蒙特卡洛的方法来解决后验 P ( z ∣ x , θ ( t ) ) P(z|x,\theta^{(t)}) P(zx,θ(t))无法求出的问题。

  • M-Step: 选 择 一 个 θ 使 得 期 望 E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] 最 大 , 得 到 θ ( t + 1 ) 选择一个\theta使得期望\mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]最大,得到\theta^{(t+1)} θ使EZ{P(zx,θ(t))}[logP(x,zθ)]θ(t+1)
    θ ( t + 1 ) = arg ⁡ max ⁡ θ E Z ∼ { P ( z ∣ x , θ ( t ) ) } [ log ⁡ P ( x , z ∣ θ ) ] (42) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{Z\sim \{P(z|x,\theta^{(t)})\}}[\log P(x,z|\theta)]\tag{42} θ(t+1)=θargmaxEZ{P(zx,θ(t))}[logP(x,zθ)](42)
    综上所述,在我们在E-Step的步骤中因为p无法求出,所以无法满足q=p,因此我们可以把这个问题转换成其他方式,引出广义EM
    我们再分析目标函数:
    log ⁡ P ( x ∣ θ ) = E L B O + K L [ q ∣ ∣ p ] (43) \log P(x|\theta)=ELBO+KL[q||p]\tag{43} logP(xθ)=ELBO+KL[qp](43)

  • θ 固 定 时 , log ⁡ P ( x ∣ θ ) 也 固 定 , 当 K L [ q ∣ ∣ p ] 越 小 时 , E L B O 越 大 , 所 以 我 们 可 以 在 K L 中 找 到 q \theta固定时,\log P(x|\theta)也固定,当KL[q||p]越小时,ELBO越大,所以我们可以在KL中找到q θlogP(xθ)KL[qp]ELBOKLq
    当 θ 固 定 时 , q ^ = arg ⁡ min ⁡ q K L [ q ∣ ∣ p ] = arg ⁡ max ⁡ q L ( q , θ ) (44) 当\theta固定时,\hat{q}=\mathop{\arg\min}\limits_{q}KL[q||p]=\mathop{\arg\max}\limits_{q}L(q,\theta)\tag{44} θq^=qargminKL[qp]=qargmaxL(q,θ)(44)

  • 最好的q=p,但很大情况下p是无法求出的,所以我们将q的求出问题变成一个优化问题<44>。
    当 q ^ 固 定 时 , θ = arg ⁡ max ⁡ θ L ( q ^ , θ ) (45) 当\hat{q}固定时,\theta=\mathop{\arg\max}\limits_{\theta}L(\hat{q},\theta)\tag{45} q^θ=θargmaxL(q^,θ)(45)
    综上所述:

广义EM:
E − S t e p : q ( t + 1 ) = arg ⁡ max ⁡ q L ( q , θ ( t ) ) (46) E-Step:q^{(t+1)}=\mathop{\arg\max}\limits_{q}L(q,\theta^{(t)})\tag{46} EStep:q(t+1)=qargmaxL(q,θ(t))(46)
M − S t e p : θ ( t + 1 ) = arg ⁡ max ⁡ θ L ( q ( t + 1 ) , θ ) (47) M-Step:\theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}L(q^{(t+1)},\theta)\tag{47} MStep:θ(t+1)=θargmaxL(q(t+1),θ)(47)
我们将 L ( q , θ ) L(q,\theta) L(q,θ)进行变形:
L ( q , θ ) = ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) q ( z ) d z = ∫ z q ( z ) ⋅ log ⁡ P ( x , z ∣ θ ) d z − ∫ z q ( z ) log ⁡ q ( z ) d z L(q,\theta)=\int_{z}q(z)·\log{\frac{P(x,z|\theta)}{q(z)}}dz=\int_{z}q(z)·\log{P(x,z|\theta)}dz-\int_zq(z)\log q(z)dz L(q,θ)=zq(z)logq(z)P(x,zθ)dz=zq(z)logP(x,zθ)dzzq(z)logq(z)dz

= E q ( z ) [ log ⁡ P ( x , z ∣ θ ) ] − E q ( z ) [ log ⁡ q ( z ) ] \qquad \qquad=\mathbb{E}_{q(z)}[\log{P(x,z|\theta)}]-\mathbb{E}_{q(z)}[\log q(z)] =Eq(z)[logP(x,zθ)]Eq(z)[logq(z)]

= E q ( z ) [ log ⁡ P ( x , z ∣ θ ) ] + H [ q ( z ) ] \qquad \qquad=\mathbb{E}_{q(z)}[\log{P(x,z|\theta)}]+H[q(z)] =Eq(z)[logP(x,zθ)]+H[q(z)]

  • H[q(z)]:表示为熵
    E L B O = E q ( z ) [ log ⁡ P ( x , z ∣ θ ) ] + H [ q ( z ) ] (48) ELBO=\mathbb{E}_{q(z)}[\log{P(x,z|\theta)}]+H[q(z)]\tag{48} ELBO=Eq(z)[logP(x,zθ)]+H[q(z)](48)
    总结:
  • 对于狭义EM来说,最好的 q ( z ) = P ( z ∣ x , θ ) q(z)=P(z|x,\theta) q(z)=P(zx,θ),而广义的EM中为一个优化问题: q ^ = arg ⁡ min ⁡ q K L [ q ∣ ∣ p ] = arg ⁡ max ⁡ q L ( q , θ ) \hat{q}=\mathop{\arg\min}\limits_{q}KL[q||p]=\mathop{\arg\max}\limits_{q}L(q,\theta) q^=qargminKL[qp]=qargmaxL(q,θ)
  • 狭 义 E M 是 求 得 arg ⁡ max ⁡ θ E z ∼ { z ∣ x , θ ( t ) } log ⁡ P ( x , z ∣ θ ) 狭义EM是求得\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{z\sim \{z|x,\theta^{(t)}\}}\log P(x,z|\theta) EMθargmaxEz{zx,θ(t)}logP(x,zθ),而广义EM是求得 E L B O = E q ( z ) [ log ⁡ P ( x , z ∣ θ ) ] + H [ q ( z ) ] ELBO=\mathbb{E}_{q(z)}[\log{P(x,z|\theta)}]+H[q(z)] ELBO=Eq(z)[logP(x,zθ)]+H[q(z)],相对来说,广义EM比狭义EM多了一个H[q(z)];这个很好理解,在狭义EM中,在E-Step中已经求得q,所以可以看作H[q]是一个常数,所以在转到M-Step中可以忽略。所以在忽略H[q(z)]的情况下,广义EM就变成了狭义的EM

6.EM的变种

我们知道了广义EM算法其实就是分两步。都是求最大值,所以也叫F-MM算法,它的方式是先固定一个变量A求另外一个变量值B,再固定变量B,求变量A,总之,目标是让极大似然值最大。这种思想其实就是坐标上升法。举例:SMO方法。
广义EM:
E − S t e p : q ( t + 1 ) = arg ⁡ max ⁡ q L ( q , θ ( t ) ) (49) E-Step:q^{(t+1)}=\mathop{\arg\max}\limits_{q}L(q,\theta^{(t)})\tag{49} EStep:q(t+1)=qargmaxL(q,θ(t))(49)
M − S t e p : θ ( t + 1 ) = arg ⁡ max ⁡ θ L ( q ( t + 1 ) , θ ) (50) M-Step:\theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}L(q^{(t+1)},\theta)\tag{50} MStep:θ(t+1)=θargmaxL(q(t+1),θ)(50)

6.1坐标上升法和梯度上升法区别

  • 坐标上升法:SMO
  • 梯度上升法:GD

在这里插入图片描述
坐标上升法的优化方向基本是恒定不变的,而梯度下降法的优化方向是随着梯度方向而
不断发生改变的EM算法看起来不错。但是,很不幸的是,问题马上又来了。因为,
现实生活中,并没有那么的容易,一切都没有我们想的那么的简单。实际上,有关 P(Z|X, θ) 的计算,
有可能会非常的复杂。所以,我们将采用变分推断 (Variable Inference) 或者马尔可夫蒙特卡罗采样
(Markov Chain Monte Carlo) 的方法来求解。结合起来以后就是,VBEM/VEM 和 MCEM。这里注
意一下,Variable Inference 和 Variable Bayes 实际上都是一种东西。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值