EM算法推导

推导EM算法,并证明收敛性。

Jensen’s inequality

定理:若 f f f是凸函数, X X X是随机变量,我们有: E [ f ( X ) ] ≥ f ( E X ) \mathrm{E}[f(X)] \geq f(\mathrm{E} X) E[f(X)]f(EX)

  • f f f是严格凸函数,也就是 f ′ ′ > 0 f^{''} > 0 f>0恒成立,同时 X = E [ X ] X=E[X] X=E[X](也就是概率为1),则等号成立。
  • f f f是凹函数,则该定理也成立,只不过将大于等于换成小于等于。

忽略证明,该定理并不直观,可以用一个简单的例子帮助记忆:

image-20190418202130305

收敛性证明

我们想用模型拟合数据,也就是求似然函数:
ℓ ( θ ) = ∑ i = 1 m log ⁡ p ( x ; θ ) = ∑ i = 1 m log ⁡ ∑ z p ( x , z ; θ ) \begin{aligned} \ell(\theta) &=\sum_{i=1}^{m} \log p(x ; \theta) \\ &=\sum_{i=1}^{m} \log \sum_{z} p(x, z ; \theta) \end{aligned} (θ)=i=1mlogp(x;θ)=i=1mlogzp(x,z;θ)
其中, z z z是隐变量。如果 z z z已知,那么直接用MLE求解即可,如果未知,则需要用EM算法迭代求解。

EM算法分为两步:

  1. E step:每次得到似然函数 ℓ ​ \ell​ 的一个下界。
  2. M step:对该下界进行优化。

我们首先可以假设 Q Q Q z z z的分布,也就是满足: ∑ z Q i ( z ) = 1 , Q i ( z ) ≥ 1 \sum_{z} Q_{i}(z)=1, Q_{i}(z) \geq 1 zQi(z)=1,Qi(z)1

因此可以得到:
∑ i log ⁡ p ( x ( i ) ; θ ) = ∑ i log ⁡ ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) = ∑ i log ⁡ ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ≥ ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \begin{aligned} \sum_{i} \log p\left(x^{(i)} ; \theta\right) &=\sum_{i} \log \sum_{z^{(i)}} p\left(x^{(i)}, z^{(i)} ; \theta\right) \\ &=\sum_{i} \log \sum_{z^{(i)}} Q_{i}\left(z^{(i)}\right) \frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{Q_{i}\left(z^{(i)}\right)} \\ & \geq \sum_{i} \sum_{z^{(i)}} Q_{i}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{Q_{i}\left(z^{(i)}\right)} \end{aligned} ilogp(x(i);θ)=ilogz(i)p(x(i),z(i);θ)=ilogz(i)Qi(z(i))Qi(z(i))p(x(i),z(i);θ)iz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
这里用到了期望就是概率的思想。我们将 Q Q Q函数看成是在随机变量 p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{Q_{i}\left(z^{(i)}\right)} Qi(z(i))p(x(i),z(i);θ)上的概率分布,将函数 f f f看成是log function。因此,第二个等式可以看作是 f ( E X ) f(EX) f(EX)。而由于 f f f函数是凹函数,因此根据Jensen’s inequality,可以得到不等式三。

这样,对于任意的分布 Q Q Q,我们给出了似然函数的下界。因此,我们如何选择一个合适的 Q Q Q呢?

我们如果对当前的 θ \theta θ有一个估计值,那么很自然的思想就是用这个估计值来得到不等式的下界。根据之前Jensen’s inequality不等式的分析,如果我们的随机变量是一个常量,那么等式一定成立,即:
p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c \frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{Q_{i}\left(z^{(i)}\right)}=c Qi(z(i))p(x(i),z(i);θ)=c
因此,我们只需要 Q i ( z ( i ) ) ∝ p ( x ( i ) , z ( i ) ; θ ) Q_{i}\left(z^{(i)}\right) \propto p\left(x^{(i)}, z^{(i)} ; \theta\right) Qi(z(i))p(x(i),z(i);θ)即可。同时,由于 ∑ z Q i ( z ( i ) ) = 1 \sum_{z} Q_{i}\left(z^{(i)}\right)=1 zQi(z(i))=1的条件需要满足,因此构造一个 Q Q Q函数为:
Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) ∑ z p ( x ( i ) , z ; θ ) = p ( x ( i ) , z ( i ) ; θ ) p ( x ( i ) ; θ ) = p ( z ( i ) ∣ x ( i ) ; θ ) \begin{aligned} Q_{i}\left(z^{(i)}\right) &=\frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{\sum_{z} p\left(x^{(i)}, z ; \theta\right)} \\ &=\frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{p\left(x^{(i)} ; \theta\right)} \\ &=p\left(z^{(i)} | x^{(i)} ; \theta\right) \end{aligned} Qi(z(i))=zp(x(i),z;θ)p(x(i),z(i);θ)=p(x(i);θ)p(x(i),z(i);θ)=p(z(i)x(i);θ)
实际上,这个 Q Q Q函数就是我们熟悉的在给定 θ \theta θ下的后验分布。

如何证明收敛性呢?也就是需要证明 ℓ ( θ ( t ) ) ≤ ℓ ( θ ( t + 1 ) ) \ell\left(\theta^{(t)}\right) \leq \ell\left(\theta^{(t+1)}\right) (θ(t))(θ(t+1))始终成立。

由于我们选择的 Q Q Q函数能使得等式成立,因此在第 t ​ t​ t次迭代时,有:
ℓ ( θ ( t ) ) = ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ( t ) ) Q i ( t ) ( z ( i ) ) \ell\left(\theta^{(t)}\right)=\sum_{i} \sum_{z^{(i)}} Q_{i}^{(t)}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \theta^{(t)}\right)}{Q_{i}^{(t)}\left(z^{(i)}\right)} (θ(t))=iz(i)Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t))
在第 t + 1 t+1 t+1次时,我们的 θ ( t + 1 ) \theta^{(t+1)} θ(t+1)是最大化右边的式子的来的,因此:
ℓ ( θ ( t + 1 ) ) ≥ ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ( t + 1 ) ) Q i ( t ) ( z ( i ) ) ≥ ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ( t ) ) Q i ( t ) ( z ( i ) ) = ℓ ( θ ( t ) ) \begin{aligned} \ell\left(\theta^{(t+1)}\right) & \geq \sum_{i} \sum_{z^{(i)}} Q_{i}^{(t)}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \theta^{(t+1)}\right)}{Q_{i}^{(t)}\left(z^{(i)}\right)} \\ & \geq \sum_{i} \sum_{z^{(i)}} Q_{i}^{(t)}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \theta^{(t)}\right)}{Q_{i}^{(t)}\left(z^{(i)}\right)} \\ &=\ell\left(\theta^{(t)}\right) \end{aligned} (θ(t+1))iz(i)Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t+1))iz(i)Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t))=(θ(t))
其中,第一个不等式是根据Jensen’s inequality,第二个不等式是根据最大化 θ \theta θ的性质来的。

如果我们定义:
J ( Q , θ ) = ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) J(Q, \theta)=\sum_{i} \sum_{z^{(i)}} Q_{i}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \theta\right)}{Q_{i}\left(z^{(i)}\right)} J(Q,θ)=iz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
那么,EM算法也可以看作是在 J J J上进行coordinate ascent

  1. E step 时,固定 θ \theta θ,根据 Q Q Q最大化 J J J
    • 实际上是通过Jensen’s inequality的性质,定义 Q Q Q函数为后验概率满足等式)
  2. M step 时,固定 Q Q Q,根据 θ \theta θ最大化 J J J
    • 实际上是通过MLE进行最大化

GMM revisited

GMM的思想不再阐述,这里主要进行推导closed form。

E step

E step相对容易一些,我们对于当前步估计的所有参数值,计算 z z z的后验分布:
w j ( i ) = Q i ( z ( i ) = j ) = P ( z ( i ) = j ∣ x ( i ) ; ϕ , μ , Σ ) w_{j}^{(i)}=Q_{i}\left(z^{(i)}=j\right)=P\left(z^{(i)}=j | x^{(i)} ; \phi, \mu, \Sigma\right) wj(i)=Qi(z(i)=j)=P(z(i)=jx(i);ϕ,μ,Σ)

M step

根据上一步得到的 z z z的分布,我们最大化 ℓ \ell 的下界:
∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; ϕ , μ , Σ ) Q i ( z ( i ) ) = ∑ i = 1 m ∑ j = 1 k Q i ( z ( i ) = j ) log ⁡ p ( x ( i ) ∣ z ( i ) = j ; μ , Σ ) p ( z ( i ) = j ; ϕ ) Q i ( z ( i ) = j ) = ∑ i = 1 m ∑ j = 1 k w j ( i ) log ⁡ 1 ( 2 π ) n / 2 ∣ Σ j ∣ 1 / 2 exp ⁡ ( − 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) ) ⋅ ϕ j w j ( i ) \begin{aligned} \sum_{i=1}^{m} & \sum_{z^{(i)}} Q_{i}\left(z^{(i)}\right) \log \frac{p\left(x^{(i)}, z^{(i)} ; \phi, \mu, \Sigma\right)}{Q_{i}\left(z^{(i)}\right)} \\ &=\sum_{i=1}^{m} \sum_{j=1}^{k} Q_{i}\left(z^{(i)}=j\right) \log \frac{p\left(x^{(i)} | z^{(i)}=j ; \mu, \Sigma\right) p\left(z^{(i)}=j ; \phi\right)}{Q_{i}\left(z^{(i)}=j\right)} \\ &=\sum_{i=1}^{m} \sum_{j=1}^{k} w_{j}^{(i)} \log \frac{\frac{1}{(2 \pi)^{n / 2}\left|\Sigma_{j}\right|^{1 / 2}} \exp \left(-\frac{1}{2}\left(x^{(i)}-\mu_{j}\right)^{T} \Sigma_{j}^{-1}\left(x^{(i)}-\mu_{j}\right)\right) \cdot \phi_{j}}{w_{j}^{(i)}}\end{aligned} i=1mz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);ϕ,μ,Σ)=i=1mj=1kQi(z(i)=j)logQi(z(i)=j)p(x(i)z(i)=j;μ,Σ)p(z(i)=j;ϕ)=i=1mj=1kwj(i)logwj(i)(2π)n/2Σj1/21exp(21(x(i)μj)TΣj1(x(i)μj))ϕj
我们只需要分别对三个参数进行求导,即可得到:
μ l : = ∑ i = 1 m w l ( i ) x ( i ) ∑ i = 1 m w l ( i ) ϕ j : = 1 m ∑ i = 1 m w j ( i ) Σ j : = ∑ i = 1 m w j ( i ) ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ i = 1 m w j ( i ) \mu_{l} :=\frac{\sum_{i=1}^{m} w_{l}^{(i)} x^{(i)}}{\sum_{i=1}^{m} w_{l}^{(i)}}\\ \phi_{j} :=\frac{1}{m} \sum_{i=1}^{m} w_{j}^{(i)}\\ \Sigma_{j} :=\frac{\sum_{i=1}^{m} w_{j}^{(i)}\left(x^{(i)}-\mu_{j}\right)\left(x^{(i)}-\mu_{j}\right)^{T}}{\sum_{i=1}^{m} w_{j}^{(i)}} μl:=i=1mwl(i)i=1mwl(i)x(i)ϕj:=m1i=1mwj(i)Σj:=i=1mwj(i)i=1mwj(i)(x(i)μj)(x(i)μj)T
这也就是我们上一个博客给出的EM算法的迭代过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值