10.期望值最大算法(EM算法)
1.Jensen不等式
设 f f f 为一个函数,其定义域(domain)为整个实数域(set of real numbers)。这里要回忆一下,如果函数 f f f 的二阶导数 f ′ ′ ( x ) ≥ 0 f''(x) \ge 0 f′′(x)≥0 (其中的 x ∈ R x \in R x∈R),则函数 f f f 为一个凸函数(convex function)。如果输入的为向量变量,那么这个函数就泛化了,这时候该函数的海森矩阵(hessian) H H H 就是一个半正定矩阵(positive semi-definite H ≥ 0 H \ge 0 H≥0)。如果对于所有的 x x x ,都有二阶导数 f ′ ′ ( x ) > 0 f''(x) > 0 f′′(x)>0,那么我们称这个函数 f f f 是严格凸函数(对应向量值作为变量的情况,对应的条件就是海森矩阵必须为正定,写作 H > 0 H > 0 H>0)。这样就可以用如下方式来表述 Jensen 不等式:
定理(Theorem): 设
f
f
f 是一个凸函数,且设
X
X
X 是一个随机变量(random variable)。然后则有:
E
[
f
(
X
)
]
≥
f
(
E
X
)
.
E[f(X)] \ge f(EX).
E[f(X)]≥f(EX).
Jensen 不等式也适用于凹函数(concave)
f
f
f,但不等式的方向要反过来,也就是对于凹函数,
E
[
f
(
X
)
]
≤
f
(
E
X
)
E[f(X)] \le f(EX)
E[f(X)]≤f(EX)。
2.期望最大算法(EM算法)
假如我们有一个估计问题(estimation problem),其中由训练样本集
{
x
(
1
)
,
.
.
.
,
x
(
m
)
}
\{x^{(1)}, ..., x^{(m)}\}
{x(1),...,x(m)} 包含了
m
m
m 个独立样本。我们用模型
p
(
x
,
z
)
p(x, z)
p(x,z) 对数据进行建模,拟合其参数(parameters),其中的似然函数(likelihood)如下所示:
l
(
θ
)
=
∑
i
=
1
m
log
p
(
x
;
θ
)
=
∑
i
=
1
m
log
∑
z
p
(
x
,
z
;
θ
)
\begin{aligned} l(\theta) &= \sum_{i=1}^m\log p(x;\theta) \\ &= \sum_{i=1}^m\log\sum_z p(x,z;\theta) \end{aligned}
l(θ)=i=1∑mlogp(x;θ)=i=1∑mlogz∑p(x,z;θ)
对于每个
i
i
i,设
Q
i
Q_i
Qi 是某个对
z
z
z 的分布(
∑
z
Q
i
(
z
)
=
1
,
Q
i
(
z
)
≥
0
\sum_z Q_i(z) = 1, Q_i(z)\ge 0
∑zQi(z)=1,Qi(z)≥0)。则有下列各式
1
^1
1:
∑
i
log
p
(
x
(
i
)
;
θ
)
=
∑
i
log
∑
z
(
i
)
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
(
1
)
=
∑
i
log
∑
z
(
i
)
Q
i
(
z
(
i
)
)
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
(
2
)
≥
∑
i
∑
z
(
i
)
Q
i
(
z
(
i
)
)
log
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
(
3
)
\begin{aligned} \sum_i\log p(x^{(i)};\theta) &= \sum_i\log\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)&(1) \\ &= \sum_i\log\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} &(2)\\ &\ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}&(3) \end{aligned}
i∑logp(x(i);θ)=i∑logz(i)∑p(x(i),z(i);θ)=i∑logz(i)∑Qi(z(i))Qi(z(i))p(x(i),z(i);θ)≥i∑z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)(1)(2)(3)
1 如果 z z z 是连续的,那么 Q i Q_i Qi 就是一个密度函数(density),上面讨论中提到的对 z z z 的求和(summations)就要用对 z z z 的积分(integral)来替代。
上面推导(derivation)的最后一步使用了 Jensen 不等式(Jensen’s inequality)。其中的 f ( x ) = l o g x f(x) = log x f(x)=logx 是一个凹函数(concave function),因为其二阶导数 f ′ ′ ( x ) = − 1 / x 2 < 0 f''(x) = -1/x^2 < 0 f′′(x)=−1/x2<0 在整个定义域(domain) x ∈ R + x\in R^+ x∈R+ 上都成立。
由(2)式到(3)式证明:
令
g
(
z
(
i
)
)
=
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
g(z^{(i)})=\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
g(z(i))=Qi(z(i))p(x(i),z(i);θ)
因为:
z
(
i
)
∼
Q
i
(
z
(
i
)
)
z^{(i)}\sim Q_i(z^{(i)})
z(i)∼Qi(z(i))
所以:
g
(
z
(
i
)
)
∼
Q
i
(
z
(
i
)
)
g(z^{(i)})\sim Q_i(z^{(i)})
g(z(i))∼Qi(z(i))
于是:
E
(
g
(
z
)
)
=
∑
z
(
i
)
g
(
z
(
i
)
)
P
(
g
(
z
(
i
)
)
)
=
∑
z
(
i
)
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
Q
i
(
z
(
i
)
)
\begin{aligned} E\left(g(z)\right)&=\sum_{z^{(i)}}g(z^{(i)})P\left(g(z^{(i)})\right)\\ &=\sum_{z^{(i)}}\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}Q_i(z^{(i)}) \end{aligned}
E(g(z))=z(i)∑g(z(i))P(g(z(i)))=z(i)∑Qi(z(i))p(x(i),z(i);θ)Qi(z(i))
由Jenson不等式:
l
o
g
(
E
(
g
(
z
)
)
)
≥
E
[
l
o
g
(
g
(
z
)
)
]
log(E\left(g(z)\right))\ge E[log(g(z))]
log(E(g(z)))≥E[log(g(z))]
不妨再令
h
(
z
)
=
l
o
g
(
g
(
z
)
)
=
log
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
h(z)=log(g(z))=\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
h(z)=log(g(z))=logQi(z(i))p(x(i),z(i);θ)
所以同理可以得到
E
[
l
o
g
(
g
(
z
)
)
]
=
E
(
h
(
z
)
)
=
∑
z
(
i
)
h
(
z
(
i
)
)
P
(
h
(
z
(
i
)
)
)
=
∑
z
(
i
)
h
(
z
(
i
)
)
Q
i
(
z
(
i
)
)
E[log(g(z))]=E(h(z))=\sum_{z^{(i)}}h(z^{(i)})P\left(h(z^{(i)})\right)=\sum_{z^{(i)}}h(z^{(i)})Q_i(z^{(i)})
E[log(g(z))]=E(h(z))=z(i)∑h(z(i))P(h(z(i)))=z(i)∑h(z(i))Qi(z(i))
所以可以得到:
log
∑
z
(
i
)
Q
i
(
z
(
i
)
)
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
≥
∑
z
(
i
)
Q
i
(
z
(
i
)
)
log
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\log\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \ge \sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
logz(i)∑Qi(z(i))Qi(z(i))p(x(i),z(i);θ)≥z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
得证。
为了使Jenson不等式求得等号,即使得:
f
(
E
(
x
)
)
=
E
(
f
(
x
)
)
f(E(x)) = E(f(x))
f(E(x))=E(f(x))
则必须变量
x
x
x为一个常量,则
f
(
x
)
f(x)
f(x)也将变为一个常量,所以有:
E
(
x
)
=
x
E
(
f
(
x
)
)
=
f
(
x
)
E(x)=x\\ E(f(x))=f(x)
E(x)=xE(f(x))=f(x)
所以可以推出:
f
(
E
(
x
)
)
=
f
(
x
)
=
E
(
f
(
x
)
)
f(E(x))=f(x)=E(f(x))
f(E(x))=f(x)=E(f(x))
也就是需要:
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
=
c
\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}=c
Qi(z(i))p(x(i),z(i);θ)=c
其中常数
c
c
c 不依赖
z
(
i
)
z^{(i)}
z(i)。要实现这一条件,只需满足:
Q
i
(
z
(
i
)
)
∝
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q_i(z^{(i)})\propto p(x^{(i)},z^{(i)};\theta)
Qi(z(i))∝p(x(i),z(i);θ)
所以:
Q
i
(
z
(
i
)
)
=
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
c
Q_i(z^{(i)})=\frac{p(x^{(i)},z^{(i)};\theta)}{c}
Qi(z(i))=cp(x(i),z(i);θ)
又因为
z
(
i
)
z^{(i)}
z(i)是一个分布,所以:
∑
z
Q
i
(
z
(
i
)
)
=
1
=
∑
z
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
c
\begin{aligned} \sum_z Q_i(z^{(i)}) &= 1\\ &=\frac{\sum_z p(x^{(i)},z^{(i)};\theta)}{c} \end{aligned}
z∑Qi(z(i))=1=c∑zp(x(i),z(i);θ)
因此我们可以得出:
c
=
∑
z
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
=
p
(
x
(
i
)
;
θ
)
c=\sum_z p(x^{(i)},z^{(i)};\theta)=p(x^{(i)};\theta)
c=z∑p(x(i),z(i);θ)=p(x(i);θ)
所以:
Q
i
(
z
(
i
)
)
=
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
p
(
x
(
i
)
;
θ
)
=
p
(
z
(
i
)
∣
x
(
i
)
;
θ
)
\begin{aligned} Q_i(z^{(i)}) &= \frac{p(x^{(i)},z^{(i)};\theta)}{p(x^{(i)};\theta)} \\ &= p(z^{(i)}|x^{(i)};\theta) \end{aligned}
Qi(z(i))=p(x(i);θ)p(x(i),z(i);θ)=p(z(i)∣x(i);θ)
因此,在给定
x
(
i
)
x^{(i)}
x(i) 和参数
θ
\theta
θ 的设置下,我们可以简单地把
Q
i
Q_i
Qi 设置为
z
(
i
)
z^{(i)}
z(i) 的后验分布(posterior distribution)。
接下来,对 Q i Q_i Qi 的选择,等式 ( 3 ) (3) (3) 就给出了似然函数对数(log likelihood)的一个下限,而似然函数(likelihood)正是我们要试图求最大值(maximize)的。这就是 E E E 步骤。接下来在算法的 M M M 步骤中,就最大化等式 ( 3 ) (3) (3) 当中的方程,然后得到新的参数 θ \theta θ。重复这两个步骤,就是完整的 E M EM EM 算法,如下所示:
重复下列过程直到收敛(convergence): {
(
E
E
E 步骤)对每个
i
i
i,设
Q
i
(
z
(
i
)
)
:
=
p
(
z
(
i
)
∣
x
(
i
)
;
θ
)
Q_i(z^{(i)}):=p(z^{(i)}|x^{(i)};\theta)
Qi(z(i)):=p(z(i)∣x(i);θ)
(
M
M
M 步骤) 设
θ
:
=
a
r
g
max
θ
∑
i
∑
z
(
i
)
Q
i
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\theta := arg\max_\theta\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
θ:=argθmaxi∑z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
}
下面我们要来证明这个算法是递增的(收敛的):
设 θ ( t ) \theta^{(t)} θ(t) 和 θ ( t + 1 ) \theta^{(t+1)} θ(t+1) 是上面 E M EM EM 迭代过程中的某两个参数(parameters)
证明: l ( θ ( t ) ) ≤ l ( θ ( t + 1 ) ) l(\theta^{(t)})\le l(\theta^{(t+1)}) l(θ(t))≤l(θ(t+1))
由条件可知:
l
(
θ
(
t
)
)
=
∑
i
∑
z
(
i
)
Q
i
(
t
)
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
(
t
)
)
Q
i
(
t
)
(
z
(
i
)
)
l(\theta^{(t)})=\sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t)})}{Q_i^{(t)}(z^{(i)})}
l(θ(t))=i∑z(i)∑Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t))
参数
θ
(
t
+
1
)
\theta^{(t+1)}
θ(t+1) 可以通过对上面等式中等号右侧进行最大化而得到。所以有:
l
(
θ
(
t
+
1
)
)
≥
∑
i
∑
z
(
i
)
Q
i
(
t
)
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
(
t
+
1
)
)
Q
i
(
t
)
(
z
(
i
)
)
\begin{aligned} l(\theta^{(t+1)}) &\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t+1)})}{Q_i^{(t)}(z^{(i)})} \end{aligned}
l(θ(t+1))≥i∑z(i)∑Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t+1))
上面的第一个不等式推自:
l
(
θ
)
≥
∑
i
∑
z
(
i
)
Q
i
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
l(\theta)\ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
l(θ)≥i∑z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
上面这个不等式对于任意值的
Q
i
Q_i
Qi 和
θ
\theta
θ 都成立,尤其当
Q
i
=
Q
i
(
t
)
,
θ
=
θ
(
t
+
1
)
Q_i = Q_i^{(t)}, \theta = \theta^{(t+1)}
Qi=Qi(t),θ=θ(t+1)。由于:
θ
(
t
+
1
)
=
a
r
g
max
θ
∑
i
∑
z
(
i
)
Q
i
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\theta^{(t+1)} =arg\max_\theta \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}
θ(t+1)=argθmaxi∑z(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
所以
l
(
θ
(
t
+
1
)
)
≥
∑
i
∑
z
(
i
)
Q
i
(
t
)
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
(
t
+
1
)
)
Q
i
(
t
)
(
z
(
i
)
)
≥
∑
i
∑
z
(
i
)
Q
i
(
t
)
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
θ
(
t
)
)
Q
i
(
t
)
(
z
(
i
)
)
=
l
(
θ
(
t
)
)
\begin{aligned} l(\theta^{(t+1)}) &\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t+1)})}{Q_i^{(t)}(z^{(i)})} \\ &\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t)})}{Q_i^{(t)}(z^{(i)})} \\ &= l(\theta^{(t)}) \end{aligned}
l(θ(t+1))≥i∑z(i)∑Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t+1))≥i∑z(i)∑Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t))=l(θ(t))
3.高斯混合
E
E
E 步骤很简单。还是按照上面的算法推导过程,只需要计算:
w
j
(
i
)
=
Q
i
(
z
(
i
)
=
j
)
=
P
(
z
(
i
)
=
j
∣
x
(
i
)
;
ϕ
,
μ
,
Σ
)
w_j^{(i)}=Q_i(z^{(i)}=j)=P(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma)
wj(i)=Qi(z(i)=j)=P(z(i)=j∣x(i);ϕ,μ,Σ)
这里面的
“
Q
i
(
z
(
i
)
=
j
)
”
“Q_i(z^{(i)} = j)”
“Qi(z(i)=j)” 表示的是在分布
Q
i
Q_i
Qi上
z
(
i
)
z^{(i)}
z(i) 取值
j
j
j 的概率。
接下来在
M
M
M 步骤,就要最大化关于参数
ϕ
,
μ
,
Σ
\phi,\mu,\Sigma
ϕ,μ,Σ的值:
∑
i
=
1
m
∑
z
(
i
)
Q
i
(
z
(
i
)
)
l
o
g
p
(
x
(
i
)
,
z
(
i
)
;
ϕ
,
μ
,
Σ
)
Q
i
(
z
(
i
)
)
=
∑
i
=
1
m
∑
j
=
1
k
Q
i
(
z
(
i
)
=
j
)
l
o
g
p
(
x
(
i
)
∣
z
(
i
)
=
j
;
μ
,
Σ
)
p
(
z
(
i
)
=
j
;
ϕ
)
Q
i
(
z
(
i
)
=
j
)
=
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
l
o
g
1
(
2
π
)
n
/
2
∣
Σ
j
∣
1
/
2
e
x
p
(
−
1
2
(
x
(
i
)
−
μ
j
)
T
Σ
j
−
1
(
x
(
i
)
−
μ
j
)
)
⋅
ϕ
j
w
j
(
i
)
\begin{aligned} \sum_{i=1}^m&\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\phi,\mu,\Sigma)}{Q_i(z^{(i)})}\\ &= \sum_{i=1}^m\sum_{j=1}^kQ_i(z^{(i)}=j)log\frac{p(x^{(i)}|z^{(i)}=j;\mu,\Sigma)p(z^{(i)}=j;\phi)}{Q_i(z^{(i)}=j)} \\ &= \sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\frac{\frac{1}{(2\pi)^{n/2}|\Sigma_j|^{1/2}}exp(-\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j))\cdot\phi_j}{w_j^{(i)}} \end{aligned}
i=1∑mz(i)∑Qi(z(i))logQi(z(i))p(x(i),z(i);ϕ,μ,Σ)=i=1∑mj=1∑kQi(z(i)=j)logQi(z(i)=j)p(x(i)∣z(i)=j;μ,Σ)p(z(i)=j;ϕ)=i=1∑mj=1∑kwj(i)logwj(i)(2π)n/2∣Σj∣1/21exp(−21(x(i)−μj)TΣj−1(x(i)−μj))⋅ϕj
先关于
μ
l
\mu_l
μl 来进行最大化。如果去关于
μ
l
\mu_l
μl 的(偏)导数(derivative),得到:
∇
μ
l
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
l
o
g
1
(
2
π
)
n
/
2
∣
Σ
j
∣
1
/
2
e
x
p
(
−
1
2
(
x
(
i
)
−
μ
j
)
T
Σ
j
−
1
(
x
(
i
)
−
μ
j
)
)
⋅
ϕ
j
w
j
(
i
)
=
−
∇
μ
l
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
1
2
(
x
(
i
)
−
μ
j
)
T
Σ
j
−
1
(
x
(
i
)
−
μ
j
)
=
1
2
∑
i
=
1
m
w
l
(
i
)
∇
μ
l
(
2
μ
l
T
Σ
l
−
1
x
(
i
)
−
μ
l
T
Σ
l
−
1
μ
l
)
=
∑
i
=
1
m
w
l
(
i
)
(
Σ
l
−
1
x
(
i
)
−
Σ
l
−
1
μ
l
)
\begin{aligned} \nabla_{\mu_l}&\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\frac{\frac{1}{(2\pi)^{n/2}|\Sigma_j|^{1/2}}exp(-\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j))\cdot\phi_j}{w_j^{(i)}} \\ &= -\nabla_{\mu_l}\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j) \\ &= \frac 12\sum_{i=1}^m w_l^{(i)}\nabla_{\mu_l}(2\mu_l^T\Sigma_l^{-1}x^{(i)}-\mu_l^T\Sigma_l^{-1}\mu_l) \\ &= \sum_{i=1}^m w_l^{(i)}(\Sigma_l^{-1}x^{(i)}-\Sigma_l^{-1}\mu_l) \end{aligned}
∇μli=1∑mj=1∑kwj(i)logwj(i)(2π)n/2∣Σj∣1/21exp(−21(x(i)−μj)TΣj−1(x(i)−μj))⋅ϕj=−∇μli=1∑mj=1∑kwj(i)21(x(i)−μj)TΣj−1(x(i)−μj)=21i=1∑mwl(i)∇μl(2μlTΣl−1x(i)−μlTΣl−1μl)=i=1∑mwl(i)(Σl−1x(i)−Σl−1μl)
设上式为零,然后解出
μ
l
\mu_l
μl 就产生了更新规则(update rule):
μ
l
:
=
∑
i
=
1
m
w
l
(
i
)
x
(
i
)
∑
i
=
1
m
w
l
(
i
)
\mu_l := \frac{\sum_{i=1}^m w_l^{(i)}x^{(i)}}{\sum_{i=1}^m w_l^{(i)}}
μl:=∑i=1mwl(i)∑i=1mwl(i)x(i)
推导在
M
M
M 步骤中参数
ϕ
j
\phi_j
ϕj 的更新规则。把仅关于参数
ϕ
j
\phi_j
ϕj 的表达式结合起来,就能发现只需要最大化下面的表达式:
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
l
o
g
ϕ
j
\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\phi_j
i=1∑mj=1∑kwj(i)logϕj
然而,还有一个附加的约束,即
ϕ
j
\phi_j
ϕj 的和为
1
1
1,因为其表示的是概率
ϕ
j
=
p
(
z
(
i
)
=
j
;
ϕ
)
\phi_j = p(z^{(i)} = j;\phi)
ϕj=p(z(i)=j;ϕ)。为了保证这个约束条件成立,即
∑
j
=
1
k
ϕ
j
=
1
\sum^k_{j=1}\phi_j = 1
∑j=1kϕj=1,我们构建一个拉格朗日函数(Lagrangian):
L
(
ϕ
)
=
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
l
o
g
ϕ
j
+
β
(
∑
j
=
1
k
ϕ
j
−
1
)
\mathcal L(\phi)=\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\phi_j+\beta(\sum^k_{j=1}\phi_j - 1)
L(ϕ)=i=1∑mj=1∑kwj(i)logϕj+β(j=1∑kϕj−1)
其中的
β
\beta
β 是 拉格朗日乘数(Lagrange multiplier)
2
^2
2 。求导,然后得到:
∂
∂
ϕ
j
L
(
ϕ
)
=
∑
i
=
1
m
w
j
(
i
)
ϕ
j
+
1
\frac{\partial}{\partial{\phi_j}}\mathcal L(\phi)=\sum_{i=1}^m\frac{w_j^{(i)}}{\phi_j}+1
∂ϕj∂L(ϕ)=i=1∑mϕjwj(i)+1
2 这里我们不用在意约束条件 ϕ j ≥ 0 \phi_j \ge 0 ϕj≥0,因为很快就能发现,这里推导得到的解会自然满足这个条件的。
设导数为零,然后解方程,就得到了:
ϕ
j
=
∑
i
=
1
m
w
j
(
i
)
−
β
\phi_j=\frac{\sum_{i=1}^m w_j^{(i)}}{-\beta}
ϕj=−β∑i=1mwj(i)
也就是说,
ϕ
j
∝
∑
i
=
1
m
w
j
(
i
)
\phi_j\propto \sum_{i=1}^m w_j^{(i)}
ϕj∝∑i=1mwj(i)。结合约束条件(constraint)
Σ
j
ϕ
j
=
1
\Sigma_j \phi_j = 1
Σjϕj=1,可以很容易地发现
−
β
=
∑
i
=
1
m
∑
j
=
1
k
w
j
(
i
)
=
∑
i
=
1
m
1
=
m
-\beta = \sum_{i=1}^m\sum_{j=1}^kw_j^{(i)} = \sum_{i=1}^m 1 =m
−β=∑i=1m∑j=1kwj(i)=∑i=1m1=m. (这里用到了条件
w
j
(
i
)
=
Q
i
(
z
(
i
)
=
j
)
w_j^{(i)} =Q_i(z^{(i)} = j)
wj(i)=Qi(z(i)=j),而且因为所有概率之和等于
1
1
1,即
∑
j
w
j
(
i
)
=
1
\sum_j w_j^{(i)}=1
∑jwj(i)=1)。这样我们就得到了在
M
M
M 步骤中对参数
ϕ
j
\phi_j
ϕj 进行更新的规则了:
ϕ
j
:
=
1
m
∑
i
=
1
m
w
j
(
i
)
\phi_j := \frac 1m \sum_{i=1}^m w_j^{(i)}
ϕj:=m1i=1∑mwj(i)
接下来对
M
M
M 步骤中对
Σ
j
\Sigma_j
Σj 的更新规则的推导就很容易了。
Σ
j
=
∑
i
=
1
m
w
j
(
i
)
(
x
(
i
)
−
μ
j
)
(
x
(
i
)
−
μ
j
)
T
∑
i
=
1
m
w
j
(
i
)
.
\Sigma_j=\frac{\sum_{i=1}^m w_j^{(i)}(x^{(i)}-\mu_j)(x^{(i)}-\mu_j)^T}{\sum_{i=1}^m w_j^{(i)}}.
Σj=∑i=1mwj(i)∑i=1mwj(i)(x(i)−μj)(x(i)−μj)T.