[机器学习] 小傻学EM:嚼烂EM算法
EM 算法
简介
最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。
计算步骤:
输入:观测变量Y,隐变量数据Z,联合分布
P
(
Y
,
Z
∣
θ
)
P(Y, Z| \theta)
P(Y,Z∣θ),条件概率分布
P
(
Y
∣
Z
,
θ
)
P(Y| Z, \theta)
P(Y∣Z,θ)
输入:模型参数
θ
\theta
θ
- 选择模型参数的初始值 θ 0 \theta_0 θ0
- E步:记
θ
i
\theta_i
θi为第i次迭代后的模型参数值,在第i+1次迭代的E步,计算期望:
Q ( θ , θ i ) = E z P ( Z ∣ Y , θ i ) [ log P ( Y , Z ∣ θ ) ] = ∑ Z P ( Z ∣ Y , θ i ) log P ( Y , Z ∣ θ ) Q(\theta, \theta_i) = E_{z~P(Z|Y, \theta_i)}[\log P(Y, Z|\theta)] \\ = \sum _Z P(Z|Y, \theta_i) \log P(Y, Z|\theta) Q(θ,θi)=Ez P(Z∣Y,θi)[logP(Y,Z∣θ)]=Z∑P(Z∣Y,θi)logP(Y,Z∣θ) - M步:求使得
Q
(
θ
,
θ
i
)
Q(\theta, \theta_i)
Q(θ,θi)极大化的
θ
\theta
θ,确定第i+1次迭代第参数的估计值
θ
i
+
1
\theta_{i+1}
θi+1:
θ i + 1 = a r g max θ Q ( θ , θ i ) \theta_{i+1} = arg\max\theta Q(\theta, \theta_i) θi+1=argmaxθQ(θ,θi) - 重复2~3,直至收敛
Jenson(琴生)不等式:
若f为凸函数,有:
f
(
t
x
1
+
(
1
−
t
)
x
2
)
≤
t
f
(
x
1
)
+
(
1
−
t
)
f
(
x
2
)
f(tx_1 + (1 - t) x_2) \leq tf(x_1) + (1 - t) f(x_2)
f(tx1+(1−t)x2)≤tf(x1)+(1−t)f(x2)
其中
t
∈
[
0
,
1
]
t\in [0, 1]
t∈[0,1],同理,若f为凹函数,只需将上式中的
≤
变
为
≥
即
可
。
\leq变为\geq 即可。
≤变为≥即可。
将上式中的t推广到n同样成立,即:
f
(
t
1
x
1
+
t
2
x
2
+
.
.
.
+
t
n
x
n
)
≤
t
1
f
(
x
1
)
+
t
2
f
(
x
2
)
+
.
.
.
+
t
n
f
(
x
n
)
f(t_1x_1 +t_2x_2 + ... + t_nx_n) \leq t_1f(x_1) +t_2f(x_2) + ... + t_nf(x_n)
f(t1x1+t2x2+...+tnxn)≤t1f(x1)+t2f(x2)+...+tnf(xn)
其中
t
1
,
t
2
,
.
.
.
,
t
n
∈
[
0
,
1
]
,
t
1
+
t
2
+
.
.
.
+
t
n
=
1
t_1,t_2, ... , t_n\in [0, 1], t_1 + t_2 + ... + t_n = 1
t1,t2,...,tn∈[0,1],t1+t2+...+tn=1。在概率论中常以以下形式出现:
ψ
(
E
(
x
)
)
≤
E
(
ψ
(
x
)
)
\psi(E(x))\leq E(\psi(x))
ψ(E(x))≤E(ψ(x))
X为随机变量,
ψ
\psi
ψ是凸函数,E[X]表示X的期望。
Jensen不等式
设 f f f是定义域为 R R R的函数
- 如果对于任意的 x , f ( x ) x,f(x) x,f(x)的二次导数 f ′ ′ ( x ) ≥ 0 f''(x) \geq 0 f′′(x)≥0,那么 f f f是凸函数。
- 当 X X X是向量时,若其 H e s s i a n Hessian Hessian矩阵 H H H是半正定的,那么 f f f是凸函数。
如果 f f f是凸函数, X X X是随机变量,那么: E [ f ( X ) ] ≥ f ( E [ X ] ) E[f(X)] \geq f(E[X]) E[f(X)]≥f(E[X]),通俗的说法是函数值的期望大于等于期望的函数值。
log是凹函数,所以E[log(x)]<=log(E[X])
x
均
匀
分
布
g
(
x
)
=
1
b
−
a
E
X
=
∫
x
g
(
x
)
d
x
=
1
b
−
a
∫
x
d
x
=
a
+
b
2
f
(
E
X
)
=
f
(
a
+
b
2
)
E
(
f
(
x
)
)
=
∫
f
(
x
)
g
(
x
)
d
x
=
1
b
−
a
∫
f
(
x
)
d
x
x 均匀分布 g(x)=\frac1{b-a}\\EX=\int xg(x)dx=\frac1{b-a}\int xdx= \frac {a+b}2 \\f(EX)=f(\frac {a+b}2)\\E(f(x))=\int f(x)g(x)dx = \frac1{b-a} \int f(x)dx
x均匀分布g(x)=b−a1EX=∫xg(x)dx=b−a1∫xdx=2a+bf(EX)=f(2a+b)E(f(x))=∫f(x)g(x)dx=b−a1∫f(x)dx
原期望不等式等价于: ∑ i n p i f ( x i ) ≥ f ( ∑ i n p i x i ) \sum_i^np_if(x_i)\geq f(\sum_i^np_ix_i) ∑inpif(xi)≥f(∑inpixi)
凸函数的性质: p 1 f ( x 1 ) + p 2 f ( x 2 ) ≥ f ( p 1 x 1 + p 2 x 2 ) ; p 1 + p 2 = 1 p_1f(x_1)+p_2f(x_2)\geq f(p_1x_1+p_2x_2) ; p_1+p_2=1 p1f(x1)+p2f(x2)≥f(p1x1+p2x2);p1+p2=1
归纳法,假设n=k时成立,
∑
i
k
p
i
=
1
\sum_i^kp_i=1
∑ikpi=1
∑
i
k
+
1
p
i
x
i
=
p
k
+
1
f
(
x
k
+
1
)
+
∑
i
k
p
i
f
(
x
i
)
=
p
k
+
1
f
(
x
k
+
1
)
+
Z
k
∑
i
k
p
i
Z
k
f
(
x
i
)
;
Z
k
=
∑
i
k
p
i
≥
p
k
+
1
f
(
x
k
+
1
)
+
Z
k
f
(
∑
i
k
p
i
Z
k
x
i
)
≥
f
(
p
k
+
1
x
k
+
1
+
Z
k
∑
i
k
p
i
Z
k
x
i
)
=
f
(
∑
i
k
+
1
p
i
x
i
)
\sum_i^{k+1} p_i x_i = p_{k+1} f(x_{k+1}) + \sum_i^k p_i f(x_i)\\=p_{k+1}f(x_{k+1})+Z_k\sum_i^k \frac {p_i} {Z_k} f(x_i); Z_k=\sum_i^k p_i \\\geq p_{k+1}f(x_{k+1})+Z_k f(\sum_i^k \frac {p_i}{Z_k}x_i) \\\geq f(p_{k+1}x_{k+1} + Z_k \sum_i^k \frac {p_i} {Z_k}x_i) \\=f(\sum_i^{k+1}p_ix_i)
i∑k+1pixi=pk+1f(xk+1)+i∑kpif(xi)=pk+1f(xk+1)+Zki∑kZkpif(xi);Zk=i∑kpi≥pk+1f(xk+1)+Zkf(i∑kZkpixi)≥f(pk+1xk+1+Zki∑kZkpixi)=f(i∑k+1pixi)
已知:(1)样本服从分布的模型, (2)观测到的样本 求解:模型的参数
总的来说:极大似然估计就是用来估计模型参数的统计学方法
1. EM算法的导入,为什么要有EM算法?
概率模型有时既有观测变量,又有隐变量;若用概率模型的变量都是观察变量,
对于给定数据可使用极大似然估计或贝叶斯估计来计算模型参数。
但当含有隐变量时,就不能简单地使用这些方法,EM算法就是含有隐变量的概率模型参数的极大似然估计法。
《统计学习的方法》例9.1 (三银币模型):
假设有三枚银币,分别计作A,B,C。这些硬币正面出现的概率分别是
π
,
p
和
q
\pi, p和q
π,p和q。进行如下掷硬币试验:先掷银币A,根据其结果选出银币B或者银币C,正面选银币B,反面选银币C;然后掷选出的硬币。掷银币的结果,出现正面计作1,出现反面计作0;独立重复n次试验(这里n=10),观测结果如下:
1
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
1
,
1
1, 1, 0, 1, 0, 0, 1, 0, 1, 1
1,1,0,1,0,0,1,0,1,1
假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三银币正面出现的概率,即三硬币模型的参数。
解:
对于每一次试验可进行如下建模:
P
(
y
∣
θ
)
=
∑
z
P
(
y
,
z
∣
θ
)
=
∑
z
P
(
z
∣
θ
)
P
(
y
∣
z
,
θ
)
=
P
(
z
=
1
∣
θ
)
P
(
y
∣
z
=
1
,
θ
)
+
P
(
z
=
0
∣
θ
)
P
(
y
∣
z
=
0
,
θ
)
=
π
p
y
(
1
−
p
)
1
−
y
+
(
1
−
π
)
q
y
(
1
−
q
)
1
−
y
P(y|\theta) = \sum_zP(y, z|\theta) = \sum_zP(z|\theta)P(y|z,\theta)\\ =P(z=1|\theta)P(y|z=1,\theta) + P(z=0|\theta)P(y|z=0,\theta)\\ =\pi p^y(1-p)^{1-y} + (1-\pi)q^y(1-q)^{1-y}
P(y∣θ)=z∑P(y,z∣θ)=z∑P(z∣θ)P(y∣z,θ)=P(z=1∣θ)P(y∣z=1,θ)+P(z=0∣θ)P(y∣z=0,θ)=πpy(1−p)1−y+(1−π)qy(1−q)1−y
式中:
随机变量y为观测变量,表示每一次试验观测的结果是1或者0;
随机变量z是隐变量,表示未观测到的掷银币A的结果;
θ
=
(
π
,
p
,
q
)
\theta = (\pi, p, q)
θ=(π,p,q)是模型参数;
将观测数据表示为
Y
=
(
Y
1
,
Y
2
,
.
.
.
,
Y
n
)
T
Y = (Y_1, Y_2, ..., Y_n)^T
Y=(Y1,Y2,...,Yn)T;
未观测数据表示为
Z
=
(
Z
1
,
Z
2
,
.
.
.
,
z
n
)
T
Z = (Z_1, Z_2, ..., z_n)^T
Z=(Z1,Z2,...,zn)T;
则观测数据的似然函数为:
P
(
Y
∣
θ
)
=
∑
Z
P
(
Z
∣
θ
)
P
(
Y
∣
Z
,
θ
)
=
∏
j
=
1
n
P
(
y
i
∣
θ
)
=
∏
j
=
1
n
[
π
p
y
i
(
1
−
p
)
1
−
y
i
+
(
1
−
π
)
q
y
i
(
1
−
q
)
1
−
y
i
)
]
(1)
\tag{1}P(Y|\theta) = \sum_ZP(Z|\theta)P(Y|Z,\theta)\\ =\prod_{j=1}^nP(y_i|\theta)\\ =\prod_{j=1}^n[\pi p^{y_i}(1-p)^{1-y_i} + (1-\pi)q^{y_i}(1-q)^{1-y_i})]
P(Y∣θ)=Z∑P(Z∣θ)P(Y∣Z,θ)=j=1∏nP(yi∣θ)=j=1∏n[πpyi(1−p)1−yi+(1−π)qyi(1−q)1−yi)](1)
考虑求模型参数
θ
=
(
π
,
p
,
q
)
\theta = (\pi, p, q)
θ=(π,p,q)的极大似然估计,使用对数似然函数来进行参数估计可得:
θ
^
=
=
arg
max
θ
l
o
g
P
(
Y
∣
θ
)
=
a
r
g
m
a
x
θ
l
o
g
∏
j
=
1
n
[
π
p
y
i
(
1
−
p
)
1
−
y
i
+
(
1
−
π
)
q
y
i
(
1
−
q
)
1
−
y
i
)
]
(
这
个
地
方
把
l
o
g
提
到
后
边
,
连
乘
变
为
连
加
)
=
a
r
g
m
a
x
θ
∑
j
=
1
n
l
o
g
[
π
p
y
i
(
1
−
p
)
1
−
y
i
+
(
1
−
π
)
q
y
i
(
1
−
q
)
1
−
y
i
)
]
\hat{\theta} = =\arg\max_\theta logP(Y|\theta)\\ =argmax_\theta log\prod_{j=1}^n[\pi p^{y_i}(1-p)^{1-y_i} + (1-\pi)q^{y_i}(1-q)^{1-y_i})](这个地方把log提到后边,连乘变为连加)\\ =argmax_\theta \sum_{j=1}^n\color{red}log\color{black}[\pi p^{y_i}(1-p)^{1-y_i} + (1-\pi)q^{y_i}(1-q)^{1-y_i})]\\
θ^==argθmaxlogP(Y∣θ)=argmaxθlogj=1∏n[πpyi(1−p)1−yi+(1−π)qyi(1−q)1−yi)](这个地方把log提到后边,连乘变为连加)=argmaxθj=1∑nlog[πpyi(1−p)1−yi+(1−π)qyi(1−q)1−yi)]
我们面对一个函数隐变量的概率模型,目标是极大化观测数据Y关于参数
θ
\theta
θ的对数似然函数,即极大化式(1)的对数似然表示:
L
(
θ
)
=
l
o
g
P
(
Y
∣
θ
)
=
l
o
g
∑
Z
P
(
Y
,
Z
∣
θ
)
=
l
o
g
∑
Z
P
(
Z
∣
θ
)
P
(
Y
∣
Z
,
θ
)
(2)
\tag{2}L(\theta) = logP(Y|\theta) = log\sum_ZP(Y, Z|\theta)= log\sum_ZP(Z|\theta)P(Y|Z,\theta)
L(θ)=logP(Y∣θ)=logZ∑P(Y,Z∣θ)=logZ∑P(Z∣θ)P(Y∣Z,θ)(2)
这一极大化的主要困难是上式中有未观测数据Z并包含和(Z为离散型时)或这积分(Z为连续型时)的对数。EM算法采用的是通过迭代逐步近似极大化
L
(
θ
)
L(\theta)
L(θ):
假设这第
i
次
迭
代
后
θ
的
估
计
值
为
θ
(
i
)
,
我
们
希
望
新
的
估
计
值
θ
能
使
L
(
θ
)
增
加
,
即
L
(
θ
)
>
L
(
θ
(
i
)
)
,
并
逐
步
达
到
极
大
值
,
为
此
,
我
们
考
虑
两
者
的
差
:
i次迭代后\theta的估计值为\theta^{(i)}, 我们希望新的估计值\theta能使L(\theta)增加,即L(\theta)>L(\theta^{(i)}), 并逐步达到极大值,为此,我们考虑两者的差:
i次迭代后θ的估计值为θ(i),我们希望新的估计值θ能使L(θ)增加,即L(θ)>L(θ(i)),并逐步达到极大值,为此,我们考虑两者的差:
L
(
θ
)
−
L
(
θ
i
)
=
log
∑
Z
P
(
X
∣
Z
,
θ
)
P
(
Z
;
θ
)
−
log
P
(
X
;
θ
i
)
=
log
∑
Z
P
(
Z
∣
X
,
θ
i
)
P
(
X
∣
Z
;
θ
)
P
(
Z
;
θ
)
P
(
Z
∣
X
,
θ
i
)
−
log
P
(
X
;
θ
i
)
≥
∑
Z
P
(
Z
∣
X
,
θ
i
)
log
P
(
X
,
Z
;
θ
)
P
(
Z
∣
X
,
θ
i
)
−
log
P
(
X
;
θ
i
)
;
(
j
e
n
s
e
n
)
因
为
:
∑
Z
P
(
Z
∣
X
,
θ
i
)
=
1
=
∑
Z
P
(
Z
∣
X
,
θ
i
)
log
P
(
X
,
Z
;
θ
)
P
(
Z
∣
X
,
θ
i
)
−
∑
Z
P
(
Z
∣
X
,
θ
i
)
log
P
(
X
;
θ
i
)
=
∑
Z
P
(
Z
∣
X
,
θ
i
)
(
log
P
(
X
,
Z
;
θ
)
P
(
Z
∣
X
,
θ
i
)
−
log
P
(
X
;
θ
i
)
)
(
l
o
g
相
减
,
这
个
地
方
直
接
除
过
去
就
好
,
l
o
g
函
数
性
质
)
=
∑
Z
P
(
Z
∣
X
,
θ
i
)
log
P
(
X
,
Z
;
θ
)
P
(
Z
∣
X
,
θ
i
)
P
(
X
;
θ
i
)
=
M
L(\theta)-L(\theta^i)=\log \sum_Z P(X|Z,\theta)P(Z;\theta)-\log P(X;\theta^i)\\ =\log \sum_Z P(Z|X,\theta^i) \frac{P(X|Z;\theta)P(Z;\theta)}{P(Z|X,\theta^i)} -\log P(X;\theta^i) \\ \geq \sum_Z P(Z|X,\theta^i)\log \frac{P(X,Z;\theta)}{P(Z|X,\theta^i)}-\log P(X;\theta^i);\ (jensen)\\ 因为:\sum_Z P(Z|X,\theta^i)=1\\ =\sum_Z P(Z|X,\theta^i)\log \frac{P(X,Z;\theta)}{P(Z|X,\theta^i)}-\sum_Z P(Z|X,\theta^i)\log P(X;\theta^i)\\ =\color{red}\sum_Z P(Z|X,\theta^i)\color{bloack}(\log \frac{P(X,Z;\theta)}{P(Z|X,\theta^i)}-\log P(X;\theta^i))(log相减,这个地方直接除过去就好,log函数性质)\\ =\sum_Z P(Z|X,\theta^i) \log \frac{P(X,Z;\theta)}{P(Z|X,\theta^i)P(X;\theta^i)}=M\\
L(θ)−L(θi)=logZ∑P(X∣Z,θ)P(Z;θ)−logP(X;θi)=logZ∑P(Z∣X,θi)P(Z∣X,θi)P(X∣Z;θ)P(Z;θ)−logP(X;θi)≥Z∑P(Z∣X,θi)logP(Z∣X,θi)P(X,Z;θ)−logP(X;θi); (jensen)因为:Z∑P(Z∣X,θi)=1=Z∑P(Z∣X,θi)logP(Z∣X,θi)P(X,Z;θ)−Z∑P(Z∣X,θi)logP(X;θi)=Z∑P(Z∣X,θi)(logP(Z∣X,θi)P(X,Z;θ)−logP(X;θi))(log相减,这个地方直接除过去就好,log函数性质)=Z∑P(Z∣X,θi)logP(Z∣X,θi)P(X;θi)P(X,Z;θ)=M
这里我们令:
B
(
θ
,
θ
i
)
=
L
(
θ
i
)
+
M
B(\theta,\theta^i)=L(\theta^i)+M
B(θ,θi)=L(θi)+M, 则有
L
(
θ
)
≥
B
(
θ
,
θ
i
)
L(\theta)\geq B(\theta,\theta^i)
L(θ)≥B(θ,θi)
即函数
B
(
θ
,
θ
i
)
是
函
数
L
(
θ
)
的
一
个
下
界
,
此
时
若
设
θ
i
+
1
达
到
最
大
,
即
B(\theta,\theta^i)是函数L(\theta)的一个下界,此时若设\theta^{i+1}达到最大,即
B(θ,θi)是函数L(θ)的一个下界,此时若设θi+1达到最大,即
B
(
θ
i
+
1
,
θ
i
)
≥
B
(
θ
,
θ
i
)
B(\theta^{i+1} ,\theta^i) \geq B(\theta ,\theta^i)
B(θi+1,θi)≥B(θ,θi)
又
L
(
θ
i
)
=
B
(
θ
i
,
θ
i
)
L(\theta^i) = B(\theta^i,\theta^i)
L(θi)=B(θi,θi),可进一步推得:
L
(
θ
i
+
1
)
≥
B
(
θ
i
+
1
,
θ
i
)
≥
B
(
θ
i
,
θ
i
)
=
L
(
θ
i
)
,
即
:
L
(
θ
i
+
1
)
≥
L
(
θ
i
)
L(\theta^{i+1}) \geq B(\theta^{i+1},\theta^i) \geq B(\theta^i,\theta^i) = L(\theta^i),即:\\ \color{red}L(\theta^{i+1}) \geq L(\theta^i)
L(θi+1)≥B(θi+1,θi)≥B(θi,θi)=L(θi),即:L(θi+1)≥L(θi)
因此,任何可以使
B
(
θ
,
θ
i
)
增
大
的
θ
也
可
以
使
L
(
θ
)
增
大
,
于
是
问
题
转
化
为
求
能
使
B
(
θ
,
θ
i
)
达
到
极
大
的
θ
i
+
1
B(\theta,\theta^i)增大的\theta也可以使L(\theta)增大,于是问题转化为求能使B(\theta,\theta^i)达到极大的\theta^{i+1}
B(θ,θi)增大的θ也可以使L(θ)增大,于是问题转化为求能使B(θ,θi)达到极大的θi+1,即:
θ
i
+
1
=
arg
max
θ
B
(
θ
,
θ
i
)
;
=
arg
max
θ
(
L
(
θ
i
)
+
M
)
=
arg
max
θ
(
∑
Z
p
(
Z
∣
X
,
θ
i
)
log
p
(
X
,
Z
;
θ
)
p
(
Z
∣
X
,
θ
i
)
p
(
X
;
θ
i
)
)
去
掉
对
θ
无
影
响
的
项
=
∑
z
p
(
Z
∣
X
,
θ
i
)
log
p
(
X
,
Z
;
θ
)
=
arg
max
θ
Q
(
θ
,
θ
i
)
=
E
p
(
Z
∣
X
,
θ
i
)
log
p
(
X
,
Z
;
θ
)
\theta^{i+1}=\arg\max_\theta B(\theta,\theta^i); \\ =\arg\max_\theta(L(\theta^i)+M)\\ =\arg\max_\theta(\sum_Z p(Z|X,\theta^i) \log \frac{p(X,Z;\theta)}{p(Z|X,\theta^i)p(X;\theta^i)})\\ 去掉对\theta无影响的项\\ =\sum_z p(Z|X,\theta^i) \log p(X,Z;\theta) \\ =\arg\max_\theta Q(\theta,\theta^i)\\ =E_{p(Z|X,\theta^i)}\log p(X,Z;\theta)
θi+1=argθmaxB(θ,θi);=argθmax(L(θi)+M)=argθmax(Z∑p(Z∣X,θi)logp(Z∣X,θi)p(X;θi)p(X,Z;θ))去掉对θ无影响的项=z∑p(Z∣X,θi)logp(X,Z;θ)=argθmaxQ(θ,θi)=Ep(Z∣X,θi)logp(X,Z;θ)
到此即完成连EM算法的一次迭代,求出的
θ
i
+
1
作
为
下
一
次
迭
代
的
初
始
θ
i
。
综
上
,
可
总
结
出
E
M
算
法
的
‘
E
步
’
和
‘
M
步
’
分
别
为
\theta^{i+1}作为下一次迭代的初始\theta^i。综上,可总结出EM算法的‘E步’和‘M步’分别为
θi+1作为下一次迭代的初始θi。综上,可总结出EM算法的‘E步’和‘M步’分别为:
E步:计算完全数据的对数似然函数
l
o
g
P
(
Y
,
Z
∣
θ
)
关
于
在
给
定
观
测
数
据
Y
和
当
前
参
数
θ
下
对
未
观
测
数
据
Z
对
条
件
概
率
分
布
P
(
Z
∣
Y
,
θ
i
)
的
期
望
,
也
即
Q
函
数
logP(Y, Z |\theta)关于在给定观测数据Y和当前参数\theta下对未观测数据Z对条件概率分布P(Z|Y, \theta^i)的期望,也即Q函数
logP(Y,Z∣θ)关于在给定观测数据Y和当前参数θ下对未观测数据Z对条件概率分布P(Z∣Y,θi)的期望,也即Q函数:
Q
(
θ
,
θ
i
)
=
E
Z
[
l
o
g
P
(
Y
,
Z
∣
θ
)
∣
Y
,
θ
i
]
=
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
,
Z
∣
θ
)
Q(\theta,\theta^i) = E_Z[logP(Y, Z|\theta)|Y, \theta^i] = \sum _Z P(Z|Y, \theta^i)logP(Y, Z|\theta)
Q(θ,θi)=EZ[logP(Y,Z∣θ)∣Y,θi]=∑ZP(Z∣Y,θi)logP(Y,Z∣θ)
M 步:求使得Q函数达到极大的
θ
i
+
1
\theta^{i+1}
θi+1
E 步,导出Q函数
Q ( θ , θ i ) = ∑ Z P ( Z ∣ Y , θ i ) l o g P ( Y , Z ∣ θ ) = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) l o g [ ∏ j = 1 N P ( Z j ∣ y j , θ ] } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) [ ∑ j = 1 N l o g P ( Z j ∣ y j , θ ] } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) [ l o g P ( y 1 , z 1 ∣ θ ) + ∑ j = 2 N l o g P ( Z j ∣ y j , θ ] } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) l o g P ( y 1 , z 1 ∣ θ ) + ∏ j = 1 N P ( Z j ∣ y j , θ i ) ∑ j = 2 N l o g P ( Z j ∣ y j , θ ] } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) l o g P ( y 1 , z 1 ∣ θ ) } + ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) [ ∑ j = 2 N l o g P ( Z j ∣ y j , θ ] } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) l o g P ( y 1 , z 1 ∣ θ ) } + ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) [ ∑ j = 2 N l o g P ( Z 2 ∣ y 2 , θ ] } + . . . + ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) [ ∑ j = 2 N l o g P ( Z N ∣ y N , θ ] } 单 独 考 察 ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) l o g P ( y 1 , z 1 ∣ θ ) } = ∑ z 1 , z 2 , . . . , z N { ∏ j = 1 N P ( Z j ∣ y j , θ i ) P ( z 1 ∣ y 1 , θ i ) l o g P ( y 1 , z 1 ∣ θ ) } Q(\theta,\theta^i) = \sum _Z P(Z|Y, \theta^i)logP(Y, Z|\theta)\\ =\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}log[\prod_{j=1}^N\color{l}P(Z_j|y_j, \theta]\}\\ =\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}[\sum_{j=1}^Nlog\color{rd}P(Z_j|y_j, \theta]\}\\ =\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}[logP(y_1,z_1|\theta) + \sum_{j=2}^NlogP(Z_j|y_j, \theta]\}\\ \color{black}=\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}logP(y_1,z_1|\theta) +\color{l} \prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}\sum_{j=2}^NlogP(Z_j|y_j, \theta]\}\\ \color{black}=\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{rd}logP(y_1,z_1|\theta) \}+\sum_{z_1, z_2, ... , z_N}\{\color{l} \prod_{j=1}^NP(Z_j|y_j, \theta^i)[\sum_{j=2}^NlogP(Z_j|y_j, \theta]\}\\ =\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{rd}logP(y_1,z_1|\theta) \}+\color{red}\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)[\sum_{j=2}^NlogP(Z_2|y_2, \theta]\} + ... + \sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)[\sum_{j=2}^NlogP(Z_N|y_N, \theta]\}\\ \color{black}单独考察\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{rd}logP(y_1,z_1|\theta) \}\\ =\sum_{z_1, z_2, ... , z_N}\{\prod_{j=1}^NP(Z_j|y_j, \theta^i)\color{red}P(z_1|y_1, \theta^i)\color{rd}logP(y_1,z_1|\theta) \}\\ Q(θ,θi)=Z∑P(Z∣Y,θi)logP(Y,Z∣θ)=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)log[j=1∏NP(Zj∣yj,θ]}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)[j=1∑NlogP(Zj∣yj,θ]}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)[logP(y1,z1∣θ)+j=2∑NlogP(Zj∣yj,θ]}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)logP(y1,z1∣θ)+j=1∏NP(Zj∣yj,θi)j=2∑NlogP(Zj∣yj,θ]}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)logP(y1,z1∣θ)}+z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)[j=2∑NlogP(Zj∣yj,θ]}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)logP(y1,z1∣θ)}+z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)[j=2∑NlogP(Z2∣y2,θ]}+...+z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)[j=2∑NlogP(ZN∣yN,θ]}单独考察z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)logP(y1,z1∣θ)}=z1,z2,...,zN∑{j=1∏NP(Zj∣yj,θi)P(z1∣y1,θi)logP(y1,z1∣θ)}
推不动了,什么时候有空在推吧~