统计推断(五) EM algorithm

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^ML(y)=argxmaxlnp(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)=yp(zy;x)p(y;x)=p(zg(z);x)p(g(z);x)x^ML(y)=argxmaxlnp(z;x)lnp(zy;x)
由于 x ^ M L ( y ) \hat{x}_{ML}(y) x^ML(y) 与 z 无关,因此右边可以对 p ( z ∣ y ; x ′ ) p(z|y;x') p(zy;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} lnp(y;x)=lnp(z;x)lnp(zy;x)=E[lnp(z;x)y=y;x]E[lnp(zy;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) lnp(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^n1)=E[lnpz(z;x)y=y;x^n1]

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=argmaxxU(x,x^n1)

EM-MAP 推导:待完成!

2. EM for linear exponential family

  • derivation

指数分布
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(xTt(z)α(x)+β(z))U(x,xn)=E[lnp(z;x)y;xn]
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 xU(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 xlnp(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=[y1,...,yN]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)=N1nIb(yn)

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}) N1nf(yn)=yf(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={py(;x),xX}, 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^ML(y)=argpPminD(p^y(;y)p)=argxXminD(p^y(;y)p(;x))
which is the reverse I-projection

Remark

  1. 这个性质表明最大似然实际上是在找与经验分布最接近(相似)的分布对应的参数
  2. 给定经验分布(观察)后,实际上就相当于给定了一个线性族(想一下对应的 t k ( y ) t_k(y) tk(y) 的如何表示,提示:用元素为1或0的矩阵),这个在此处适用,在后面对 p z p_z pz 的约束也适用
  3. 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))"="qz(z)pz(z)=qy(g(z))py(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)) minD(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\} \\ PZ(y)p^Z():g(c)=yp^z(c)=p^y(b;y)   by

Remarks:这里最小化过程中对两个分布都要考虑:

  1. 由于 p ^ z \hat{p}_z p^z 实际上在一定约束下(线性分布族,参考 #3 中的 reverse I-proj)可以任取,因此要优化 p ^ z \hat{p}_z p^z 使散度最小;
  2. 由于 p ( ⋅ ; x ) p(\cdot;x) p(;x) 实际上就是我们要求的东西(我们要找到一个 x 使观测值 y 的似然最大),因此也要优化 p ( ⋅ ; x ) p(\cdot;x) p(;x) 使散度最小;

EM-ML

要想最小化 (14) 式,可以分解为 2 步:

  1. 第一步(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^(n1))=p^zPZ^(y)argminD(p^z()pz(;x^(n1)))

  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^ML(n)=xargminD(p^z(;x^(n1))pz(;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} N1U(x,x^(n1))=N1E[lnp(z;x)y;x^(n1)]=N1nE[lnp(zn;x)y;x^(n1)]=N1nzlnp(z;x)p(zyn;x^(n1))=yp^y(y;y)zp(zy;x^(n1))lnp(z;x)=yp^y(y;y)zp^y(g(z);y)p^(z;x^(n1))lnpz(z;x)=zp^(z;x^(n1))lnpz(z;x)=D(p^(z;x^(n1))p(z;x))H(p^Z(z;x^(n1)))
M-step:

Remarks:

  1. EM-ML 即在第二步中采用 ML 来估计 x,由于 ML 本身即与 reverse I-projection 等价,因此整体就是不断地在相互投影;
  2. 如果是 EM-MAP 就只需要将 M-step 中的 ML 估计换成 MAP 估计,但是由于 MAP 估计当中先验对于整个分布族会产生一个加权,计算复杂且没有闭式解

EM-MAP

5. Remarks

EM 算法实质上可以看作一个升维的处理过。这是指将低维空间中的 Y \mathcal{Y} Y 映射到高维空间 Z \mathcal{Z} Z

  1. 根据 y y y 的 empirical distribution,在 P Z \mathcal{P^Z} PZ 中同样得到一个约束 z z z 的线性族
  2. 由预先定义的模型 p ( z ∣ θ ) p(z|\theta) p(zθ) 再指定另一个 P Z \mathcal{P^Z} PZ 中的集合,比如线性指数族

最终的目标是在 P Z \mathcal{P^Z} PZ 空间中获得一个最大似然估计,即 θ ^ M L = arg ⁡ min ⁡ D ( p ^ z ∣ ∣ p ( z , θ ) ) \hat{\theta}_{ML} = \arg\min D(\hat{p}_z || p(z,\theta)) θ^ML=argminD(p^zp(z,θ))
因此整个 EM 算法就是重复下面的过程


其他内容请看:
统计推断(一) Hypothesis Test
统计推断(二) Estimation Problem
统计推断(三) Exponential Family
统计推断(四) Information Geometry
统计推断(五) EM algorithm
统计推断(六) Modeling
统计推断(七) Typical Sequence
统计推断(八) Model Selection
统计推断(九) Graphical models
统计推断(十) Elimination algorithm
统计推断(十一) Sum-product algorithm

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值