第八讲:期望最大化算法(EM algorithm)

这篇博客详细介绍了期望最大化算法(EM algorithm),从Jensen不等式开始,阐述了EM算法在处理高斯混合模型估计问题中的应用。通过Jensen不等式解释了EM算法如何构建似然函数的下界并进行优化。文章还回顾了在高斯混合模型中EM算法的E-step和M-step的具体步骤,包括如何更新参数φ、μ和Σ。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前面的若干讲义中,我们已经讲过了期望最大化算法(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 xR),则函数 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 H0)。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=1mlogp(x;θ)=i=1mlogz(i)=1kp(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 Estep 中构建一个 ℓ \ell 的下限(lower-bound),然后在 M − s t e p M-step Mstep 中对这个下限进行优化。

对于每个 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 ΣzQi(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} 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))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&#x27;&#x27;(x) = −1/x^2 &lt; 0 f(x)=1/x2<0 在整个定义域(domain) x ∈ R + x ∈ R^+ xR+ 上都成立。

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

∑ 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);θ)/Q

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值