在前面的若干讲义中,我们已经讲过了期望最大化算法(EM algorithm),使用场景是对一个高斯混合模型进行拟合(fitting a mixture of Gaussians)。在本章里面,我们要给出期望最大化算法(EM algorithm)的更广泛应用,并且演示如何应用于一个大系列的具有潜在变量(latent variables)的估计问题(estimation problems)。我们的讨论从 Jensen 不等式(Jensen’s inequality)开始,这是一个非常有用的结论。

1. Jensen 不等式(Jensen’s inequality)

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

定理(Theorem):设 f f f 是一个凸函数,且设 X X X 是一个随机变量(random variable)。然后则有:

E [ f ( X ) ] ≥ f ( E X ) \begin{aligned} E[f(X)] ≥ f(EX)\end{aligned} E[f(X)]≥f(EX)​

(译者注:函数的期望等于期望的函数值)

此外,如果函数 f f f 是严格凸函数,那么 E [ f ( X ) ] = f ( E X ) E[f(X)] = f(EX) E[f(X)]=f(EX), 当且仅当 X = E [ X ] X = E[X] X=E[X] 的概率(probability)为 1的时候成立(例如 X X X 是一个常数。)

还记得我们之前的约定(convention)吧,写期望(expectations)的时候可以偶尔去掉括号(parentheses),所以在上面的定理中, f ( E X ) = f ( E [ X ] ) f(EX) = f(E[X]) f(EX)=f(E[X])。
为了容易理解这个定理,可以参考下面的图:

上图中, f f f 是一个凸函数,在图中用实线表示。另外 X X X 是一个随机变量,有 0.5 的概率(chance)取值为 a,另外有 0.5 的概率取值为 b(在图中 x 轴上标出了)。这样, X X X 的期望值就在图中所示的 a 和 b 的中点位置。

图中在 y y y 轴上也标出了 f ( a ) f(a) f(a), f ( b ) f(b) f(b) 和 f ( E [ X ] ) f(E[X]) f(E[X])。接下来函数的期望值 E [ f ( X ) ] E[f(X)] E[f(X)] 在 y y y 轴上就处于 f ( a ) f(a) f(a) 和 f ( b ) f(b) f(b) 之间的中点的位置。如图中所示,在这个例子中由于 f f f 是凸函数,很明显 E [ f ( X ) ] ≥ f ( E X ) E[f(X)] ≥ f(EX) E[f(X)]≥f(EX)。

顺便说一下,很多人都记不住不等式的方向,所以就不妨用画图来记住,这是很好的方法,还可以通过图像很快来找到答案。

回想一下,当且仅当 – f –f –f 是严格凸函数([strictly] convex)的时候, f f f 是严格凹函数([strictly] concave)(例如,二阶导数 f ′ ′ ( x ) ≤ 0 f''(x) ≤ 0 f′′(x)≤0 或者其海森矩阵 H ≤ 0 H ≤ 0 H≤0)。Jensen 不等式也适用于凹函数(concave)f,但不等式的方向要反过来,也就是对于凹函数, E [ f ( X ) ] ≤ f ( E X ) E[f(X)] ≤ f(EX) E[f(X)]≤f(EX)。

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

假如我们有一个估计问题(estimation problem),其中由训练样本集 { x ( 1 ) , . . . , x ( m ) } \{x^{(1)}, ..., x^{(m)}\} {x(1),...,x(m)} 包含了 m 个独立样本。我们用模型 p ( x , z ) p(x, z) p(x,z) 对数据进行建模,拟合其参数(parameters),其中的似然函数(likelihood)如下所示:

ℓ ( θ ) = ∑ i = 1 m log ⁡ p ( x ; θ ) = ∑ i = 1 m log ⁡ ∑ z ( i ) = 1 k p ( x , z ; θ ) . \begin{aligned} \ell(\theta)&=\sum^m_{i=1}\log p(x;\theta)\\&=\sum^m_{i=1}\log\sum^k_{z^{(i)}=1}p(x,z;\theta).\end{aligned} ℓ(θ)​=i=1∑m​logp(x;θ)=i=1∑m​logz(i)=1∑k​p(x,z;θ).​

然而,确切地找到对参数 θ θ θ 的最大似然估计(maximum likelihood estimates)可能会很难。此处的 z ( i ) z^{(i)} z(i) 是一个潜在的随机变量(latent random variables);通常情况下,如果 z ( i ) z^{(i)} z(i) 事先得到了,然后再进行最大似然估计,就容易多了。

这种环境下,使用期望最大化算法(EM algorithm)就能很有效地实现最大似然估计(maximum likelihood estimation)。明确地对似然函数 ℓ ( θ ) \ell(\theta) ℓ(θ)进行最大化可能是很困难的,所以我们的策略就是使用一种替代,在 E − s t e p E-step E−step 中构建一个 ℓ \ell ℓ 的下限(lower-bound),然后在 M − s t e p M-step M−step 中对这个下限进行优化。

对于每个 i i i,设 Q i Q_i Qi​ 是某个对 z z z 的分布, Σ z Q i ( z ) = 1 , Q i ( z ) ≥ 0 \Sigma_z Q_i(z) = 1, Q_i(z) ≥ 0 Σz​Qi​(z)=1,Qi​(z)≥0。则有下列各式1

(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 ) ) p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \begin{aligned} \sum_i\log p(x^{(i)};\theta)&=\sum_{i}\log\sum_{z^{(i)}}p(x^{(i)},z^{(i)};\theta)& \tag{1} \\&=\sum_{i}\log\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \\&\geq \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \end{aligned} i∑​logp(x(i);θ)​=i∑​logz(i)∑​p(x(i),z(i);θ)=i∑​logz(i)∑​Qi​(z(i))Qi​(z(i))p(x(i),z(i);θ)​≥i∑​z(i)∑​Qi​(z(i))Qi​(z(i))p(x(i),z(i);θ)​​(1)

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

此外,上式的求和中的单项:

∑ z ( i ) Q i ( z ( i ) ) [ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ] \begin{aligned} \sum_{z^{(i)}}Q_i(z^{(i)}) \left[ \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \right] \end{aligned} z(i)∑​Qi​(z(i))[Qi​(z(i))p(x(i),z(i);θ)​]​

是变量(quantity) [ p ( x ( i ) , z ( i ) ; θ ) / Q i ( z ( i ) ) ] [p(x^{(i)},z^{(i)};\theta)/Q_i(z^{(i)})] [p(x(i),z(i);θ)/Qi​(z(i))] 基于 z ( i ) z^{(i)} z(i) 的期望,其中 z ( i ) z^{(i)} z(i) 是根据 Q i Q_i Qi​ 给定的分布确定的。然后利用 Jensen 不等式(Jensen’s inequality),就得到了:

f ( E z ( i ) ∼ Q i [ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ] ) ≥ E z ( i ) ∼ Q i [ f ( p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) ) ] \begin{aligned} f(E_{z^{(i)}\thicksim Q_i} \left [\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \right])\geq E_{z^{(i)}\thicksim Q_i} \left [f\left(\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \right) \right] \end{aligned} f(Ez(i)∼Qi​​[Qi​(z(i))p(x(i),z(i);θ)​])≥Ez(i)∼Qi​​[f(Qi​(z(i))p(x(i),z(i);θ)​)]​

其中上面的角标 “ z ( i ) ∼ Q i z^{(i)} ∼ Q_i z(i)∼Qi​” 就表明这个期望是对于依据分布 Q i Q_i Qi​ 来确定的 z ( i ) z^{(i)} z(i) 的。这样就可以从等式 (2) 推导出等式 (3)。

接下来,对于任意的一个分布 Q i Q_i Qi​,上面的等式(3) 就给出了似然函数 ℓ ( θ ) \ell(\theta) ℓ(θ) 的下限(lower-bound)。那么对于 Q i Q_i Qi​ 有很多种选择。咱们该选哪个呢?如果我们对参数 θ θ θ 有某种当前的估计,很自然就可以设置这个下限为 θ θ θ 这个值。也就是,针对当前的 θ θ θ 值,我们令上面的不等式中的符号为等号。(稍后我们能看到,这样就能证明,随着 EM迭代过程的进行,似然函数 ℓ ( θ ) \ell(\theta) ℓ(θ) 就会单调递增(increases monotonically)。)

为了让上面的限定值(bound)与 θ θ θ 特定值(particular value)联系紧密(tight),我们需要上面推导过程中的 Jensen 不等式这一步中等号成立。要让这个条件成立,我们只需确保是在对一个常数值随机变量(“constant”-valued random variable)求期望。也就是需要:

p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) = c \begin{aligned} \frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} =c \end{aligned} Qi​(z(i))p(x(i),z(i);θ)​=c​

其中常数 c 不依赖 z ( i ) z^{(i)} z(i)。要实现这一条件,只需满足:

Q i ( z ( i ) ) ∝ p ( x ( i ) , z ( i ) ; θ ) . \begin{aligned} Q_i(z^{(i)})\varpropto {p(x^{(i)},z^{(i)};\theta)} . \end{aligned} Qi​(z(i))∝p(x(i),z(i);θ).​

实际上,由于我们已知 Q i ( z ( i ) ) = 1 Q_i(z^{(i)})=1 Qi​(z(i))=1(因为这是一个分布),这就进一步表明:

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(z^{(i)}) &amp;= \frac{p(x^{(i)},z^{(i)};\theta)}{\sum_z p(x^{(i)},z;\theta)}\\&amp;= \frac{p(x^{(i)},z^{(i)};\theta)}{ p(x^{(i)};\theta)}\\&amp;=p(z^{(i)}|x^{(i)};\theta) \end{aligned} Qi​(z(i))​=∑z​p(x(i),z;θ)p(x(i),z(i);θ)​=p(x(i);θ)p(x(i),z(i);θ)​=p(z(i)∣x(i);θ)​

因此,在给定 x ( i ) x^{(i)} x(i) 和参数 θ θ θ 的设置下,我们可以简单地把 Q i Q_i Qi​ 设置为 z ( i ) z^{(i)} z(i) 的后验分布(posterior distribution)。

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

重复下列过程直到收敛(convergence): {
( E − s t e p E-step E−step) 对每个 i i i,设
Q i ( z ( i ) ) : = p ( z ( i ) , x ( i ) ; θ ) . \begin{aligned} Q_i(z^{(i)}):= {p(z^{(i)},x^{(i)};\theta)} . \end{aligned} Qi​(z(i)):=p(z(i),x(i);θ).​

(( M − s t e p M-step M−step) 设
θ : = arg ⁡ max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) ∣ log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) . \begin{aligned} \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)})} . \end{aligned} θ:=argθmax​i∑​z(i)∑​Qi​(z(i))∣logQi​(z(i))p(x(i),z(i);θ)​.​
}

怎么才能知道这个算法是否会收敛(converge)呢?设 θ ( t ) θ^{(t)} θ(t) 和 θ ( t + 1 ) θ^{(t+1)} θ(t+1) 是上面 EM 迭代过程中的某两个参数(parameters)。接下来我们就要证明一下 ℓ ( θ ( t ) ) ≤ ℓ ( θ ( t + 1 ) ) \ell(θ^{(t)}) ≤ \ell(θ^{(t+1)}) ℓ(θ(t))≤ℓ(θ(t+1)),这就表明 EM 迭代过程总是让似然函数对数(log-likelihood)单调递增(monotonically improves)。证明这个结论的关键就在于对 Q i Q_i Qi​ 的选择中。在上面EM 迭代中,参数的起点设为 θ ( t ) θ^{(t)} θ(t),我们就可以选择 Q i ( t ) ( z ( i ) ) : = p ( z ( i ) ∣ x ( i ) ; θ ( t ) ) Q_i^{(t)}(z^{(i)}): = p(z^{(i)}|x^{(i)};\theta^{(t)}) Qi(t)​(z(i)):=p(z(i)∣x(i);θ(t))。之前我们已经看到了,正如等式(3) 的推导过程中所示,这样选择能保证 Jensen 不等式的等号成立,因此:

ℓ ( θ ( t ) ) = ∑ i ∑ z ( i ) Q i ( t ) ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ( t ) ) Q i ( t ) ( z ( i ) ) . \begin{aligned} \ell(θ^{(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)})} . \end{aligned} ℓ(θ(t))=i∑​z(i)∑​Qi(t)​(z(i))logQi(t)​(z(i))p(x(i),z(i);θ(t))​.​

参数 θ ( t + 1 ) θ^{(t+1)} θ(t+1) 可以通过对上面等式中等号右侧进行最大化而得到。因此:

(4) ℓ ( θ ( 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(θ^{(t+1)})&amp;\geq\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)})}\tag{4} \\&amp;\geq \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;=\ell(\theta^{(t)}) \end{aligned} ℓ(θ(t+1))​≥i∑​z(i)∑​Qi(t)​(z(i))logQi(t)​(z(i))p(x(i),z(i);θ(t+1))​≥i∑​z(i)∑​Qi(t)​(z(i))logQi(t)​(z(i))p(x(i),z(i);θ(t))​=ℓ(θ(t))​(4)

上面的第一个不等式推自:

ℓ ( θ ) ≥ ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \begin{aligned} \ell(θ)\geq\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \end{aligned} ℓ(θ)≥i∑​z(i)∑​Qi​(z(i))logQi​(z(i))p(x(i),z(i);θ)​​

上面这个不等式对于任意值的 Q i Q_i Qi​ 和 θ θ θ 都成立,尤其当 Q i = Q i ( t ) , θ = θ ( t + 1 ) Q_i = Q_i^{(t)}, θ = θ^{(t+1)} Qi​=Qi(t)​,θ=θ(t+1)。要得到等式(5),我们要利用 θ ( t + 1 ) θ^{(t+1)} θ(t+1) 的选择能够保证:

arg ⁡ max ⁡ θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \begin{aligned} \arg\max_\theta \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \end{aligned} argθmax​i∑​z(i)∑​Qi​(z(i))logQi​(z(i))p(x(i),z(i);θ)​​

这个式子对 θ ( t + 1 ) θ^{(t+1)} θ(t+1) 得到的值必须大于等于 θ ( t ) θ^{(t)} θ(t) 得到的值。最后,推导等式(6) 的这一步,正如之前所示,因为在选择的时候我们选的 Q i ( t ) Q_i^{(t)} Qi(t)​ 就是要保证 Jensen 不等式对 θ ( t ) θ^{(t)} θ(t) 等号成立。

因此,EM 算法就能够导致似然函数(likelihood)的单调收敛。在我们推导 EM 算法的过程中,我们要一直运行该算法到收敛。得到了上面的结果之后,可以使用一个合理的收敛检测(reasonable convergence test)来检查在成功的迭代(successive iterations)之间的 ℓ ( θ ) \ell(θ) ℓ(θ) 的增长是否小于某些容忍参数(tolerance parameter),如果 EM 算法对 ℓ ( θ ) \ell(θ) ℓ(θ) 的增大速度很慢,就声明收敛(declare convergence)。

备注。如果我们定义

J ( Q , θ ) = ∑ i ∑ z ( i ) Q i ( z ( i ) ) log ⁡ p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) ) \begin{aligned} J(Q,\theta)=\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})\log\frac{p(x^{(i)},z^{(i)};\theta)}{Q_i(z^{(i)})} \end{aligned} J(Q,θ)=i∑​z(i)∑​Qi​(z(i))logQi​(z(i))p(x(i),z(i);θ)​​

通过我们之前的推导,就能知道 ℓ ( θ ) ≥ J ( Q , θ ) \ell(θ)\geq J(Q,\theta) ℓ(θ)≥J(Q,θ)。这样 EM 算法也可看作是在 J J J 上的坐标上升(coordinate ascent),其中 E − s t e p E-step E−step步骤在 Q Q Q 上对 J J J 进行了最大化(自己检查哈),然后 M − s t e p M-step M−step 步骤则在 θ θ θ 上对 J J J 进行最大化。

3 高斯混合模型回顾(Mixture of Gaussians revisited )

有了对 EM 算法的广义定义(general definition)之后,我们就可以回顾一下之前的高斯混合模型问题,其中要拟合的参数有 φ , μ φ, μ φ,μ 和 Σ Σ Σ。为了避免啰嗦,这里就只给出在 M − s t e p M-step M−step 步骤中对 φ φ φ 和 μ j μ_j μj​ 进行更新的推导,关于 Σ j Σ_j Σj​ 的更新推导就由读者当作练习自己来吧。

E − s t e p E-step E−step 步骤很简单。还是按照上面的算法推导过程,只需要计算:

w j ( i ) = Q i ( z ( i ) = j ) = P ( z ( i ) = j ∣ x ( i ) ; ϕ , μ , Σ ) \begin{aligned} w_j^{(i)}=Q_i(z^{(i)}=j)=P(z^{(i)}=j|x^{(i)};\phi,\mu,\Sigma)\\ \end{aligned} wj(i)​=Qi​(z(i)=j)=P(z(i)=j∣x(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 − s t e p M-step M−step 步骤,就要最大化关于参数 φ , μ , Σ φ, μ, Σ φ,μ,Σ 的值:

∑ 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}&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(-\frac12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j))\cdot\phi_j}{w_j^{(i)}} \end{aligned} i=1∑m​​z(i)∑​Qi​(z(i))logQi​(z(i))p(x(i),z(i);ϕ,μ,Σ)​=i=1∑m​j=1∑k​Qi​(z(i)=j)logQi​(z(i)=j)p(x(i)∣z(i)=j;μ,Σ)p(z(i)=j;ϕ)​=i=1∑m​j=1∑k​wj(i)​logwj(i)​(2π)n/2∣Σj​∣1/21​exp(−21​(x(i)−μj​)TΣj−1​(x(i)−μj​))⋅ϕj​​​

先关于 μ l μ_l μl​ 来进行最大化。如果取关于 μ l μ_l μl​ 的(偏)导数(derivative),得到:

∇ μ l ∑ 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 ) = − ∇ μ 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_{μ_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(-\frac12(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)}\frac12(x^{(i)}-\mu_j)^T\Sigma_j^{-1}(x^{(i)}-\mu_j)\\ &amp;=\frac12\sum_{i=1}^mw_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}^mw_l^{(i)}(\Sigma_l^{-1}x^{(i)}-\Sigma_l^{-1}\mu_l) \end{aligned} ∇μl​​​i=1∑m​j=1∑k​wj(i)​logwj(i)​(2π)n/2∣Σj​∣1/21​exp(−21​(x(i)−μj​)TΣj−1​(x(i)−μj​))⋅ϕj​​=−∇μl​​i=1∑m​j=1∑k​wj(i)​21​(x(i)−μj​)TΣj−1​(x(i)−μj​)=21​i=1∑m​wl(i)​∇μl​​2μlT​Σl−1​x(i)−μlT​Σl−1​μl​=i=1∑m​wl(i)​(Σl−1​x(i)−Σl−1​μl​)​

设上式为零,然后解出 μ l μ_l μl​ 就产生了更新规则(update rule):

μ l : = ∑ i = 1 m w l ( i ) x ( i ) ∑ i = 1 m w l ( i ) \begin{aligned} \mu_l:=\frac{\sum_{i=1}^mw_l^{(i)}x^{(i)}}{\sum_{i=1}^mw_l^{(i)}} \end{aligned} μl​:=∑i=1m​wl(i)​∑i=1m​wl(i)​x(i)​​

这个结果咱们在之前的讲义中已经见到过了。咱们再举一个例子,推导在 M − s t e p M-step M−step 步骤中参数 ϕ j \phi_j ϕj​ 的更新规则。把仅关于参数 ϕ j \phi_j ϕj​ 的表达式结合起来,就能发现只需要最大化下面的表达式:

∑ i = 1 m ∑ j = 1 k w j ( i ) log ⁡ ϕ j \begin{aligned} \sum_{i=1}^{m}\sum_{j=1}^k w_{j}^{(i)}\log\phi_j \end{aligned} i=1∑m​j=1∑k​wj(i)​logϕj​​

然而,还有一个附加的约束,即 ϕ j \phi_j ϕj​ 的和为1,因为其表示的是概率 ϕ j = p ( z ( i ) = j ; ϕ ) \phi_j = p(z^{(i)} = j;\phi) ϕj​=p(z(i)=j;ϕ)。为了保证这个约束条件成立,即 Σ j = 1 k ϕ j = 1 Σ_{j=1}^k \phi_j = 1 Σj=1k​ϕj​=1,我们构建一个拉格朗日函数(Lagrangian):

L ( ϕ ) = ∑ i = 1 m ∑ j = 1 k w j ( i ) log ⁡ ϕ j + β ( ∑ j = 1 k ϕ j − 1 ) \begin{aligned} \mathcal{L}(\phi)=\sum_{i=1}^{m}\sum_{j=1}^k w_{j}^{(i)}\log\phi_j+\beta(\sum_{j=1}^k\phi_j-1) \end{aligned} L(ϕ)=i=1∑m​j=1∑k​wj(i)​logϕj​+β(j=1∑k​ϕj​−1)​

其中的 β β β 是拉格朗日乘数(Lagrange multiplier)2。求导,然后得到:

∂ ∂ ϕ j L ( ϕ ) = ∑ i = 1 m w j ( i ) ϕ j + 1 \begin{aligned} \frac{\partial}{\partial \phi_j}\mathcal{L}(\phi)=\sum_{i=1}^{m}\frac{w_j^{(i)}}{\phi_j}+1 \end{aligned} ∂ϕj​∂​L(ϕ)=i=1∑m​ϕj​wj(i)​​+1​

设导数为零,然后解方程,就得到了:

ϕ j = ∑ i = 1 m w j ( i ) − β \begin{aligned} \phi_j=\frac{\sum_{i=1}^{m}{w_j^{(i)}}}{-\beta} \end{aligned} ϕj​=−β∑i=1m​wj(i)​​​

也就是说,结合约束条件(constraint) Σ j ϕ j = 1 Σ_j\phi_j = 1 Σj​ϕj​=1,可以很容易地发现 − β = Σ i = 1 m Σ j = 1 k w j ( i ) = Σ i = 1 m 1 = m −β= Σ_{i=1}^m Σ_{j=1}^k w_j^{(i)} = Σ_{i=1}^m 1=m −β=Σi=1m​Σj=1k​wj(i)​=Σi=1m​1=m. (这里用到了条件 w j ( i ) = Q i ( z ( i ) = j ) w_j^{(i)} =Q_i(z^{(i)} = j) wj(i)​=Qi​(z(i)=j),并且概率和为1, ∑ j w j ( i ) = 1 \sum_jw_j^{(i)}=1 ∑j​wj(i)​=1)。这样我们就得到了在 M − s t e p M-step M−step 步骤中对参数 ϕ j \phi_j ϕj​ 进行更新的规则了:

ϕ j = 1 m ∑ i = 1 m w j ( i ) \begin{aligned} \phi_j=\frac1m{\sum_{i=1}^{m}w_j^{(i)}} \end{aligned} ϕj​=m1​i=1∑m​wj(i)​​

接下来对 M − s t e p M-step M−step 步骤中对 Σ j Σ_j Σj​ 的更新规则的推导就很容易了。


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

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

第八讲:期望最大化算法(EM algorithm)相关推荐

  1. EM算法(Expectation Maximization)期望最大化算法

    原文:EM(期望最大化)算法初步认识 - 大数据和AI躺过的坑 - 博客园 https://www.cnblogs.com/zlslch/p/6965374.html 机器学习十大算法之一:EM算法( ...

  2. EM期望最大化算法实现二项混合分布与高斯混合分布

    EM(Expectation-maximization algorithm)译为期望最大化算法,EM算法是数据挖掘的十大算法之一,主要解决有隐含变量时,如何利用最大似然法求解未知参数.现实中会遇到多个 ...

  3. 【EM算法】期望最大化算法

    [摘要] EM(Expectation-Maximum)算法也称期望最大化算法,曾入选"数据挖掘十大算法"中,可见EM算法在机器学习.数据挖掘中的影响力.EM算法是最常见的隐变量估 ...

  4. EM算法(期望最大化算法)理论概述

    1.EM算法 1.1概述 EM(Expectation-Maximum)算法也称期望最大化算法,曾入选"数据挖掘十大算法"中,可见EM算法在机器学习.数据挖掘中的影响力.EM算法是 ...

  5. 机器学习的优化目标、期望最大化(Expectation-Maximum, EM)算法、期望最大化(EM)和梯度下降对比

    机器学习的优化目标.期望最大化(Expectation-Maximum, EM)算法.期望最大化(EM)和梯度下降对比 目录

  6. 期望最大化算法(Expectation-Maximum,简称EM)算法+EM算法+EM的应用

    期望最大化算法(Expectation-Maximum,简称EM)算法+EM算法+EM的应用 EM的应用 EM算法有很多的应用,最广泛的就是GMM混合高斯模型.聚类.HMM等等.具体可以参考Jerry ...

  7. NLP --- 隐马尔可夫HMM(EM算法(期望最大化算法))

    期望最大化 (Expectation Maximization) 算法最初是由 Ceppellini[2] 等人 1950 年在讨论基因频率的估计的时候提出的.后来又被 Hartley[3] 和Bau ...

  8. 机器学习之期望最大化算法(Expectation Maximization, EM)

    文章目录 期望最大化算法(Expectation Maximization, EM) 1. 基本内容 2. 从三硬币模型 2.1 问题提出 2.2 解决方案 2.3 换个角度 3. 到高斯混合模型(G ...

  9. 《数学之美》第27章 期望最大化算法

    1 文本的自收敛分类 两种文本分类算法,即利用事先设定好的类别对新的文本进行分类,以及自底向上地将文本两两比较进行聚类的方法.这两种方法,多少都有一些局限性,比如前一种方法需要有事先设定好的类别和文本 ...

最新文章

  1. 一次对语音技术的彻底批判
  2. 三大运营商齐发力大数据
  3. caffe学习笔记19-batchsize参数
  4. python删除、替换字符串某字符后的字符串(删除字符串、替换字符串、strip、split、rstrip、lstrip、replace)
  5. python如何导入hotp库_Google Authenticator在Python中的实现
  6. python调用接口获取数据_python:接口间数据传递与调用方法
  7. centos cmake安装mysql_CentOS下使用cmake编译安装mysql
  8. 网站优化JS css压缩
  9. nginx是否存在文件类型解析漏洞(转)
  10. 小知识--oppo R9sk手机刷机
  11. ubuntu 安装docker_Docker学习笔记1 虚拟化历史及 Ubuntu环境下体验安装
  12. 模电实验——实验三 集成运算放大器的基本应用
  13. word2016页眉横线删除不掉
  14. css 所有后代元素,CSS 选择子元素和后代元素
  15. Windows10系统出现休眠后电脑屏幕黑屏无法唤醒解决办法
  16. python火车票分析_通过python splinter分析12306网站
  17. 2018杭州云栖大会,梁胜博士的演讲PPT来啦! 1
  18. java程序写一个数的平方根_Java程序查找给定数字的平方根
  19. 关于activeMq在本地测试报错org.apache.activemq.transport.InactivityIOException: Cannot send, channel has alrea
  20. PS从入门到精通第3节

热门文章

  1. pacman源添加及yaourt安装
  2. 【021】基于springboot的党务管理系统(含管理员、用户党支部三种身份(附源码数据库)
  3. 图片转为pdf怎么弄?发送图片安全高效的格式
  4. excel 一键给公司所有员工发送工资单 vba代码
  5. Drawio免费绘图工具
  6. 【读者来信】培训完没有类似的工作经验,该如何找工作?
  7. Java线程的死锁和活锁
  8. vue的五个小实例解析其基础功能
  9. 企业网站怎么制作?企业网站制作,只需记住这8个步骤
  10. 东莞东城用“智慧大脑”给城市“打补丁”