统计学习方法-EM算法-读书笔记
1、前言
EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。每次迭代由两部分组成:E步,求期望;M步,求极大值,直至收敛。
隐变量:不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种变量。
2、EM算法
(1)选择参数的初始值
θ
(
0
)
\theta(0)
θ(0),开始迭代,注意EM算法对初值敏感。
(2)E步:
θ
(
i
)
\theta(i)
θ(i)为第i次迭代参数
θ
\theta
θ的估计值,在第i+1次迭代的E步,计算
Q
(
θ
,
θ
(
i
)
)
=
E
z
[
log
P
(
Y
,
Z
∣
θ
)
∣
Y
,
θ
(
i
)
]
=
∑
z
l
o
g
P
(
Y
,
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
(
i
)
)
Q(\theta,{\theta}^{(i)})=E_z[\log P(Y,Z|\theta)|Y,{\theta}^{(i)}]=\sum_z{logP(Y,Z|\theta)P(Z|Y,{\theta}^{(i)})}
Q(θ,θ(i))=Ez[logP(Y,Z∣θ)∣Y,θ(i)]=z∑logP(Y,Z∣θ)P(Z∣Y,θ(i))
P
(
Z
∣
Y
,
θ
)
P(Z|Y,\theta)
P(Z∣Y,θ)是在给定观测数据Y和当前参数估计
θ
\theta
θ下隐变量数据Z的条件概率分布。
(3)M步:求使
Q
(
θ
,
θ
(
i
)
)
Q(\theta,{\theta}^{(i)})
Q(θ,θ(i))极大化的
θ
\theta
θ,确定第i+1次迭代的参数的估计值
θ
(
i
+
1
)
=
a
r
g
m
a
x
Q
(
θ
,
θ
(
i
)
)
{\theta}^{(i+1)}=arg maxQ(\theta,{\theta}^{(i)})
θ(i+1)=argmaxQ(θ,θ(i))
重复2,3步,直到收敛,一般是对较小的正数满足
∣
∣
θ
1
−
θ
2
∣
∣
<
ξ
||\theta 1-\theta 2||<\xi
∣∣θ1−θ2∣∣<ξ
EM算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法。可以用于生成模型的非监督学习,生成模型由联合概率分布P(X,Y)表示,X为观测数据,Y为未观测数据。
3、高斯混合模型(GMM)
高斯混合模型是指具有如下形式的概率分布模型:
P
(
y
∣
θ
)
=
∑
k
=
1
K
α
k
ϕ
(
y
∣
θ
)
P(y|\theta)=\sum_{k=1}^K{{\alpha}_k \phi(y|{\theta})}
P(y∣θ)=k=1∑Kαkϕ(y∣θ)
其中第一个是系数,第二个是高斯分布密度
ϕ
(
y
∣
θ
k
)
=
1
(
2
π
)
1
/
2
σ
k
e
x
p
(
−
(
y
−
μ
k
)
2
2
σ
k
2
)
{\phi}(y|{\theta}_k)=\frac{1}{(2\pi)^{1/2}{\sigma}_k}exp(-\frac{(y-{\mu}_k)^2}{2{\sigma}_k^2})
ϕ(y∣θk)=(2π)1/2σk1exp(−2σk2(y−μk)2)
称为第k个分模型。