EM算法背景
在硬币投掷和班级身高问题中,引入了隐变量问题,模型变成了混合模型,我们不能直接利用极大似然估计求出模型参数,通常需要用迭代法逐步尝试,这个迭代法正是EM算法的基础。
在极大似然估计中,我们采用计算最值的方法,将使得 p ( x ∣ θ ) p(x|\theta) p(x∣θ)取得最大值的参数 θ \theta θ作为估计值,比如一类简单的概率模型:高斯分布,他只有观测变量 x x x,我们可以直接利用观测变量,基于极大似然,估计模型的参数。
对于一些模型,还有隐变量 z z z,这一类变量不能观测到,这使得在模型中 p ( x ∣ θ ) p(x|\theta) p(x∣θ)无法仅仅利用观测变量 x x x直接通过求导等解析方法求出估计值 θ \theta θ,只能通过迭代,不断逼近真实解。这个迭代的算法被总结为EM算法。
EM算法迭代的合理性
首先,给出EM算法的参数迭代公式:
θ
t
+
1
=
a
r
g
m
a
x
θ
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\theta^{t+1}=argmax_{\theta}\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz
θt+1=argmaxθ∫zlog[p(x,z∣θ)]p(z∣x,θt)dz
在第
t
t
t轮迭代中,可以利用参数
θ
t
\theta^{t}
θt,估计出
θ
t
+
1
\theta^{t+1}
θt+1;
但要思考,为什么每一轮迭代都能使似然函数
p
(
x
∣
θ
)
p(x|\theta)
p(x∣θ)的值不断增大,即问题描述为,对于任意轮数
t
t
t,通过:
θ
t
+
1
=
a
r
g
m
a
x
θ
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\theta^{t+1}=argmax_{\theta}\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz
θt+1=argmaxθ∫zlog[p(x,z∣θ)]p(z∣x,θt)dz
实现
θ
t
\theta^{t}
θt到
θ
t
+
1
\theta^{t+1}
θt+1后,使得
l
o
g
[
p
(
x
∣
θ
t
)
]
≤
l
o
g
[
p
(
x
∣
θ
t
+
1
)
]
log[p(x|\theta^{t})]\leq log[p(x|\theta^{t+1})]
log[p(x∣θt)]≤log[p(x∣θt+1)];
证明如下,首先利用贝叶斯公式得到观测变量
x
x
x和隐变量
z
z
z之间的概率关系:
p
(
x
∣
θ
)
p
(
z
∣
x
,
θ
)
=
p
(
x
,
z
∣
θ
)
⇒
l
o
g
(
p
(
x
∣
θ
)
)
+
l
o
g
(
p
(
z
∣
x
,
θ
)
)
=
l
o
g
(
p
(
x
,
z
∣
θ
)
)
p(x|\theta)p(z|x,\theta)=p(x,z|\theta)\Rightarrow log(p(x|\theta))+log(p(z|x,\theta))=log(p(x,z|\theta))
p(x∣θ)p(z∣x,θ)=p(x,z∣θ)⇒log(p(x∣θ))+log(p(z∣x,θ))=log(p(x,z∣θ))
因此,将隐变量引入到对数似然函数中有:
l
o
g
(
p
(
x
∣
θ
)
)
=
l
o
g
(
p
(
x
,
z
∣
θ
)
)
−
l
o
g
(
p
(
z
∣
x
,
θ
)
)
log(p(x|\theta))=log(p(x,z|\theta))-log(p(z|x,\theta))
log(p(x∣θ))=log(p(x,z∣θ))−log(p(z∣x,θ))
对等式两边同时求关于
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^{t})
p(z∣x,θt)的期望,即积分:
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
∣
θ
)
)
d
z
=
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
)
d
z
−
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
)
)
d
z
\int_{z}p(z|x,\theta^{t})log(p(x|\theta))dz=\int_{z}p(z|x,\theta^{t})log(p(x,z|\theta))dz-\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta))dz
∫zp(z∣x,θt)log(p(x∣θ))dz=∫zp(z∣x,θt)log(p(x,z∣θ))dz−∫zp(z∣x,θt)log(p(z∣x,θ))dz
对左边进行化简:
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
∣
θ
)
)
d
z
=
l
o
g
(
p
(
x
∣
θ
)
)
∫
z
p
(
z
∣
x
,
θ
t
)
d
z
=
l
o
g
(
p
(
x
∣
θ
)
)
⋅
1
=
l
o
g
(
p
(
x
∣
θ
)
)
\int_{z}p(z|x,\theta^{t})log(p(x|\theta))dz=log(p(x|\theta))\int_{z}p(z|x,\theta^{t})dz=log(p(x|\theta))\cdot 1=log(p(x|\theta))
∫zp(z∣x,θt)log(p(x∣θ))dz=log(p(x∣θ))∫zp(z∣x,θt)dz=log(p(x∣θ))⋅1=log(p(x∣θ))
因此有:
l
o
g
(
p
(
x
∣
θ
)
)
=
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
)
d
z
−
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
)
)
d
z
log(p(x|\theta))=\int_{z}p(z|x,\theta^{t})log(p(x,z|\theta))dz-\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta))dz
log(p(x∣θ))=∫zp(z∣x,θt)log(p(x,z∣θ))dz−∫zp(z∣x,θt)log(p(z∣x,θ))dz
对于
p
(
x
∣
θ
t
+
1
)
≥
p
(
x
∣
θ
t
)
p(x|\theta^{t+1})\geq p(x|\theta^{t})
p(x∣θt+1)≥p(x∣θt)转化为验证:
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
t
+
1
)
)
d
z
−
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
+
1
)
)
d
z
\int_{z}p(z|x,\theta^{t})log(p(x,z|\theta^{t+1}))dz-\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t+1}))dz
∫zp(z∣x,θt)log(p(x,z∣θt+1))dz−∫zp(z∣x,θt)log(p(z∣x,θt+1))dz
≥
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
t
)
)
d
z
−
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
)
)
d
z
\geq \int_{z}p(z|x,\theta^{t})log(p(x,z|\theta^{t}))dz-\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t}))dz
≥∫zp(z∣x,θt)log(p(x,z∣θt))dz−∫zp(z∣x,θt)log(p(z∣x,θt))dz
拆解为两个部分:
- 不等式1:
∫ z p ( z ∣ x , θ t ) l o g ( p ( x , z ∣ θ t + 1 ) ) d z ≥ ∫ z p ( z ∣ x , θ t ) l o g ( p ( x , z ∣ θ t ) ) d z \int_{z}p(z|x,\theta^{t})log(p(x,z|\theta^{t+1}))dz\geq \int_{z}p(z|x,\theta^{t})log(p(x,z|\theta^{t}))dz ∫zp(z∣x,θt)log(p(x,z∣θt+1))dz≥∫zp(z∣x,θt)log(p(x,z∣θt))dz - 不等式2:
∫ z p ( z ∣ x , θ t ) l o g ( p ( z ∣ x , θ t + 1 ) ) d z ≤ ∫ z p ( z ∣ x , θ t ) l o g ( p ( z ∣ x , θ t ) ) d z \int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t+1}))dz\leq \int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t}))dz ∫zp(z∣x,θt)log(p(z∣x,θt+1))dz≤∫zp(z∣x,θt)log(p(z∣x,θt))dz
对于不等式1,先回顾
θ
t
+
1
\theta^{t+1}
θt+1的计算:
θ
t
+
1
=
a
r
g
m
a
x
θ
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\theta^{t+1}=argmax_{\theta}\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz
θt+1=argmaxθ∫zlog[p(x,z∣θ)]p(z∣x,θt)dz
即,令
θ
=
θ
t
+
1
\theta=\theta^{t+1}
θ=θt+1,可以使得
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz
∫zlog[p(x,z∣θ)]p(z∣x,θt)dz取到最大值,所以必然有:
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
t
+
1
)
]
p
(
z
∣
x
,
θ
t
)
d
z
≥
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
t
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\int_{z}log[p(x,z|\theta^{t+1})]p(z|x,\theta^{t})dz\geq \int_{z}log[p(x,z|\theta^{t})]p(z|x,\theta^{t})dz
∫zlog[p(x,z∣θt+1)]p(z∣x,θt)dz≥∫zlog[p(x,z∣θt)]p(z∣x,θt)dz
对于不等式2,需要变形一下:
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
)
)
d
z
−
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
+
1
)
)
d
z
=
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
)
p
(
z
∣
x
,
θ
t
+
1
)
)
d
z
\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t}))dz-\int_{z}p(z|x,\theta^{t})log(p(z|x,\theta^{t+1}))dz=\int_{z}p(z|x,\theta^{t})log(\frac{p(z|x,\theta^{t})}{p(z|x,\theta^{t+1})})dz
∫zp(z∣x,θt)log(p(z∣x,θt))dz−∫zp(z∣x,θt)log(p(z∣x,θt+1))dz=∫zp(z∣x,θt)log(p(z∣x,θt+1)p(z∣x,θt))dz
现引入KL散度,即相对熵。设
P
(
x
)
P(x)
P(x)和
Q
(
x
)
Q(x)
Q(x)是随机变量
x
x
x上的两个概率分布,在离散和连续随机变量的情形下,相对熵定义为:
K
L
(
P
∣
∣
Q
)
=
∑
P
(
x
)
l
o
g
P
(
x
)
Q
(
x
)
KL(P||Q)=\sum P(x)log\frac{P(x)}{Q(x)}
KL(P∣∣Q)=∑P(x)logQ(x)P(x)
K
L
(
P
∣
∣
Q
)
=
∫
P
(
x
)
l
o
g
P
(
x
)
Q
(
x
)
d
x
KL(P||Q)=\int P(x)log\frac{P(x)}{Q(x)}dx
KL(P∣∣Q)=∫P(x)logQ(x)P(x)dx
KL散度用于衡量两个分布之间的距离,因此,KL散度具有非负性:
K
L
(
P
∣
∣
Q
)
≥
0
KL(P||Q)\geq 0
KL(P∣∣Q)≥0,在两个分布完全相同时,等号成立。
根据KL散度的定义,容易发现:
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
z
∣
x
,
θ
t
)
p
(
z
∣
x
,
θ
t
+
1
)
)
d
z
=
K
L
(
p
(
z
∣
x
,
θ
t
)
∣
∣
p
(
z
∣
x
,
θ
t
+
1
)
)
≥
0
\int_{z}p(z|x,\theta^{t})log(\frac{p(z|x,\theta^{t})}{p(z|x,\theta^{t+1})})dz=KL(p(z|x,\theta^{t})||p(z|x,\theta^{t+1}))\geq 0
∫zp(z∣x,θt)log(p(z∣x,θt+1)p(z∣x,θt))dz=KL(p(z∣x,θt)∣∣p(z∣x,θt+1))≥0
此时,等式1和等式2均成立,因此证实,每轮迭代
θ
t
→
θ
t
+
1
\theta^{t}\rightarrow \theta^{t+1}
θt→θt+1确实可以让似然函数的值有所上升,当似然函数值收敛时,待估计的参数也就趋近于真实值(不保证全局最优)。至此,我们可以安心使用EM算法,下面将解释EM算法参数迭代公式的推导。
EM算法推导
EM算法的E步和M步
在前面的内容中,直接给出了EM算法的迭代公式,并证明了其迭代的合理性,现在需要了解其公式的由来,首先定义一些符号:
- x x x:观测数据,observed data
- z z z:非观测数据,隐变量,latent variable
- ( x , z ) (x,z) (x,z):完整数据,complete data
- θ \theta θ:待估计参数
对于参数迭代公式:
θ
t
+
1
=
a
r
g
m
a
x
θ
∫
z
l
o
g
[
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\theta^{t+1}=argmax_{\theta}\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz
θt+1=argmaxθ∫zlog[p(x,z∣θ)]p(z∣x,θt)dz
其实包含了E步和M步:
- E步为积分的计算,即计算
l
o
g
[
p
(
x
,
z
∣
θ
)
]
log[p(x,z|\theta)]
log[p(x,z∣θ)]关于条件概率
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^{t})
p(z∣x,θt)的期望:
E z ∣ x , θ t [ l o g ( p ( x , z ∣ θ ) ) ] = ∫ z l o g [ p ( x , z ∣ θ ) ] p ( z ∣ x , θ t ) d z E_{z|x,\theta^{t}}[log(p(x,z|\theta))]=\int_{z}log[p(x,z|\theta)]p(z|x,\theta^{t})dz Ez∣x,θt[log(p(x,z∣θ))]=∫zlog[p(x,z∣θ)]p(z∣x,θt)dz - M步则是获取令期望取得最大值的
θ
\theta
θ,并将其作为下一轮迭代的已知量:
θ t + 1 = a r g m a x θ E z ∣ x , θ t [ l o g ( p ( x , z ∣ θ ) ) ] \theta^{t+1}=argmax_{\theta}E_{z|x,\theta^{t}}[log(p(x,z|\theta))] θt+1=argmaxθEz∣x,θt[log(p(x,z∣θ))]
分析EM算法的由来
首先,最初的极大似然估计目标为:
θ
m
l
e
=
a
r
g
m
a
x
θ
l
o
g
(
p
(
x
∣
θ
)
)
\theta_{mle}=argmax_{\theta}log(p(x|\theta))
θmle=argmaxθlog(p(x∣θ))
根据贝叶斯公式有:
p
(
x
∣
θ
)
p
(
z
∣
x
,
θ
)
=
p
(
x
,
z
∣
θ
)
⇒
p
(
x
∣
θ
)
=
p
(
x
,
z
∣
θ
)
p
(
z
∣
x
,
θ
)
p(x|\theta)p(z|x,\theta)=p(x,z|\theta)\Rightarrow p(x|\theta)=\frac{p(x,z|\theta)}{p(z|x,\theta)}
p(x∣θ)p(z∣x,θ)=p(x,z∣θ)⇒p(x∣θ)=p(z∣x,θ)p(x,z∣θ)
则有:
l
o
g
(
p
(
x
∣
θ
)
)
=
l
o
g
(
p
(
x
,
z
∣
θ
)
)
−
l
o
g
(
p
(
z
∣
x
,
θ
)
)
log(p(x|\theta))=log(p(x,z|\theta))-log(p(z|x,\theta))
log(p(x∣θ))=log(p(x,z∣θ))−log(p(z∣x,θ))
此处引入一个关于
z
z
z的分布
q
(
z
)
q(z)
q(z),我们暂时不用关系
q
(
z
)
q(z)
q(z)具体是什么物理意义,代入式子:
l
o
g
(
p
(
x
∣
θ
)
)
=
l
o
g
(
p
(
x
,
z
∣
θ
)
q
(
z
)
)
−
l
o
g
(
p
(
z
∣
x
,
θ
)
q
(
z
)
)
log(p(x|\theta))=log(\frac{p(x,z|\theta)}{q(z)})-log(\frac{p(z|x,\theta)}{q(z)})
log(p(x∣θ))=log(q(z)p(x,z∣θ))−log(q(z)p(z∣x,θ))
此时,对等式左右两边同时求关于分布
q
(
z
)
q(z)
q(z)的期望,即计算积分:
对于式子左边有:
∫
z
q
(
z
)
l
o
g
(
p
(
x
∣
θ
)
)
d
z
=
l
o
g
(
p
(
x
∣
θ
)
)
∫
z
q
(
z
)
d
z
=
l
o
g
(
p
(
x
∣
θ
)
)
\int_{z}q(z)log(p(x|\theta))dz=log(p(x|\theta))\int_{z}q(z)dz=log(p(x|\theta))
∫zq(z)log(p(x∣θ))dz=log(p(x∣θ))∫zq(z)dz=log(p(x∣θ))
对于式子的右边有:
∫
z
q
(
z
)
l
o
g
(
p
(
x
,
z
∣
θ
)
q
(
z
)
)
d
z
−
∫
z
q
(
z
)
l
o
g
(
p
(
z
∣
x
,
θ
)
q
(
z
)
)
d
z
=
∫
z
q
(
z
)
l
o
g
(
p
(
x
,
z
∣
θ
)
q
(
z
)
)
d
z
+
∫
z
q
(
z
)
l
o
g
(
q
(
z
)
p
(
z
∣
x
,
θ
)
)
d
z
\int_{z}q(z)log(\frac{p(x,z|\theta)}{q(z)})dz-\int_{z}q(z)log(\frac{p(z|x,\theta)}{q(z)})dz=\int_{z}q(z)log(\frac{p(x,z|\theta)}{q(z)})dz+\int_{z}q(z)log(\frac{q(z)}{p(z|x,\theta)})dz
∫zq(z)log(q(z)p(x,z∣θ))dz−∫zq(z)log(q(z)p(z∣x,θ))dz=∫zq(z)log(q(z)p(x,z∣θ))dz+∫zq(z)log(p(z∣x,θ)q(z))dz
第一项被称为"证据下界"(Evidence lower bound,ELBO):
E
L
B
O
=
∫
z
q
(
z
)
l
o
g
(
p
(
x
,
z
∣
θ
)
q
(
z
)
)
d
z
ELBO=\int_{z}q(z)log(\frac{p(x,z|\theta)}{q(z)})dz
ELBO=∫zq(z)log(q(z)p(x,z∣θ))dz
第二项是KL散度:
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
)
)
=
∫
z
q
(
z
)
l
o
g
(
q
(
z
)
p
(
z
∣
x
,
θ
)
)
d
z
≥
0
KL(q(z)||p(z|x,\theta))=\int_{z}q(z)log(\frac{q(z)}{p(z|x,\theta)})dz\geq 0
KL(q(z)∣∣p(z∣x,θ))=∫zq(z)log(p(z∣x,θ)q(z))dz≥0
当且仅当
q
(
z
)
=
p
(
z
∣
x
,
θ
)
q(z)=p(z|x,\theta)
q(z)=p(z∣x,θ)时,
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
)
)
=
0
KL(q(z)||p(z|x,\theta))=0
KL(q(z)∣∣p(z∣x,θ))=0;
至此,式子可写作:
l
o
g
(
p
(
x
∣
θ
)
)
=
E
L
B
O
+
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
)
)
≥
E
L
B
O
log(p(x|\theta))=ELBO+KL(q(z)||p(z|x,\theta))\geq ELBO
log(p(x∣θ))=ELBO+KL(q(z)∣∣p(z∣x,θ))≥ELBO
从以上形式可以看出,为什么ELBO被称为证据下界。ELBO成为了
l
o
g
(
p
(
x
∣
θ
)
)
log(p(x|\theta))
log(p(x∣θ))取值的下界,所以可以得到一种思路:我们应当使得ELBO达到最大,从而间接地让
l
o
g
(
p
(
x
∣
θ
)
)
log(p(x|\theta))
log(p(x∣θ))达到最大,即使用ELBO等效地控制
l
o
g
(
p
(
x
∣
θ
)
)
log(p(x|\theta))
log(p(x∣θ))。但目前存在的问题是KL散度会破坏上面单纯的思路,因为
l
o
g
(
p
(
x
∣
θ
)
)
log(p(x|\theta))
log(p(x∣θ))最终是ELBO与KL散度的总和。
这时,需要利用KL散度的性质,在第
t
t
t轮迭代时,已知
θ
t
\theta^{t}
θt,要估计
θ
t
+
1
\theta^{t+1}
θt+1,我们把KL散度中概率
p
(
z
∣
x
,
θ
)
p(z|x,\theta)
p(z∣x,θ)的变量
θ
\theta
θ固定,令
θ
=
θ
t
\theta=\theta^{t}
θ=θt,同时,令
q
(
z
)
=
p
(
z
∣
x
,
θ
t
)
q(z)=p(z|x,\theta^{t})
q(z)=p(z∣x,θt),从而使每一轮迭代时,KL散度刚好为0,此时有
l
o
g
(
p
(
x
∣
θ
)
)
=
E
L
B
O
log(p(x|\theta))=ELBO
log(p(x∣θ))=ELBO,取ELBO的极大值,就等效于取
l
o
g
(
p
(
x
∣
θ
)
)
log(p(x|\theta))
log(p(x∣θ))的极大值:
θ
t
+
1
=
a
r
g
m
a
x
θ
l
o
g
(
p
(
x
∣
θ
)
)
=
a
r
g
m
a
x
θ
[
∫
z
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
p
(
z
∣
x
,
θ
t
)
)
d
z
]
\theta^{t+1}=argmax_{\theta}log(p(x|\theta))=argmax_{\theta}[\int_{z}p(z|x,\theta^{t})log(\frac{p(x,z|\theta)}{p(z|x,\theta^{t})})dz]
θt+1=argmaxθlog(p(x∣θ))=argmaxθ[∫zp(z∣x,θt)log(p(z∣x,θt)p(x,z∣θ))dz]
=
a
r
g
m
a
x
θ
∫
z
[
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
)
−
p
(
z
∣
x
,
θ
t
)
p
(
z
∣
x
,
θ
t
)
]
d
z
=argmax_{\theta}\int_{z}[p(z|x,\theta^{t})log(p(x,z|\theta))-p(z|x,\theta^{t})p(z|x,\theta^{t})]dz
=argmaxθ∫z[p(z∣x,θt)log(p(x,z∣θ))−p(z∣x,θt)p(z∣x,θt)]dz
注意到,积分内的第二项
p
(
z
∣
x
,
θ
t
)
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^{t})p(z|x,\theta^{t})
p(z∣x,θt)p(z∣x,θt)已经不包含变量
θ
\theta
θ,因此对
θ
\theta
θ求极大值时可以舍去:
θ
t
+
1
=
a
r
g
m
a
x
θ
∫
z
[
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
)
−
p
(
z
∣
x
,
θ
t
)
p
(
z
∣
x
,
θ
t
)
]
d
z
\theta^{t+1}=argmax_{\theta}\int_{z}[p(z|x,\theta^{t})log(p(x,z|\theta))-p(z|x,\theta^{t})p(z|x,\theta^{t})]dz
θt+1=argmaxθ∫z[p(z∣x,θt)log(p(x,z∣θ))−p(z∣x,θt)p(z∣x,θt)]dz
=
a
r
g
m
a
x
θ
∫
z
[
p
(
z
∣
x
,
θ
t
)
l
o
g
(
p
(
x
,
z
∣
θ
)
)
]
d
z
=argmax_{\theta}\int_{z}[p(z|x,\theta^{t})log(p(x,z|\theta))]dz
=argmaxθ∫z[p(z∣x,θt)log(p(x,z∣θ))]dz
可见,这就得到了EM算法的迭代公式。
额外说明:
关于 l o g ( p ( x ∣ θ ) ) = E L B O + K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) ≥ E L B O log(p(x|\theta))=ELBO+KL(q(z)||p(z|x,\theta))\geq ELBO log(p(x∣θ))=ELBO+KL(q(z)∣∣p(z∣x,θ))≥ELBO,有的文档采用jensen不等式来表达,并将 p ( z ∣ x , θ t ) p(z|x,\theta^{t}) p(z∣x,θt),即 q ( z ) q(z) q(z)称为 Q Q Q函数(质量函数),这些其实都是EM算法推导的另一种解读
921

被折叠的 条评论
为什么被折叠?



