文章目录
前言
E M EM EM算法是一种迭代优化算法,常用于具有隐变量的混合模型参数估计,在机器学习中有极为广泛的用途。说到参数估计,一般首先想到的是概率论上的极大似然估计, E M EM EM算法其实就是为了解决那些直接用极大似然函数求导无法解决的参数估计问题。
极大似然估计
假设现在有一个概率分布函数
p
(
x
∣
θ
)
p(x|\theta)
p(x∣θ),
θ
\theta
θ代表这个分布函数的参数(例如,对于一维高斯分布函数来说,
θ
\theta
θ就代表的是
θ
=
{
μ
,
σ
2
}
\theta = \{\mu,\sigma^2\}
θ={μ,σ2})。然后有
N
N
N个样本数据
X
=
{
x
1
,
x
2
,
⋯
,
x
N
}
X=\{x_1,x_2,\cdots,x_N\}
X={x1,x2,⋯,xN}是从这个概率分布中采样得到的,而且这些样本数据都是相互独立的。那么极大似然估计函数定义为:
L
(
θ
)
=
∏
i
N
p
(
x
i
∣
θ
)
=
L
(
θ
∣
X
)
\large L(\theta) = \prod_i^Np(x_i|\theta) = L(\theta|X)
L(θ)=i∏Np(xi∣θ)=L(θ∣X)
极大似然估计,通俗理解来说,就是利用已知的样本信息,反推最具有可能(最大概率)导致这些样本出现的模型参数值。换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。
极大似然问题就是希望找到一个
θ
\theta
θ使似然函数最大,用公式来表达即:
θ
^
=
a
r
g
m
a
x
θ
L
(
θ
)
\large \hat{\theta} = \mathop{argmax}\limits_{\theta}\;L(\theta)
θ^=θargmaxL(θ)
为了计算的方便一般是最大化
l
n
L
(
θ
)
lnL(\theta)
lnL(θ),即
θ
^
=
a
r
g
m
a
x
θ
l
n
L
(
θ
)
\large \hat{\theta} = \mathop{argmax}\limits_{\theta}\;lnL(\theta)
θ^=θargmaxlnL(θ)
然而计算参数
θ
\theta
θ的难易往往取决于
L
(
θ
)
L(\theta)
L(θ)的形式。如果
L
(
θ
)
L(\theta)
L(θ)的形式相对简单,例如
p
(
x
∣
θ
)
p(x|\theta)
p(x∣θ)代表的是一个一维高斯分布,那它的参数
θ
=
{
μ
,
σ
2
}
\theta = \{\mu,\sigma^2\}
θ={μ,σ2}求起来就相对来说比较容易。只需要对极大似然函数求参数的偏导,然后令偏导数为
0
0
0即可。
l
n
L
(
θ
)
=
l
n
∏
i
=
1
n
[
1
2
π
σ
e
x
p
(
−
(
x
i
−
μ
)
2
2
σ
2
)
]
=
∑
i
=
1
n
l
n
[
1
2
π
σ
e
x
p
(
−
(
x
i
−
μ
)
2
2
σ
2
)
]
=
∑
i
=
1
n
[
−
l
n
2
π
σ
−
(
x
i
−
μ
)
2
2
σ
2
]
∂
l
n
L
(
θ
)
∂
μ
=
∂
(
∑
i
=
1
n
[
−
l
n
2
π
σ
−
(
x
i
−
μ
)
2
2
σ
2
]
)
∂
μ
=
∂
(
∑
i
=
1
n
[
−
(
x
i
−
μ
)
2
2
σ
2
]
)
∂
μ
=
∑
i
=
1
n
(
x
i
−
μ
)
σ
2
\large \begin{aligned} lnL(\theta) &= ln\prod_{i=1}^n[\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x_i-\mu)^2}{2\sigma^2})]\\ &= \sum_{i=1}^nln[\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x_i-\mu)^2}{2\sigma^2})]\\ &= \sum_{i=1}^n[-ln\sqrt{2\pi}\sigma-\frac{(x_i-\mu)^2}{2\sigma^2}]\\ \\ \frac{\partial lnL(\theta)}{\partial\mu} &= \frac{\partial(\sum_{i=1}^n[-ln\sqrt{2\pi}\sigma-\frac{(x_i-\mu)^2}{2\sigma^2}])}{\partial\mu}\\ &=\frac{\partial(\sum_{i=1}^n[-\frac{(x_i-\mu)^2}{2\sigma^2}])}{\partial\mu}\\ &= \sum_{i=1}^n\frac{(x_i-\mu)}{\sigma^2} \end{aligned}
lnL(θ)∂μ∂lnL(θ)=lni=1∏n[2πσ1exp(−2σ2(xi−μ)2)]=i=1∑nln[2πσ1exp(−2σ2(xi−μ)2)]=i=1∑n[−ln2πσ−2σ2(xi−μ)2]=∂μ∂(∑i=1n[−ln2πσ−2σ2(xi−μ)2])=∂μ∂(∑i=1n[−2σ2(xi−μ)2])=i=1∑nσ2(xi−μ)
令
∂
l
n
L
(
θ
)
∂
μ
=
0
\frac{\partial lnL(\theta)}{\partial\mu} = 0
∂μ∂lnL(θ)=0得:
μ
M
L
E
=
1
n
∑
i
=
1
n
x
i
\large \mu_{MLE} = \frac{1}{n}\sum_{i=1}^nx_i
μMLE=n1i=1∑nxi
对
σ
\sigma
σ的估计这里略过。
但是,如果 L ( θ ) L(\theta) L(θ)的形式比较复杂,例如 G M M GMM GMM,其中含有隐变量,这种直接求偏导的方式是没法求得解析解的,这种情况就可以借助 E M EM EM算法来求解。
E M EM EM算法
假设我们的模型有两个随机变量
X
,
Z
X,Z
X,Z,两个随机变量的联合分布函数为
p
(
x
,
z
∣
θ
)
p(x,z|\theta)
p(x,z∣θ),其中
x
x
x和
z
z
z代表的是
X
,
Z
X,Z
X,Z中的观测值,
θ
\theta
θ是联合分布函数的未知参数。假设我们现在只可观测到
X
X
X中的
x
x
x,
Z
Z
Z中的
z
z
z是无法被观测到的隐变量,我们只能假设它是服从某种分布,但我们仍然希望只通过观测到的
X
X
X来估计出模型中的参数
θ
\theta
θ。因为没有观测到
Z
Z
Z,所以我们的似然函数就要通过
X
X
X的边缘密度函数来进行计算了:
L
(
θ
)
=
l
o
g
p
(
x
∣
θ
)
=
∫
z
l
o
g
p
(
x
,
z
∣
θ
)
d
z
\large L(\theta) = log\;p(x|\theta) = \int_zlog\;p(x,z|\theta)dz
L(θ)=logp(x∣θ)=∫zlogp(x,z∣θ)dz
在这样的模型中,由于积分的存在,最大化这个函数可能得不到解析解。 对于这种情况,
E
M
EM
EM算法可以提供一种计算该函数参数
θ
\theta
θ 局部最大值的方法。
E M EM EM算法的步骤
E M EM EM算法是一种当数据不完整或有隐变量时,从给定的数据集中找到潜在分布参数的最大似然估计的通用方法。 E M EM EM算法通过 E — S t e p E—Step E—Step和 M — S t e p M—Step M—Step迭代交替求解极大似然参数估计问题。 E M EM EM算法整个求解的过程中都是在更新参数 θ \theta θ,使之收敛到一个局部极大值。
E
—
S
t
e
p
E—Step
E—Step : 在固定
θ
t
\theta^t
θt(
θ
t
\theta^t
θt代表第
t
t
t次迭代的参数)情况下计算隐变量的条件密度函数
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^t)
p(z∣x,θt) ,然后计算联合密度似然函数在
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^t)
p(z∣x,θt)分布下的期望
Q
(
θ
,
θ
t
)
Q(\theta,\theta^t)
Q(θ,θt)(后面简称
Q
Q
Q函数)。
E
—
s
t
e
p
E—step
E—step就是
E
x
p
e
c
t
a
t
i
o
n
—
S
t
e
p
Expectation—Step
Expectation—Step,就是求期望。
Q
(
θ
,
θ
t
)
=
E
p
(
z
∣
x
,
θ
t
)
[
l
o
g
p
(
x
,
z
∣
θ
)
]
=
∫
z
[
l
o
g
p
(
x
,
z
∣
θ
)
]
p
(
z
∣
x
,
θ
t
)
d
z
\large \begin{aligned} Q(\theta,\theta^t) &= E_{p(z|x,\theta^t)}[log\;p(x,z|\theta)]\\ &= \int_z[log\;p(x,z|\theta)]p(z|x,\theta^t)dz \end{aligned}
Q(θ,θt)=Ep(z∣x,θt)[logp(x,z∣θ)]=∫z[logp(x,z∣θ)]p(z∣x,θt)dz
M
—
S
t
e
p
M—Step
M—Step: 找出
θ
\theta
θ使
Q
(
θ
,
θ
t
)
Q(\theta,\theta^t)
Q(θ,θt)最大,
M
—
S
t
e
p
M—Step
M—Step就是
M
a
x
i
m
i
z
a
t
i
o
n
—
S
t
e
p
Maximization—Step
Maximization—Step,最大化
Q
(
θ
,
θ
t
)
Q(\theta,\theta^t)
Q(θ,θt),而求得极值
θ
t
+
1
=
a
r
g
m
a
x
θ
Q
(
θ
,
θ
t
)
\large \theta^{t+1} = \mathop{argmax}\limits_{\theta}\;Q(\theta,\theta^t)
θt+1=θargmaxQ(θ,θt)
算法在
E
—
S
t
e
p
E—Step
E—Step和
M
—
S
t
e
p
M—Step
M—Step交替,直到
θ
\theta
θ的估计收敛到一个局部最大值。
E M EM EM算法本质
在深入了解 E M EM EM算法之前,让我们先了解两个重要的概念,一个是 E L B O ELBO ELBO,一个是坐标上升法[3]。 E M EM EM算法本质上就是 E L B O ELBO ELBO的坐标轴上升算法。
E L B O ELBO ELBO是什么
要了解什么是
e
v
i
d
e
n
c
e
l
o
w
e
r
b
o
u
n
d
(
E
L
B
O
)
evidence\; lower\; bound(ELBO)
evidencelowerbound(ELBO)证据下界,我们首先要了解
e
v
i
d
e
n
c
e
evidence
evidence是什么意思。
e
v
i
d
e
n
c
e
evidence
evidence指的是在固定模型参数
θ
\theta
θ情况下得到的似然估计函数[4]:
e
v
i
d
e
n
c
e
:
=
l
o
g
p
(
x
∣
θ
)
\large evidence :=log\;p(x|\theta)
evidence:=logp(x∣θ)
为什么这样的量会被称为
e
v
i
d
e
n
c
e
evidence
evidence?我们可以这样想,如果我们选择模型的分布
p
p
p和参数
θ
\theta
θ比较准确,那根据观测到的样本数据计算出来的似然函数
l
o
g
p
(
x
∣
θ
)
log\;p(x|\theta)
logp(x∣θ)应该会比较大。因此,一个更大的似然函数
l
o
g
p
(
x
∣
θ
)
log\;p(x|\theta)
logp(x∣θ)在某种程度上“证明”了我们现在选择的模型对于生成现有数据有更大的可能。
E
L
B
O
ELBO
ELBO其实就是似然函数的下界,如果我们知道隐变量
Z
Z
Z是服从某种分布(用
q
(
z
)
q(z)
q(z)表示),而且满足
p
(
x
,
z
∣
θ
)
=
p
(
x
∣
z
,
θ
)
q
(
z
)
p(x,z|\theta) = p(x|z,\theta)q(z)
p(x,z∣θ)=p(x∣z,θ)q(z),那么
E
L
B
O
ELBO
ELBO就可以表示成:
E
L
B
O
:
=
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
q
(
z
)
]
\large ELBO:= E_{Z\sim q}[log\frac{p(x,z|\theta)}{q(z)}]
ELBO:=EZ∼q[logq(z)p(x,z∣θ)]
E
L
B
O
ELBO
ELBO的推导:
l
o
g
p
(
x
∣
θ
)
=
l
o
g
∫
z
p
(
x
,
z
∣
θ
)
=
l
o
g
∫
z
p
(
x
,
z
∣
θ
)
q
(
z
)
q
(
z
)
d
z
=
l
o
g
E
Z
∼
q
[
p
(
x
,
z
∣
θ
)
q
(
z
)
]
≥
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
q
(
z
)
]
⏟
E
L
B
O
(
J
e
n
s
e
n
不
等
式
)
\large \begin{aligned} log\;p(x|\theta) &= log\int_zp(x,z|\theta)\\ &= log\int_zp(x,z|\theta)\frac{q(z)}{q(z)}dz\\ &= log\;E_{Z\sim q}[\frac{p(x,z|\theta)}{q(z)}]\\ &\geq\;\underbrace{E_{Z\sim q}[log\frac{p(x,z|\theta)}{q(z)}]}_{ELBO} \qquad ( Jensen不等式) \end{aligned}
logp(x∣θ)=log∫zp(x,z∣θ)=log∫zp(x,z∣θ)q(z)q(z)dz=logEZ∼q[q(z)p(x,z∣θ)]≥ELBO
EZ∼q[logq(z)p(x,z∣θ)](Jensen不等式)
事实上,
e
v
i
d
e
n
c
e
evidence
evidence与
E
L
B
O
ELBO
ELBO还有一个非常有意思的关系,那就是它们之间的差正好是
p
(
z
∣
x
,
θ
)
p(z|x,\theta)
p(z∣x,θ)和
q
(
z
)
q(z)
q(z)的
K
L
KL
KL散度(即相对熵,表示两个分布之间差异的度量,但这里不讨论)
公式推导:
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
)
)
=
E
Z
∼
q
[
l
o
g
q
(
z
)
p
(
z
∣
x
,
θ
)
]
=
E
Z
∼
q
[
l
o
g
q
(
z
)
]
−
E
Z
∼
q
[
l
o
g
p
(
z
∣
x
,
θ
)
]
=
E
Z
∼
q
[
l
o
g
q
(
z
)
]
−
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
p
(
x
∣
θ
)
]
=
E
Z
∼
q
[
l
o
g
q
(
z
]
−
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
]
+
E
Z
∼
q
[
l
o
g
p
(
x
∣
θ
)
]
=
l
o
g
p
(
x
∣
θ
)
−
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
q
(
z
)
]
=
e
v
i
d
e
n
c
e
−
E
L
B
O
\large \begin{aligned} KL(q(z)||p(z|x,\theta))&= E_{Z\sim q}[log\frac{q(z)}{p(z|x,\theta)}]\\ &= E_{Z\sim q}[log\;q(z)]-E_{Z\sim q}[log\;p(z|x,\theta)]\\ &= E_{Z\sim q}[log\;q(z)]-E_{Z\sim q}[log\frac{p(x,z|\theta)}{p(x|\theta)}]\\ &= E_{Z\sim q}[log\;q(z]-E_{Z\sim q}[log\;p(x,z|\theta)] + E_{Z\sim q}[log\;p(x|\theta)]\\ &=log\;p(x|\theta) - E_{Z\sim q}[log\frac{p(x,z|\theta)}{q(z)}]\\ &= evidence - ELBO \end{aligned}
KL(q(z)∣∣p(z∣x,θ))=EZ∼q[logp(z∣x,θ)q(z)]=EZ∼q[logq(z)]−EZ∼q[logp(z∣x,θ)]=EZ∼q[logq(z)]−EZ∼q[logp(x∣θ)p(x,z∣θ)]=EZ∼q[logq(z]−EZ∼q[logp(x,z∣θ)]+EZ∼q[logp(x∣θ)]=logp(x∣θ)−EZ∼q[logq(z)p(x,z∣θ)]=evidence−ELBO
坐标上升法
坐标上升法是一个相对简单的最大化函数的迭代优化策略,每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的。 例如,给定一个有两个变量 a , b a,b a,b的函数 f ( a , b ) f(a,b) f(a,b),先固定变量 a a a维为 a ^ \hat{a} a^,然后找到 b b b维的 b ^ \hat{b} b^使得 f ( a , b ) f(a,b) f(a,b)取得最大值,然后固定 b b b维为 b ^ \hat{b} b^,寻找 a a a维函数的最大值。这两步不断循环迭代,直到收敛到最大值。
坐标上升法
E M EM EM: E L B O ELBO ELBO的坐标上升算法
在我们假设的模型中,参数
θ
\theta
θ是未知的,而且隐变量
Z
Z
Z的分布
q
(
z
)
q(z)
q(z)也是未知的,那么
E
L
B
O
ELBO
ELBO就可以看成是一个关于
θ
\theta
θ和
q
(
z
)
q(z)
q(z)的函数:
F
(
q
,
θ
)
:
=
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
q
(
z
)
]
\large F(q,\theta):=E_{Z\sim q}[log\frac{p(x,z|\theta)}{q(z)}]
F(q,θ):=EZ∼q[logq(z)p(x,z∣θ)]
E
M
EM
EM算法就是关于
F
(
q
,
θ
)
F(q,\theta)
F(q,θ)函数的坐标上升算法。
E
—
S
t
e
p
E—Step
E—Step相当于固定参数
θ
\theta
θ最大化
F
(
q
,
θ
)
F(q,\theta)
F(q,θ)去求解
q
(
z
)
q(z)
q(z),
M
—
S
t
e
p
M—Step
M—Step相当于固定
q
(
z
)
q(z)
q(z)去最大化
F
(
q
,
θ
)
F(q,\theta)
F(q,θ)求解参数
θ
\theta
θ。
首先,让我们把参数
θ
\theta
θ固定为
θ
t
\theta^t
θt最大化
F
(
q
,
θ
)
F(q,\theta)
F(q,θ)来求解隐变量
Z
Z
Z的分布
q
(
z
)
q(z)
q(z)
a
r
g
m
a
x
q
F
(
q
,
θ
t
)
=
a
r
g
m
a
x
q
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
t
)
q
(
z
)
]
=
a
r
g
m
i
n
q
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
t
)
)
(
E
L
B
O
与
K
L
(
q
(
z
)
∣
∣
p
(
z
∣
x
,
θ
t
)
)
的
关
系
)
=
p
(
z
∣
x
,
θ
t
)
(
K
L
散
度
的
性
质
,
当
q
(
z
)
=
p
(
z
∣
x
,
θ
t
)
时
,
K
L
散
度
最
小
)
\large \begin{aligned} \mathop{argmax}\limits_{q}\; F(q,\theta^t) &= \mathop{argmax}\limits_{q}\;E_{Z\sim q}[log\frac{p(x,z|\theta^t)} {q(z)}]\\ &= \mathop{argmin}\limits_{q}\;KL(q(z)||p(z|x,\theta^t)) \qquad (ELBO与KL(q(z)||p(z|x,\theta^t))的关系)\\ &=p(z|x,\theta^t) \qquad\qquad (KL散度的性质,当q(z)=p(z|x,\theta^t)时,KL散度最小) \end{aligned}
qargmaxF(q,θt)=qargmaxEZ∼q[logq(z)p(x,z∣θt)]=qargminKL(q(z)∣∣p(z∣x,θt))(ELBO与KL(q(z)∣∣p(z∣x,θt))的关系)=p(z∣x,θt)(KL散度的性质,当q(z)=p(z∣x,θt)时,KL散度最小)
注意,计算
p
(
z
∣
x
,
θ
t
)
p(z|x,\theta^t)
p(z∣x,θt)正是在
E
—
S
t
e
p
E—Step
E—Step 中构造
Q
Q
Q函数所需要的!
接下来,固定
q
t
(
z
)
=
p
(
z
∣
x
,
θ
t
)
q^t(z) = p(z|x,\theta^t)
qt(z)=p(z∣x,θt)最大化
F
(
q
t
,
θ
)
F(q^t,\theta)
F(qt,θ),由于
q
t
(
z
)
q^t(z)
qt(z)固定,那其实最大化
F
(
q
t
,
θ
)
F(q^t,\theta)
F(qt,θ)就等同于最大化
Q
Q
Q函数:
a
r
g
m
a
x
q
F
(
q
t
,
θ
)
=
a
r
g
m
a
x
q
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
p
(
z
∣
x
,
θ
t
)
]
=
a
r
g
m
a
x
q
E
Z
∼
q
[
l
o
g
p
(
x
,
z
∣
θ
)
]
−
E
Z
∼
q
[
p
(
z
∣
x
,
θ
t
)
]
⏟
c
o
n
s
t
a
n
t
=
a
r
g
m
a
x
q
E
p
(
z
∣
x
,
θ
t
)
[
l
o
g
p
(
x
,
z
∣
θ
)
]
⏟
Q
(
θ
,
θ
t
)
\large \begin{aligned} \mathop{argmax}\limits_{q}\; F(q^t,\theta) &= \mathop{argmax}\limits_{q}\;E_{Z\sim q}[log\frac{p(x,z|\theta)}{p(z|x,\theta^t)}]\\ &= \mathop{argmax}\limits_{q}\;E_{Z\sim q}[logp(x,z|\theta)] - \underbrace{E_{Z\sim q}[p(z|x,\theta^t)]}_{constant}\\ &=\mathop{argmax}\limits_{q}\;\underbrace{E_{p(z|x,\theta^t)}[logp(x,z|\theta)]}_{Q(\theta,\theta^t)} \end{aligned}
qargmaxF(qt,θ)=qargmaxEZ∼q[logp(z∣x,θt)p(x,z∣θ)]=qargmaxEZ∼q[logp(x,z∣θ)]−constant
EZ∼q[p(z∣x,θt)]=qargmaxQ(θ,θt)
Ep(z∣x,θt)[logp(x,z∣θ)]
最大化
Q
Q
Q函数就是
E
M
EM
EM算法中的
M
—
S
t
e
p
M—Step
M—Step。
E M EM EM算法图示
首先,让我们重申一下 F ( q , θ ) F(q,\theta) F(q,θ)函数和似然函数 L ( θ ) L(\theta) L(θ)的一些关系。
第一,在上面介绍 E L B O ELBO ELBO(即 F ( q , θ ) F(q,\theta) F(q,θ))的时候已经介绍了 E L B O ELBO ELBO和似然函数的关系,就是它们之间的差正好是 K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) KL(q(z)||p(z|x,\theta)) KL(q(z)∣∣p(z∣x,θ))。 K L KL KL散度有一个性质,当 p ( z ∣ x , θ ) = q ( z ) p(z|x,\theta)=q(z) p(z∣x,θ)=q(z)时, K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) = 0 KL(q(z)||p(z|x,\theta)) = 0 KL(q(z)∣∣p(z∣x,θ))=0。所以 E M EM EM在第 t t t次迭代的时候,如果有 K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ t ) ) = 0 KL(q(z)||p(z|x,\theta^t)) = 0 KL(q(z)∣∣p(z∣x,θt))=0,那 F ( q , θ t ) F(q,\theta^t) F(q,θt)与 L ( θ t ) L(\theta^t) L(θt)相等,故这两个函数应该在 θ t \theta^t θt相交。
第二,固定
q
(
z
)
q(z)
q(z)为
q
t
(
z
)
q_t(z)
qt(z),函数
F
(
q
t
,
θ
)
F(q_t,\theta)
F(qt,θ)在
θ
t
+
1
\theta^{t+1}
θt+1处一定大于或等于在
θ
t
\theta^{t}
θt处,即
F
(
q
t
,
θ
t
+
1
)
≥
F
(
q
t
,
θ
t
)
F(q_t,\theta^{t+1})\ge F(q_t,\theta^{t})
F(qt,θt+1)≥F(qt,θt)
这是因为
θ
t
+
1
\theta^{t+1}
θt+1是算法中的中最大化
F
(
q
t
,
θ
)
F(q_t,\theta)
F(qt,θ)得到的。
第三,由
E
L
B
O
ELBO
ELBO(即
F
(
q
,
θ
)
F(q,\theta)
F(q,θ))和似然函数的关系,则必有
L
(
θ
)
≥
F
(
q
t
,
θ
)
L(\theta)\ge F(q_t,\theta)
L(θ)≥F(qt,θ)
上面的三个性质可由下图表示:
F ( q , θ ) F(q,\theta) F(q,θ)与 L ( θ ) L(\theta) L(θ)的关系
基于上面的三个性质,我们可以推断 E M EM EM算法通过在似然函数 L ( θ ) L(\theta) L(θ)的“攀爬”最终会收敛到 L ( θ ) L(\theta) L(θ)的一个局部极值。
E M EM EM算法的过程:在第 t t t次迭代中, F ( q t , θ ) F(q_t,θ) F(qt,θ) 低于 L ( θ ) L(\theta) L(θ)函数,且在 θ t \theta_t θt与之相交, 此时, F ( q t , θ t ) = L ( θ t ) F(q_t,θ^t)=L(\theta^t) F(qt,θt)=L(θt)。 由于 F ( q t , θ t + 1 ) ≥ F ( q t , θ t ) F(q_t,\theta_{t+1})\ge F(q_t,\theta_{t}) F(qt,θt+1)≥F(qt,θt),此时 L ( θ t + 1 ) ≥ L ( θ t ) L(\theta^{t+1} )\ge L(\theta^{t} ) L(θt+1)≥L(θt)。在下一次迭代中,我们可以通过 F ( q t + 1 , θ t + 1 ) F(q_{t+1},\theta^{t+1}) F(qt+1,θt+1)计算 θ t + 1 \theta^{t+1} θt+1 处的似然函数。 因此,每次迭代 F ( q t + 1 , θ t + 1 ) F(q_{t+1},\theta^{t+1}) F(qt+1,θt+1) 后,在似然函数上都有一个新的、比当前值更高的值。 这个过程如下图所示:
EM算法的迭代过程
参考文献或网页
[1] The EM Algorithm Explained. https://medium.com/@chloebee/the-em-algorithm-explained-52182dbb19d9
[2] Expectation-Maximization(EM) 算法 http://blog.tomtung.com/2011/10/em-algorithm/
[3] Expectation-maximization: theory and intuition https://mbernste.github.io/posts/em/
[4] The evidence lower bound (ELBO) https://mbernste.github.io/posts/elbo/