9.1 导论
三硬币模型
假设我们有随机变量 z z z(观测不到的数据): z ∼ b ( 1 , π ) z \sim b(1, \pi) z∼b(1,π)。针对一系列样本 ( z 1 , y 1 ) ( z 2 , y 2 ) … … ( z N , y N ) \left(z_{1}, y_{1}\right)\left(z_{2}, y_{2}\right) \ldots \ldots\left(z_{N}, y_{N}\right) (z1,y1)(z2,y2)……(zN,yN),满足
- 若 z 1 = 1 , y 1 ∼ b ( 1 , p ) z_1=1, y_1 \sim b(1, p) z1=1,y1∼b(1,p)
- 若 z 1 = 0 , y 1 ∼ b ( 1 , q ) z_1=0, y_1 \sim b(1, q) z1=0,y1∼b(1,q)
如果 ( z , y ) (z, y) (z,y)是完全数据,则有 p ( y , z ) = p ( z ) ⋅ p ( y ∣ z ) p(y, z)=p(z) \cdot p(y \mid z) p(y,z)=p(z)⋅p(y∣z)。
如果
y
y
y是不完全数据(观测数据),则有
∏
i
=
1
N
p
(
y
i
∣
θ
)
=
∏
i
=
1
N
[
∑
z
p
(
y
i
,
z
∣
θ
)
]
=
∏
i
=
1
N
[
π
p
y
i
(
1
−
p
)
1
−
y
i
+
(
1
−
π
)
q
y
i
(
1
−
q
)
1
−
y
i
⇒
p
(
y
,
z
∣
θ
)
,
max
(
ln
∏
i
=
1
N
p
(
y
i
,
z
i
∣
θ
)
)
\prod_{i=1}^{\mathrm{N}} p\left(y_{i} \mid \theta\right)=\prod_{i=1}^{\mathrm{N}}\left[\sum_{z} p\left(y_{i}, z \mid \theta\right)\right]=\prod_{i=1}^{\mathrm{N}}\left[\pi p^{y_{i}}(1-p)^{1-y_{i}}+(1-\pi) q^{y_{i}}(1-q)^{1-y_{i}}\right.\\ \Rightarrow p(y, z \mid \theta), \quad \max \left(\ln \prod_{i=1}^{N} p\left(y_{i}, z_{i} \mid \theta\right)\right)
i=1∏Np(yi∣θ)=i=1∏N[z∑p(yi,z∣θ)]=i=1∏N[πpyi(1−p)1−yi+(1−π)qyi(1−q)1−yi⇒p(y,z∣θ),max(lni=1∏Np(yi,zi∣θ))
- E步: z i → E ( z ) → θ ( i ) , y i z_{i} \rightarrow E(z) \rightarrow \theta^{(i)}, y_{i} zi→E(z)→θ(i),yi
- M步: θ ( i + 1 ) = arg max θ ln ∏ i = 1 N ( p i , E ( z ) ∣ θ ) \theta^{(i+1)}=\underset{\theta}{\arg \max } \ln \prod_{i=1}^{N}\left(p_{i}, E(z) \mid \theta\right) θ(i+1)=θargmaxln∏i=1N(pi,E(z)∣θ)
算法的引入
EM算法步骤
输入: 观测变量数据 Y Y Y, 隐变量数据 Z Z Z, 联合分布 P ( Y , Z ∣ θ ) P(Y, Z \mid \theta) P(Y,Z∣θ), 条件分布 P ( Z ∣ Y , θ ) P(Z \mid Y, \theta) P(Z∣Y,θ);
输出 : 模型参数 θ \theta θ 。
(1) 选择参数的初值 θ ( 0 ) \theta^{(0)} θ(0), 开始迭代 ;
(2) E E E 步 : 记 θ ( i ) \theta^{(i)} θ(i) 为第 i i i 次迭代参数 θ \theta θ 的估计值, 在第 i + 1 i+1 i+1 次迭代的 E E E 步, 计算 Q ( θ , θ ( i ) ) = E Z [ log P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q\left(\theta, \theta^{(i)}\right)=E_{Z}\left[\log P(Y, Z \mid \theta) \mid Y, \theta^{(i)}\right] Q(θ,θ(i))=EZ[logP(Y,Z∣θ)∣Y,θ(i)]
(3) M M M 步 : 求使 Q ( θ , θ ( i ) ) Q\left(\theta, \theta^{(i)}\right) Q(θ,θ(i)) 极大化的 θ \theta θ, 确定第 i + 1 i+1 i+1 次迭代的参数的估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1) θ ( i + 1 ) = argmax θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\operatorname{argmax}_{\theta} Q\left(\theta, \theta^{(i)}\right) θ(i+1)=argmaxθQ(θ,θ(i))
(4) 重复第 (2) 步和第(3)步,直到收敛。 Q ( θ ( i + 1 ) , θ ( i ) ) ← Q ( θ ( i ) , θ ( i − 1 ) ) Q\left(\theta^{(i+1)}, \theta^{(i)}\right) \leftarrow Q \left(\theta^{(i)}, \theta^{(i-1)}\right) Q(θ(i+1),θ(i))←Q(θ(i),θ(i−1))
式 (9.9)的函数 Q ( θ , θ ( i ) ) Q\left(\theta, \theta^{(i)}\right) Q(θ,θ(i)) 是 E M E M EM 算法的核心,称为 Q Q Q 函数( Q Q Q function)
定理9.1
设
P
(
Y
∣
θ
)
P(Y \mid \theta)
P(Y∣θ) 为观测数据的似然函数,
θ
(
i
)
(
i
=
1
,
2
,
…
)
\theta^{(i)}(i=1,2, \ldots)
θ(i)(i=1,2,…) 为
E
M
E M
EM 算法得到的参数估计序列,
P
(
Y
∣
θ
(
i
)
)
(
i
=
1
,
2
,
…
)
P\left(Y \mid \theta^{(i)}\right)(i=1,2 , \ldots)
P(Y∣θ(i))(i=1,2,…) 为对应的似然函数序列,则
P
(
Y
∣
θ
(
i
)
)
P\left(Y \mid \theta^{(i)}\right)
P(Y∣θ(i)) 是单调递增的,即
P
(
Y
∣
θ
(
i
+
1
)
)
≥
P
(
Y
∣
θ
(
i
)
)
P\left(Y \mid \theta^{(i+1)}\right) \geq P\left(Y \mid \theta^{(i)}\right)
P(Y∣θ(i+1))≥P(Y∣θ(i))
定理2
设
L
(
θ
)
=
log
P
(
Y
∣
θ
)
L(\theta)=\log P(Y \mid \theta)
L(θ)=logP(Y∣θ) 为观测数据的对数似然函数,
θ
(
i
)
(
i
=
1
,
2
,
…
)
\theta^{(i)}(i=1,2, \ldots)
θ(i)(i=1,2,…) 为
E
M
E M
EM 算法得到的参数估计序列,
L
(
θ
(
i
)
)
(
i
=
1
,
2
,
…
)
L\left(\theta^{(i)}\right)(i=1,2, \ldots)
L(θ(i))(i=1,2,…) 为对应的对数似然函数序列。
(1) 如果
P
(
Y
∣
θ
)
P(Y \mid \theta)
P(Y∣θ) 有上界,则
L
(
θ
(
i
)
)
=
log
P
(
Y
∣
θ
(
i
)
)
L\left(\theta^{(i)}\right)=\log P\left(Y \mid \theta^{(i)}\right)
L(θ(i))=logP(Y∣θ(i)) 收敛到某一值
L
L
L ;
(2) 在函数
Q
(
θ
,
θ
′
)
Q\left(\theta, \theta^{\prime}\right)
Q(θ,θ′) 与
L
(
θ
)
L(\theta)
L(θ) 满足一定条件下,由
E
M
E M
EM 算法得到的参数估计序列
θ
(
i
)
\theta^{(i)}
θ(i) 的收敛值
θ
\theta
θ 是
L
(
θ
)
L(\theta)
L(θ) 的稳定点。
总结
- EM算法通过迭代求解观测数据的对数似然函数的极大化,实现极大似然估计。
- EM的极大似然估计中包含两个步骤:E步求期望和M步求极大。
- EM算法在每次迭代后均提高观测数据的似然函数值。
9.2 EM算法的导出
L ( θ ) = ln P ( Y ∣ θ ) = ln ∑ Z P ( Y , Z ∣ θ ) = ln ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) L ( θ ) − L ( θ ( i ) ) = ln ( ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) ) − ln P ( Y ∣ θ ( i ) ) = ln ( ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) − ln P ( Y ∣ θ ( i ) ) ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ( P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) ) − ∑ Z P ( Z ∣ Y , θ ( i ) ) ln P ( Y ∣ θ ( i ) ) = ∑ Z P ( Z ∣ Y , θ ( i ) ) ln ( P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) ) \begin{aligned} L(\theta)=\ln P(Y \mid \theta) &=\ln \sum_{Z} P(Y, Z \mid \theta)=\ln \left(\sum_{Z} P(Z \mid \theta) P(Y \mid Z, \theta)\right) \\ L(\theta)-L\left(\theta^{(i)}\right) &=\ln \left(\sum_{Z} P(Z \mid \theta) P(Y \mid Z, \theta)\right)-\ln P\left(Y \mid \theta^{(i)}\right) \\ &=\ln \left(\sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right) \frac{P(Z \mid \theta) P(Y \mid Z, \theta)}{P\left(Z \mid Y, \theta^{(i)}\right)}\right)-\ln P\left(Y \mid \theta^{(i)}\right) \\ & \sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right) \ln \left(\frac{P(Z \mid \theta) P(Y \mid Z, \theta)}{P\left(Z \mid Y, \theta^{(i)}\right)}\right)-\sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right) \ln P\left(Y \mid \theta^{(i)}\right) \\ &=\sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right) \ln \left(\frac{P(Z \mid \theta) P(Y \mid Z, \theta)}{P\left(Z \mid Y, \theta^{(i)}\right) P\left(Y \mid \theta^{(i)}\right)}\right) \end{aligned} L(θ)=lnP(Y∣θ)L(θ)−L(θ(i))=lnZ∑P(Y,Z∣θ)=ln(Z∑P(Z∣θ)P(Y∣Z,θ))=ln(Z∑P(Z∣θ)P(Y∣Z,θ))−lnP(Y∣θ(i))=ln(Z∑P(Z∣Y,θ(i))P(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ))−lnP(Y∣θ(i))Z∑P(Z∣Y,θ(i))ln(P(Z∣Y,θ(i))P(Z∣θ)P(Y∣Z,θ))−Z∑P(Z∣Y,θ(i))lnP(Y∣θ(i))=Z∑P(Z∣Y,θ(i))ln(P(Z∣Y,θ(i))P(Y∣θ(i))P(Z∣θ)P(Y∣Z,θ))
然后我们有
θ
(
i
+
1
)
=
argmax
θ
B
(
θ
,
θ
(
i
)
)
=
argmax
θ
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
(
ln
P
(
Z
∣
θ
)
P
(
Y
∣
Z
,
θ
)
)
=
argmax
θ
∑
Z
P
(
Z
∣
Y
,
θ
(
i
)
)
(
ln
P
(
Y
,
Z
∣
θ
)
)
\begin{aligned} \theta^{(i+1)} &=\underset{\theta}{\operatorname{argmax}} B\left(\theta, \theta^{(i)}\right) \\ &=\underset{\theta}{\operatorname{argmax}} \sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right)(\ln P(Z \mid \theta) P(Y \mid Z, \theta)) \\ &=\underset{\theta}{\operatorname{argmax}} \sum_{Z} P\left(Z \mid Y, \theta^{(i)}\right)(\ln P(Y, Z \mid \theta)) \end{aligned}
θ(i+1)=θargmaxB(θ,θ(i))=θargmaxZ∑P(Z∣Y,θ(i))(lnP(Z∣θ)P(Y∣Z,θ))=θargmaxZ∑P(Z∣Y,θ(i))(lnP(Y,Z∣θ))
最后
argmax
θ
Q
(
θ
,
θ
(
i
)
)
\underset{\theta}{\operatorname{argmax}} Q\left(\theta, \theta^{(i)}\right)
θargmaxQ(θ,θ(i))
总结
- EM算法通过迭代逐步近似极大化L。
- 为了每次都能够极大化 L L L ,需保证每个步骤中 L ( θ ) − L(\theta)- L(θ)− L ( θ ( i ) ) L\left(\theta^{(i)}\right) L(θ(i)) 大于0。
- 通过找到当前 L ( θ ) − L ( θ ( i ) ) L(\theta)-L\left(\theta^{(i)}\right) L(θ)−L(θ(i)) 的下界,不断提高该下界即可。
9.3 高斯混合模型
(to be continue )