1. EM-ML algorithm
formulation
complete data :
z
=
[
y
,
w
]
\mathsf{z=[y,w]}
z = [ y , w ]
observation :
y
\boldsymbol{y}
y
hidden variable :
w
\boldsymbol{w}
w
estimation :
x
\mathcal{x}
x
Derivation
期望获得 ML 估计,但是实际中
p
(
y
;
x
)
p(y;x)
p ( y ; x ) 可能很难计算(比如 mixture gaussian model,相乘后再求和)
x
^
M
L
(
y
)
=
arg
max
x
ln
p
(
y
;
x
)
\hat{x}_{ML}(y)=\arg\max_x \ln p(y;x) \\
x ^ M L ( y ) = arg x max ln p ( y ; x ) 引入 complete data
z
=
[
y
,
w
]
\mathsf{z=[y,w]}
z = [ y , w ] ,令
y
=
g
(
z
)
y=g(z)
y = g ( z )
p
(
z
;
x
)
=
∑
y
p
(
z
∣
y
;
x
)
p
(
y
;
x
)
=
p
(
z
∣
g
(
z
)
;
x
)
p
(
g
(
z
)
;
x
)
x
^
M
L
(
y
)
=
arg
max
x
ln
p
(
z
;
x
)
−
ln
p
(
z
∣
y
;
x
)
p(z;x)=\sum_y p(z|y;x)p(y;x)=p(z|g(z);x)p(g(z);x) \\ \hat{x}_{ML}(y) = \arg\max_x \ln p(z;x) - \ln p(z|y;x)
p ( z ; x ) = y ∑ p ( z ∣ y ; x ) p ( y ; x ) = p ( z ∣ g ( z ) ; x ) p ( g ( z ) ; x ) x ^ M L ( y ) = arg x max ln p ( z ; x ) − ln p ( z ∣ y ; x ) 由于
x
^
M
L
(
y
)
\hat{x}_{ML}(y)
x ^ M L ( y ) 与 z 无关,因此右边可以对
p
(
z
∣
y
;
x
′
)
p(z|y;x')
p ( z ∣ y ; x ′ ) 求期望
ln
p
(
y
;
x
)
=
ln
p
(
z
;
x
)
−
ln
p
(
z
∣
y
;
x
)
=
E
[
ln
p
(
z
;
x
)
∣
y
=
y
;
x
′
]
−
E
[
ln
p
(
z
∣
y
;
x
)
∣
y
=
y
;
x
′
]
=
U
(
x
,
x
′
)
+
V
(
x
,
x
′
)
\begin{aligned} \ln p(y;x) &= \ln p(z;x) - \ln p(z|y;x) \\ &= \mathbb{E}[\ln p(z;x)|\mathsf{y}=y;x'] - \mathbb{E}[\ln p(z|y;x)|\mathsf{y}=y;x'] \\ &= U(x,x') + V(x,x') \end{aligned}
ln p ( y ; x ) = ln p ( z ; x ) − ln p ( z ∣ y ; x ) = E [ ln p ( z ; x ) ∣ y = y ; x ′ ] − E [ ln p ( z ∣ y ; x ) ∣ y = y ; x ′ ] = U ( x , x ′ ) + V ( x , x ′ ) 其中
V
(
x
,
x
′
)
V(x,x')
V ( x , x ′ ) 根据 Gibbs 不等式可以知道恒有
V
(
x
,
x
′
)
≥
V
(
x
′
,
x
′
)
V(x,x') \ge V(x',x')
V ( x , x ′ ) ≥ V ( x ′ , x ′ )
因此要使
ln
p
(
y
;
x
)
\ln p(y;x)
ln p ( y ; x ) 最大,只需要使
U
(
x
,
x
′
)
U(x,x')
U ( x , x ′ ) 最大(可以放松要求,只要每次
U
(
x
,
x
′
)
U(x,x')
U ( x , x ′ ) 增大就可以了,这就是Generalized EM )
E-step : compute
U
(
x
,
x
^
n
−
1
)
=
E
[
ln
p
z
(
z
;
x
)
∣
y
=
y
;
x
^
n
−
1
]
U(x,\hat{x}^{n-1})=\mathbb{E}[\ln p_\mathsf{z}(z;x)|\mathsf{y}=y;\hat{x}^{n-1}]
U ( x , x ^ n − 1 ) = E [ ln p z ( z ; x ) ∣ y = y ; x ^ n − 1 ]
M-step : maximize
x
^
n
=
arg
max
x
U
(
x
,
x
^
∣
n
−
1
)
\hat{x}^n = \arg\max_x U(x,\hat{x}|^{n-1})
x ^ n = arg max x U ( x , x ^ ∣ n − 1 )
EM-MAP 推导 :待完成!
2. EM for linear exponential family
指数分布
p
(
z
;
x
)
=
exp
(
x
T
t
(
z
)
−
α
(
x
)
+
β
(
z
)
)
U
(
x
,
x
n
)
=
E
[
ln
p
(
z
;
x
)
∣
y
;
x
n
]
p(z;x)=\exp\left(x^Tt(z)-\alpha(x)+\beta(z)\right) \\ U(x,x^n) = \mathbb{E}[\ln p(z;x)|y;x^n] \\
p ( z ; x ) = exp ( x T t ( z ) − α ( x ) + β ( z ) ) U ( x , x n ) = E [ ln p ( z ; x ) ∣ y ; x n ] EM 算法迭代过程中每次要找
U
(
x
,
x
′
)
U(x,x')
U ( x , x ′ ) 的最大值点,因此有
∂
∂
x
U
(
x
,
x
^
n
)
∣
x
=
x
^
n
+
1
=
E
[
t
(
z
)
∣
y
;
x
^
n
]
−
E
[
α
˙
(
x
)
∣
y
;
x
^
n
]
=
E
[
t
(
z
)
∣
y
;
x
^
n
]
−
α
˙
(
x
)
∣
x
=
x
^
n
+
1
=
0
\frac{\partial}{\partial x}U(x,\hat{x}^n) \Big|_{x=\hat{x}^{n+1}} = \mathbb{E}[t(z)|y;\hat{x}^n] - \mathbb{E}[\dot{\alpha}(x)|y;\hat{x}^n] =\mathbb{E}[t(z)|y;\hat{x}^n] - \dot{\alpha}(x)|_{x=\hat{x}^{n+1}}=0
∂ x ∂ U ( x , x ^ n ) ∣ ∣ ∣ x = x ^ n + 1 = E [ t ( z ) ∣ y ; x ^ n ] − E [ α ˙ ( x ) ∣ y ; x ^ n ] = E [ t ( z ) ∣ y ; x ^ n ] − α ˙ ( x ) ∣ x = x ^ n + 1 = 0 同时由于 linear exponential family 本身的性质,有
E
[
t
(
z
)
;
x
^
n
+
1
]
=
α
˙
(
x
)
∣
x
=
x
^
n
+
1
\mathbb{E}[t(z);\hat{x}^{n+1}] = \dot{\alpha}(x)|_{x=\hat{x}^{n+1}}
E [ t ( z ) ; x ^ n + 1 ] = α ˙ ( x ) ∣ x = x ^ n + 1 因此实际上每一步迭代过程中都满足
E
[
t
(
z
)
;
x
^
n
+
1
]
=
E
[
t
(
z
)
∣
y
;
x
^
n
]
\mathbb{E}[t(z);\hat{x}^{n+1}] = \mathbb{E}[t(z)|y;\hat{x}^n]
E [ t ( z ) ; x ^ n + 1 ] = E [ t ( z ) ∣ y ; x ^ n ] 最终收敛于不动点
E
[
t
(
z
)
;
x
^
∗
]
=
E
[
t
(
z
)
∣
y
;
x
^
∗
]
\mathbb{E}[t(z);\hat{x}^{*}] = \mathbb{E}[t(z)|y;\hat{x}^*]
E [ t ( z ) ; x ^ ∗ ] = E [ t ( z ) ∣ y ; x ^ ∗ ] 此时有
∂
ln
p
(
y
;
x
)
∂
x
=
.
.
.
=
E
[
t
(
z
)
∣
y
;
x
^
∗
]
−
E
[
t
(
z
)
;
x
^
∗
]
=
0
\frac{\partial \ln p(y;x)}{\partial x} = ... = \mathbb{E}[t(z)|y;\hat{x}^*]-\mathbb{E}[t(z);\hat{x}^*] = 0
∂ x ∂ ln p ( y ; x ) = . . . = E [ t ( z ) ∣ y ; x ^ ∗ ] − E [ t ( z ) ; x ^ ∗ ] = 0
3. Empirical ditribution
observation:
y
=
[
y
1
,
.
.
.
,
y
N
]
T
\boldsymbol{y}=[y_1,...,y_N]^T
y = [ y 1 , . . . , y N ] T
empirical ditribution:
p
^
y
(
b
;
y
)
=
1
N
∑
n
I
b
(
y
n
)
\hat{p}_\mathsf{y}(b;\boldsymbol{y}) = \frac{1}{N}\sum_n \mathbb{I}_b(y_n)
p ^ y ( b ; y ) = N 1 ∑ n I b ( y n )
Porperties 1 :
1
N
∑
n
f
(
y
n
)
=
∑
y
f
(
y
)
p
^
y
(
y
;
y
)
\frac{1}{N}\sum_n f(y_n)=\sum_y f(y)\hat{p}_\mathsf{y}(y;\boldsymbol{y})
N 1 ∑ n f ( y n ) = ∑ y f ( y ) p ^ y ( y ; y )
Properties 2 : Let the set of models be
P
=
{
p
y
(
⋅
;
x
)
,
x
∈
X
}
\mathcal{P}=\{p_y(\cdot;x),x\in \mathcal{X}\}
P = { p y ( ⋅ ; x ) , x ∈ X } , then the ML can be written as
x
^
M
L
(
y
)
=
arg
min
p
∈
P
D
(
p
^
y
(
⋅
;
y
)
∣
∣
p
)
=
arg
min
x
∈
X
D
(
p
^
y
(
⋅
;
y
)
∣
∣
p
(
⋅
;
x
)
)
\hat{x}_{ML}(y)=\arg\min_{p\in\mathcal{P}}D(\hat{p}_y(\cdot;y) || p) = \arg\min_{x\in\mathcal{X}}D(\hat{p}_y(\cdot;y) || p(\cdot;x))
x ^ M L ( y ) = arg p ∈ P min D ( p ^ y ( ⋅ ; y ) ∣ ∣ p ) = arg x ∈ X min D ( p ^ y ( ⋅ ; y ) ∣ ∣ p ( ⋅ ; x ) ) which is the reverse I-projection
Remark :
这个性质表明最大似然 实际上是在找与经验分布 最接近(相似)的分布对应的参数
给定经验分布(观察)后,实际上就相当于给定了一个线性族(想一下对应的
t
k
(
y
)
t_k(y)
t k ( y ) 的如何表示,提示:用元素为1或0的矩阵) ,这个在此处适用,在后面对
p
z
p_z
p z 的约束也适用
求 ML 就是在求逆投影(reverse I-proj) ,这对后面理解 EM 算法的 alernating projcetions 有用
4. EM-ML Alternating projections
根据 #3 中的性质2可以获得 ML 的表达式,但是该式子过于复杂,考虑
DPI (Data processing inequality):
y
=
g
(
z
)
y=g(z)
y = g ( z )
D
(
p
(
z
)
∣
∣
q
(
z
)
)
≥
D
(
p
(
y
)
∣
∣
q
(
y
)
)
"
=
"
⟺
p
z
(
z
)
q
z
(
z
)
=
p
y
(
g
(
z
)
)
q
y
(
g
(
z
)
)
∀
z
D(p(z)||q(z)) \ge D(p(y)||q(y)) \\ "=" \iff \frac{p_z(z)}{q_z(z)} = \frac{p_y(g(z))}{q_y(g(z))}\ \ \ \ \forall z
D ( p ( z ) ∣ ∣ q ( z ) ) ≥ D ( p ( y ) ∣ ∣ q ( y ) ) " = " ⟺ q z ( z ) p z ( z ) = q y ( g ( z ) ) p y ( g ( z ) ) ∀ z 因此根据(12)式要想最小化
D
(
p
^
y
(
⋅
;
y
)
∣
∣
p
(
y
;
x
)
)
D(\hat{p}_y(\cdot;\boldsymbol{y}) || p(y;x))
D ( p ^ y ( ⋅ ; y ) ∣ ∣ p ( y ; x ) ) 可以考虑最小化
D
(
p
^
z
(
⋅
;
z
)
∣
∣
p
(
z
;
x
)
)
D(\hat{p}_z(\cdot;\boldsymbol{z}) || p(z;x))
D ( p ^ z ( ⋅ ; z ) ∣ ∣ p ( z ; x ) )
因为
p
(
y
;
x
)
p(y;x)
p ( y ; x ) 的表达式很可能很复杂,但是
p
(
z
;
x
)
p(z;x)
p ( z ; x ) 可以简化很多
即最大似然转化为最小化
min
D
(
p
^
z
(
⋅
;
z
)
∣
∣
p
(
⋅
;
x
)
)
\min D(\hat{p}_z(\cdot;z) || p(\cdot;x))
min D ( p ^ z ( ⋅ ; z ) ∣ ∣ p ( ⋅ ; x ) )
P
Z
(
y
)
≜
{
p
^
Z
(
⋅
)
:
∑
g
(
c
)
=
y
p
^
z
(
c
)
=
p
^
y
(
b
;
y
)
∀
b
∈
y
}
\mathcal{P^Z}(y) \triangleq \left\{ \hat{p}_Z(\cdot): \sum_{g(c)=y} \hat{p}_z(c) = \hat{p}_y(b;\boldsymbol{y})\ \ \ \forall b\in \mathcal{y} \right\} \\
P Z ( y ) ≜ ⎩ ⎨ ⎧ p ^ Z ( ⋅ ) : g ( c ) = y ∑ p ^ z ( c ) = p ^ y ( b ; y ) ∀ b ∈ y ⎭ ⎬ ⎫
Remarks :这里最小化过程中对两个分布都要考虑:
由于
p
^
z
\hat{p}_z
p ^ z 实际上在一定约束下(线性分布族 ,参考 #3 中的 reverse I-proj)可以任取,因此要优化
p
^
z
\hat{p}_z
p ^ z 使散度最小;
由于
p
(
⋅
;
x
)
p(\cdot;x)
p ( ⋅ ; x ) 实际上就是我们要求的东西(我们要找到一个 x 使观测值 y 的似然最大),因此也要优化
p
(
⋅
;
x
)
p(\cdot;x)
p ( ⋅ ; x ) 使散度最小;
要想最小化 (14) 式,可以分解为 2 步:
第一步(I-projection )
p
^
z
∗
(
⋅
;
x
^
(
n
−
1
)
)
=
arg
min
p
^
z
∈
P
Z
^
(
y
)
D
(
p
^
z
(
⋅
)
∥
p
z
(
⋅
;
x
^
(
n
−
1
)
)
)
\hat{p}_{z}^{*}(\cdot ; \hat{x}^{(n-1)})=\underset{\hat{p}_{z} \in \hat{\mathcal{P^Z}}(\mathbf{y})}{\arg \min } D\left(\hat{p}_{z}(\cdot) \| p_{z}(\cdot ; \hat{x}^{(n-1)})\right)
p ^ z ∗ ( ⋅ ; x ^ ( n − 1 ) ) = p ^ z ∈ P Z ^ ( y ) arg min D ( p ^ z ( ⋅ ) ∥ p z ( ⋅ ; x ^ ( n − 1 ) ) )
第二步(reverse I-projection )
x
^
M
L
(
n
)
=
arg
min
x
D
(
p
^
z
∗
(
⋅
;
x
^
(
n
−
1
)
)
∥
p
z
(
⋅
;
x
)
)
\hat{x}_{ML}^{(n)} = \underset{x}{\arg \min } D\left(\hat{p}_{z}^{*}\left(\cdot ; \hat{x}^{(n-1)}\right) \| p_{z}(\cdot ; x)\right)
x ^ M L ( n ) = x arg min D ( p ^ z ∗ ( ⋅ ; x ^ ( n − 1 ) ) ∥ p z ( ⋅ ; x ) )
这实际上就是 EM-ML 算法,证明如下:
上面两步分别对应 EM 中的 E-step 和 M-step
E-step:
1
N
U
(
x
,
x
^
(
n
−
1
)
)
=
1
N
E
[
ln
p
(
z
;
x
)
∣
y
;
x
^
(
n
−
1
)
]
=
1
N
∑
n
E
[
ln
p
(
z
n
;
x
)
∣
y
;
x
^
(
n
−
1
)
]
=
1
N
∑
n
∑
z
ln
p
(
z
;
x
)
p
(
z
∣
y
n
;
x
^
(
n
−
1
)
)
=
∑
y
p
^
y
(
y
;
y
)
∑
z
p
(
z
∣
y
;
x
^
(
n
−
1
)
)
ln
p
(
z
;
x
)
=
∑
y
p
^
y
(
y
;
y
)
∑
z
p
^
∗
(
z
;
x
^
(
n
−
1
)
)
p
^
y
(
g
(
z
)
;
y
)
ln
p
z
(
z
;
x
)
=
∑
z
p
^
∗
(
z
;
x
^
(
n
−
1
)
)
ln
p
z
(
z
;
x
)
=
−
D
(
p
^
∗
(
z
;
x
^
(
n
−
1
)
)
∣
∣
p
(
z
;
x
)
)
−
H
(
p
^
Z
∗
(
z
;
x
^
(
n
−
1
)
)
)
\begin{aligned} \frac{1}{N}U(x,\hat{x}^{(n-1)}) &= \frac{1}{N}\mathbb{E}\left[\ln p(\boldsymbol{z};x)|\boldsymbol{y};\hat{x}^{(n-1)}\right] \\ &= \frac{1}{N}\sum_n \mathbb{E}\left[\ln p(z_n;x)|\boldsymbol{y};\hat{x}^{(n-1)}\right] \\ &= \frac{1}{N}\sum_n \sum_z \ln p(z;x) p\left(z|y_n;\hat{x}^{(n-1)}\right) \\ &= \sum_y \hat{p}_y(y;\boldsymbol{y}) \sum_z p\left(z|y;\hat{x}^{(n-1)}\right)\ln p(z;x) \\ &= \sum_y \hat{p}_y(y;\boldsymbol{y}) \sum_z \frac{\hat{p}^*(z;\hat{x}^{(n-1)})}{\hat{p}_y(g(z);\boldsymbol{y})} \ln p_z(z;x) \\ &= \sum_z \hat{p}^*(z;\hat{x}^{(n-1)}) \ln p_z(z;x) \\ &= -D\left(\hat{p}^*(z;\hat{x}^{(n-1)})||p(z;x)\right) - H\left(\hat{p}_Z^*(z;\hat{x}^{(n-1)})\right) \end{aligned}
N 1 U ( x , x ^ ( n − 1 ) ) = N 1 E [ ln p ( z ; x ) ∣ y ; x ^ ( n − 1 ) ] = N 1 n ∑ E [ ln p ( z n ; x ) ∣ y ; x ^ ( n − 1 ) ] = N 1 n ∑ z ∑ ln p ( z ; x ) p ( z ∣ y n ; x ^ ( n − 1 ) ) = y ∑ p ^ y ( y ; y ) z ∑ p ( z ∣ y ; x ^ ( n − 1 ) ) ln p ( z ; x ) = y ∑ p ^ y ( y ; y ) z ∑ p ^ y ( g ( z ) ; y ) p ^ ∗ ( z ; x ^ ( n − 1 ) ) ln p z ( z ; x ) = z ∑ p ^ ∗ ( z ; x ^ ( n − 1 ) ) ln p z ( z ; x ) = − D ( p ^ ∗ ( z ; x ^ ( n − 1 ) ) ∣ ∣ p ( z ; x ) ) − H ( p ^ Z ∗ ( z ; x ^ ( n − 1 ) ) ) M-step:
Remarks :
EM-ML 即在第二步中采用 ML 来估计 x,由于 ML 本身即与 reverse I-projection 等价,因此整体就是不断地在相互投影;
如果是 EM-MAP 就只需要将 M-step 中的 ML 估计换成 MAP 估计,但是由于 MAP 估计当中先验对于整个分布族会产生一个加权,计算复杂且没有闭式解
5. Remarks
EM 算法实质上可以看作一个升维 的处理过。这是指将低维空间中的
Y
\mathcal{Y}
Y 映射到高维空间
Z
\mathcal{Z}
Z 中
根据
y
y
y 的 empirical distribution,在
P
Z
\mathcal{P^Z}
P Z 中同样得到一个约束
z
z
z 的线性族
由预先定义的模型
p
(
z
∣
θ
)
p(z|\theta)
p ( z ∣ θ ) 再指定另一个
P
Z
\mathcal{P^Z}
P Z 中的集合,比如线性指数族
最终的目标是在
P
Z
\mathcal{P^Z}
P Z 空间中获得一个最大似然估计,即
θ
^
M
L
=
arg
min
D
(
p
^
z
∣
∣
p
(
z
,
θ
)
)
\hat{\theta}_{ML} = \arg\min D(\hat{p}_z || p(z,\theta))
θ ^ M L = arg min D ( p ^ z ∣ ∣ p ( z , θ ) ) 。 因此整个 EM 算法就是重复下面的过程
其他内容请看: 统计推断(一) Hypothesis Test 统计推断(二) Estimation Problem 统计推断(三) Exponential Family 统计推断(四) Information Geometry 统计推断(五) EM algorithm 统计推断(六) Modeling 统计推断(七) Typical Sequence 统计推断(八) Model Selection 统计推断(九) Graphical models 统计推断(十) Elimination algorithm 统计推断(十一) Sum-product algorithm