机器学习(十)——期望值最大算法(EM算法)

10.期望值最大算法(EM算法)

1.Jensen不等式

f f f 为一个函数,其定义域(domain)为整个实数域(set of real numbers)。这里要回忆一下,如果函数 f f f 的二阶导数 f ′ ′ ( x ) ≥ 0 f''(x) \ge 0 f(x)0 (其中的 x ∈ R x \in R xR),则函数 f f f 为一个凸函数(convex function)。如果输入的为向量变量,那么这个函数就泛化了,这时候该函数的海森矩阵(hessian) H H H 就是一个半正定矩阵(positive semi-definite H ≥ 0 H \ge 0 H0)。如果对于所有的 x x x ,都有二阶导数 f ′ ′ ( x ) > 0 f''(x) > 0 f(x)>0,那么我们称这个函数 f f f 是严格凸函数(对应向量值作为变量的情况,对应的条件就是海森矩阵必须为正定,写作 H > 0 H > 0 H>0)。这样就可以用如下方式来表述 Jensen 不等式:

定理(Theorem): f f f 是一个凸函数,且设 X X X 是一个随机变量(random variable)。然后则有:
E [ f ( X ) ] ≥ f ( E X ) . E[f(X)] \ge f(EX). E[f(X)]f(EX).
Jensen 不等式也适用于凹函数(concave) f f f,但不等式的方向要反过来,也就是对于凹函数, E [ f ( X ) ] ≤ f ( E X ) E[f(X)] \le f(EX) E[f(X)]f(EX)

2.期望最大算法(EM算法)

假如我们有一个估计问题(estimation problem),其中由训练样本集 { x ( 1 ) , . . . , x ( m ) } \{x^{(1)}, ..., x^{(m)}\} {x(1),...,x(m)} 包含了 m m m 个独立样本。我们用模型 p ( x , z ) p(x, z) p(x,z) 对数据进行建模,拟合其参数(parameters),其中的似然函数(likelihood)如下所示:
l ( θ ) = ∑ i = 1 m log ⁡ p ( x ; θ ) = ∑ i = 1 m log ⁡ ∑ z p ( x , z ; θ ) \begin{aligned} l(\theta) &= \sum_{i=1}^m\log p(x;\theta) \\ &= \sum_{i=1}^m\log\sum_z p(x,z;\theta) \end{aligned} l(θ)=i=1mlogp(x;θ)=i=1mlogzp(x,z;θ)
对于每个 i i i,设 Q i Q_i Qi 是某个对 z z z 的分布( ∑ z Q i ( z ) = 1 , Q i ( z ) ≥ 0 \sum_z Q_i(z) = 1, Q_i(z)\ge 0 zQi(z)=1,Qi(z)0)。则有下列各式 1 ^1 1
∑ i log ⁡ p ( x ( i ) ; θ ) = ∑ i log ⁡ ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) ( 1 ) = ∑ i log ⁡ ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ( 2 ) ≥ ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ( 3 ) \begin{aligned} \sum_i\log p(x^{(i)};\theta) &= \sum_i\log\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)&(1) \\ &= \sum_i\log\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} &(2)\\ &\ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}&(3) \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);θ)(1)(2)(3)

1 如果 z z z 是连续的,那么 Q i Q_i Qi 就是一个密度函数(density),上面讨论中提到的对 z z z 的求和(summations)就要用对 z z z 的积分(integral)来替代。

上面推导(derivation)的最后一步使用了 Jensen 不等式(Jensen’s inequality)。其中的 f ( x ) = l o g x f(x) = log x f(x)=logx 是一个凹函数(concave function),因为其二阶导数 f ′ ′ ( x ) = − 1 / x 2 &lt; 0 f&#x27;&#x27;(x) = -1/x^2 &lt; 0 f(x)=1/x2<0 在整个定义域(domain) x ∈ R + x\in R^+ xR+ 上都成立。

由(2)式到(3)式证明:


g ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) g(z^{(i)})=\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} g(z(i))=Qi(z(i))p(x(i),z(i);θ)
因为:
z ( i ) ∼ Q i ( z ( i ) ) z^{(i)}\sim Q_i(z^{(i)}) z(i)Qi(z(i))
所以:
g ( z ( i ) ) ∼ Q i ( z ( i ) ) g(z^{(i)})\sim Q_i(z^{(i)}) g(z(i))Qi(z(i))
于是:
E ( g ( z ) ) = ∑ z ( i ) g ( z ( i ) ) P ( g ( z ( i ) ) ) = ∑ z ( i ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) Q i ( z ( i ) ) \begin{aligned} E\left(g(z)\right)&amp;=\sum_{z^{(i)}}g(z^{(i)})P\left(g(z^{(i)})\right)\\ &amp;=\sum_{z^{(i)}}\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}Q_i(z^{(i)}) \end{aligned} E(g(z))=z(i)g(z(i))P(g(z(i)))=z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))
由Jenson不等式:
l o g ( E ( g ( z ) ) ) ≥ E [ l o g ( g ( z ) ) ] log(E\left(g(z)\right))\ge E[log(g(z))] log(E(g(z)))E[log(g(z))]
不妨再令
h ( z ) = l o g ( g ( z ) ) = log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) h(z)=log(g(z))=\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} h(z)=log(g(z))=logQi(z(i))p(x(i),z(i);θ)
所以同理可以得到
E [ l o g ( g ( z ) ) ] = E ( h ( z ) ) = ∑ z ( i ) h ( z ( i ) ) P ( h ( z ( i ) ) ) = ∑ z ( i ) h ( z ( i ) ) Q i ( z ( i ) ) E[log(g(z))]=E(h(z))=\sum_{z^{(i)}}h(z^{(i)})P\left(h(z^{(i)})\right)=\sum_{z^{(i)}}h(z^{(i)})Q_i(z^{(i)}) E[log(g(z))]=E(h(z))=z(i)h(z(i))P(h(z(i)))=z(i)h(z(i))Qi(z(i))
所以可以得到:
log ⁡ ∑ z ( i ) Q i ( z ( i ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ≥ ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \log\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \ge \sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} logz(i)Qi(z(i))Qi(z(i))p(x(i),z(i);θ)z(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
得证。

为了使Jenson不等式求得等号,即使得:
f ( E ( x ) ) = E ( f ( x ) ) f(E(x)) = E(f(x)) f(E(x))=E(f(x))
则必须变量 x x x为一个常量,则 f ( x ) f(x) f(x)也将变为一个常量,所以有:
E ( x ) = x E ( f ( x ) ) = f ( x ) E(x)=x\\ E(f(x))=f(x) E(x)=xE(f(x))=f(x)
所以可以推出:
f ( E ( x ) ) = f ( x ) = E ( f ( x ) ) f(E(x))=f(x)=E(f(x)) f(E(x))=f(x)=E(f(x))
也就是需要:
p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})}=c Qi(z(i))p(x(i),z(i);θ)=c
其中常数 c c c 不依赖 z ( i ) z^{(i)} z(i)。要实现这一条件,只需满足:
Q i ( z ( i ) ) ∝ p ( x ( i ) , z ( i ) ; θ ) Q_i(z^{(i)})\propto p(x^{(i)},z^{(i)};\theta) Qi(z(i))p(x(i),z(i);θ)
所以:
Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) c Q_i(z^{(i)})=\frac{p(x^{(i)},z^{(i)};\theta)}{c} Qi(z(i))=cp(x(i),z(i);θ)
又因为 z ( i ) z^{(i)} z(i)是一个分布,所以:
∑ z Q i ( z ( i ) ) = 1 = ∑ z p ( x ( i ) , z ( i ) ; θ ) c \begin{aligned} \sum_z Q_i(z^{(i)}) &amp;= 1\\ &amp;=\frac{\sum_z p(x^{(i)},z^{(i)};\theta)}{c} \end{aligned} zQi(z(i))=1=czp(x(i),z(i);θ)
因此我们可以得出:
c = ∑ z p ( x ( i ) , z ( i ) ; θ ) = p ( x ( i ) ; θ ) c=\sum_z p(x^{(i)},z^{(i)};\theta)=p(x^{(i)};\theta) c=zp(x(i),z(i);θ)=p(x(i);θ)
所以:
Q i ( z ( i ) ) = p ( x ( i ) , z ( i ) ; θ ) p ( x ( i ) ; θ ) = p ( z ( i ) ∣ x ( i ) ; θ ) \begin{aligned} Q_i(z^{(i)}) &amp;= \frac{p(x^{(i)},z^{(i)};\theta)}{p(x^{(i)};\theta)} \\ &amp;= p(z^{(i)}|x^{(i)};\theta) \end{aligned} Qi(z(i))=p(x(i);θ)p(x(i),z(i);θ)=p(z(i)x(i);θ)
因此,在给定 x ( i ) x^{(i)} x(i) 和参数 θ \theta θ 的设置下,我们可以简单地把 Q i Q_i Qi 设置为 z ( i ) z^{(i)} z(i) 的后验分布(posterior distribution)。

接下来,对 Q i Q_i Qi 的选择,等式 ( 3 ) (3) (3) 就给出了似然函数对数(log likelihood)的一个下限,而似然函数(likelihood)正是我们要试图求最大值(maximize)的。这就是 E E E 步骤。接下来在算法的 M M M 步骤中,就最大化等式 ( 3 ) (3) (3) 当中的方程,然后得到新的参数 θ \theta θ。重复这两个步骤,就是完整的 E M EM EM 算法,如下所示:

 重复下列过程直到收敛(convergence): {

  ( E E E 步骤)对每个 i i i,设
Q i ( z ( i ) ) : = p ( z ( i ) ∣ x ( i ) ; θ ) Q_i(z^{(i)}):=p(z^{(i)}|x^{(i)};\theta) Qi(z(i)):=p(z(i)x(i);θ)
  ( M M M 步骤) 设
θ : = a r g max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \theta := arg\max_\theta\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} θ:=argθmaxiz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
}

下面我们要来证明这个算法是递增的(收敛的):

θ ( t ) \theta^{(t)} θ(t) θ ( t + 1 ) \theta^{(t+1)} θ(t+1) 是上面 E M EM EM 迭代过程中的某两个参数(parameters)

证明: l ( θ ( t ) ) ≤ l ( θ ( t + 1 ) ) l(\theta^{(t)})\le l(\theta^{(t+1)}) l(θ(t))l(θ(t+1))

由条件可知:
l ( θ ( t ) ) = ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ( t ) ) Q i ( t ) ( z ( i ) ) l(\theta^{(t)})=\sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t)})}{Q_i^{(t)}(z^{(i)})} l(θ(t))=iz(i)Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t))
参数 θ ( t + 1 ) \theta^{(t+1)} θ(t+1) 可以通过对上面等式中等号右侧进行最大化而得到。所以有:
l ( θ ( t + 1 ) ) ≥ ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ( t + 1 ) ) Q i ( t ) ( z ( i ) ) \begin{aligned} l(\theta^{(t+1)}) &amp;\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t+1)})}{Q_i^{(t)}(z^{(i)})} \end{aligned} l(θ(t+1))iz(i)Qi(t)(z(i))logQi(t)(z(i))p(x(i),z(i);θ(t+1))
上面的第一个不等式推自:
l ( θ ) ≥ ∑ i ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) l(\theta)\ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} l(θ)iz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
上面这个不等式对于任意值的 Q i Q_i Qi θ \theta θ 都成立,尤其当 Q i = Q i ( t ) , θ = θ ( t + 1 ) Q_i = Q_i^{(t)}, \theta = \theta^{(t+1)} Qi=Qi(t),θ=θ(t+1)。由于:
θ ( t + 1 ) = a r g max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \theta^{(t+1)} =arg\max_\theta \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} θ(t+1)=argθmaxiz(i)Qi(z(i))logQi(z(i))p(x(i),z(i);θ)
所以
l ( θ ( t + 1 ) ) ≥ ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ( t + 1 ) ) Q i ( t ) ( z ( i ) ) ≥ ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ( t ) ) Q i ( t ) ( z ( i ) ) = l ( θ ( t ) ) \begin{aligned} l(\theta^{(t+1)}) &amp;\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t+1)})}{Q_i^{(t)}(z^{(i)})} \\ &amp;\ge \sum_i\sum_{z^{(i)}}Q_i^{(t)}(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\theta^{(t)})}{Q_i^{(t)}(z^{(i)})} \\ &amp;= l(\theta^{(t)}) \end{aligned} l(θ(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))=l(θ(t))

3.高斯混合

E E E 步骤很简单。还是按照上面的算法推导过程,只需要计算:
w j ( i ) = Q i ( z ( i ) = j ) = P ( z ( i ) = j ∣ x ( i ) ; ϕ , μ , Σ ) w_j^{(i)}=Q_i(z^{(i)}=j)=P(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma) wj(i)=Qi(z(i)=j)=P(z(i)=jx(i);ϕ,μ,Σ)
这里面的 “ Q i ( z ( i ) = j ) ” “Q_i(z^{(i)} = j)” Qi(z(i)=j) 表示的是在分布 Q i Q_i Qi z ( i ) z^{(i)} z(i) 取值 j j j 的概率。

接下来在 M M M 步骤,就要最大化关于参数 ϕ , μ , Σ \phi,\mu,\Sigma ϕ,μ,Σ的值:
∑ i = 1 m ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; ϕ , μ , Σ ) Q i ( z ( i ) ) = ∑ i = 1 m ∑ j = 1 k Q i ( z ( i ) = j ) l o g p ( x ( i ) ∣ z ( i ) = j ; μ , Σ ) p ( z ( i ) = j ; ϕ ) Q i ( z ( i ) = j ) = ∑ i = 1 m ∑ j = 1 k w j ( i ) l o g 1 ( 2 π ) n / 2 ∣ Σ j ∣ 1 / 2 e x p ( − 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) ) ⋅ ϕ j w j ( i ) \begin{aligned} \sum_{i=1}^m&amp;\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)};\phi,\mu,\Sigma)}{Q_i(z^{(i)})}\\ &amp;= \sum_{i=1}^m\sum_{j=1}^kQ_i(z^{(i)}=j)log\frac{p(x^{(i)}|z^{(i)}=j;\mu,\Sigma)p(z^{(i)}=j;\phi)}{Q_i(z^{(i)}=j)} \\ &amp;= \sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\frac{\frac{1}{(2\pi)^{n/2}|\Sigma_j|^{1/2}}exp(-\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j))\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 \mu_l μl 来进行最大化。如果去关于 μ l \mu_l μl 的(偏)导数(derivative),得到:
∇ μ l ∑ i = 1 m ∑ j = 1 k w j ( i ) l o g 1 ( 2 π ) n / 2 ∣ Σ j ∣ 1 / 2 e x p ( − 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) ) ⋅ ϕ j w j ( i ) = − ∇ μ l ∑ i = 1 m ∑ j = 1 k w j ( i ) 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) = 1 2 ∑ i = 1 m w l ( i ) ∇ μ l ( 2 μ l T Σ l − 1 x ( i ) − μ l T Σ l − 1 μ l ) = ∑ i = 1 m w l ( i ) ( Σ l − 1 x ( i ) − Σ l − 1 μ l ) \begin{aligned} \nabla_{\mu_l}&amp;\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\frac{\frac{1}{(2\pi)^{n/2}|\Sigma_j|^{1/2}}exp(-\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j))\cdot\phi_j}{w_j^{(i)}} \\ &amp;= -\nabla_{\mu_l}\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}\frac 12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j) \\ &amp;= \frac 12\sum_{i=1}^m w_l^{(i)}\nabla_{\mu_l}(2\mu_l^T\Sigma_l^{-1}x^{(i)}-\mu_l^T\Sigma_l^{-1}\mu_l) \\ &amp;= \sum_{i=1}^m w_l^{(i)}(\Sigma_l^{-1}x^{(i)}-\Sigma_l^{-1}\mu_l) \end{aligned} μli=1mj=1kwj(i)logwj(i)(2π)n/2Σj1/21exp(21(x(i)μj)TΣj1(x(i)μj))ϕj=μli=1mj=1kwj(i)21(x(i)μj)TΣj1(x(i)μj)=21i=1mwl(i)μl(2μlTΣl1x(i)μlTΣl1μl)=i=1mwl(i)(Σl1x(i)Σl1μl)
设上式为零,然后解出 μ l \mu_l μl 就产生了更新规则(update rule):
μ l : = ∑ i = 1 m w l ( i ) x ( i ) ∑ i = 1 m w l ( i ) \mu_l := \frac{\sum_{i=1}^m w_l^{(i)}x^{(i)}}{\sum_{i=1}^m w_l^{(i)}} μl:=i=1mwl(i)i=1mwl(i)x(i)
推导在 M M M 步骤中参数 ϕ j \phi_j ϕj 的更新规则。把仅关于参数 ϕ j \phi_j ϕj 的表达式结合起来,就能发现只需要最大化下面的表达式:
∑ i = 1 m ∑ j = 1 k w j ( i ) l o g ϕ j \sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\phi_j i=1mj=1kwj(i)logϕj
然而,还有一个附加的约束,即 ϕ j \phi_j ϕj 的和为 1 1 1,因为其表示的是概率 ϕ j = p ( z ( i ) = j ; ϕ ) \phi_j = p(z^{(i)} = j;\phi) ϕj=p(z(i)=j;ϕ)。为了保证这个约束条件成立,即 ∑ j = 1 k ϕ j = 1 \sum^k_{j=1}\phi_j = 1 j=1kϕj=1,我们构建一个拉格朗日函数(Lagrangian):
L ( ϕ ) = ∑ i = 1 m ∑ j = 1 k w j ( i ) l o g ϕ j + β ( ∑ j = 1 k ϕ j − 1 ) \mathcal L(\phi)=\sum_{i=1}^m\sum_{j=1}^kw_j^{(i)}log\phi_j+\beta(\sum^k_{j=1}\phi_j - 1) L(ϕ)=i=1mj=1kwj(i)logϕj+β(j=1kϕj1)
其中的 β \beta β 是 拉格朗日乘数(Lagrange multiplier) 2 ^2 2 。求导,然后得到:
∂ ∂ ϕ j L ( ϕ ) = ∑ i = 1 m w j ( i ) ϕ j + 1 \frac{\partial}{\partial{\phi_j}}\mathcal L(\phi)=\sum_{i=1}^m\frac{w_j^{(i)}}{\phi_j}+1 ϕjL(ϕ)=i=1mϕjwj(i)+1

2 这里我们不用在意约束条件 ϕ j ≥ 0 \phi_j \ge 0 ϕj0,因为很快就能发现,这里推导得到的解会自然满足这个条件的。

设导数为零,然后解方程,就得到了:
ϕ j = ∑ i = 1 m w j ( i ) − β \phi_j=\frac{\sum_{i=1}^m w_j^{(i)}}{-\beta} ϕj=βi=1mwj(i)
也就是说, ϕ j ∝ ∑ i = 1 m w j ( i ) \phi_j\propto \sum_{i=1}^m w_j^{(i)} ϕji=1mwj(i)。结合约束条件(constraint) Σ j ϕ j = 1 \Sigma_j \phi_j = 1 Σjϕj=1,可以很容易地发现 − β = ∑ i = 1 m ∑ j = 1 k w j ( i ) = ∑ i = 1 m 1 = m -\beta = \sum_{i=1}^m\sum_{j=1}^kw_j^{(i)} = \sum_{i=1}^m 1 =m β=i=1mj=1kwj(i)=i=1m1=m. (这里用到了条件 w j ( i ) = Q i ( z ( i ) = j ) w_j^{(i)} =Q_i(z^{(i)} = j) wj(i)=Qi(z(i)=j),而且因为所有概率之和等于 1 1 1,即 ∑ j w j ( i ) = 1 \sum_j w_j^{(i)}=1 jwj(i)=1)。这样我们就得到了在 M M M 步骤中对参数 ϕ j \phi_j ϕj 进行更新的规则了:
ϕ j : = 1 m ∑ i = 1 m w j ( i ) \phi_j := \frac 1m \sum_{i=1}^m w_j^{(i)} ϕj:=m1i=1mwj(i)
接下来对 M M M 步骤中对 Σ j \Sigma_j Σj 的更新规则的推导就很容易了。
Σ j = ∑ i = 1 m w j ( i ) ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ i = 1 m w j ( i ) . \Sigma_j=\frac{\sum_{i=1}^m w_j^{(i)}(x^{(i)}-\mu_j)(x^{(i)}-\mu_j)^T}{\sum_{i=1}^m w_j^{(i)}}. Σj=i=1mwj(i)i=1mwj(i)(x(i)μj)(x(i)μj)T.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值