曲曲的秘密学术基地

纯化欲望、坚持严肃性

欢迎!我是曲泽慧(@zququ),目前在深圳(ICBI,BCBDI,SIAT)任职助理研究员。


病毒学、免疫学及结构生物学背景,可以在 RG 上找到我已发表的论文

本站自2019年7月已访问web counter

EM算法的直觉推导

EM 算法(Expectation-Maximization algorithm)是一种最大期望算法。主要包括 E-step 和 M-step 两部分,通过反复迭代来获得相关参数 $\theta$ 的估计。

贝叶斯估计

对于 EM 算法中需要利用到贝叶斯估计公式,总结如下:

$$ \mathrm{P}(A\mid B) = \frac{\mathrm{P}(B \mid A)\mathrm{P}(A)}{\mathrm{P}(B)} $$

$$ \mathrm{P}(A, B) = \mathrm{P}(A\mid B)\mathrm{P}(B) = \mathrm{P}(B\mid A)\mathrm{P}(A) $$

E-step 与完全数据对数似然 (L 函数)

E-step 描述求期望的过程,是 EM 算法的核心,主要包括两个函数,一个被称为完全数据的对数似然,公式表达为:

$$ \log{L(X, Z, \theta)} = \log{\mathrm{P}(X, Z|\theta)} $$

其中 $X$ 为观察数据,$Z$ 为隐参数而 $\theta$ 为模型参数。描述在 $\theta$ 模型参数下,实验数据 $X$ 与 隐参数 $Z$ 之间的联合分布。

另一个参数用来描述完全数据的对数似然期望,公式表达为:

$$ \begin{aligned} Q(\theta | \theta_{old}) & = \mathrm{P}(Z|X, \theta)\cdot \log{L(X,Z,\theta)} \ \\ &= \sum_{Z}{\mathrm{P}(Z|X, \theta_{old}}) \cdot \log{L(X, Z, \theta)} \end{aligned} $$

为解释 $Q(\theta\mid \theta_{old})$ 从何而来,需要利用到 Jenson 不等式。

Jenson 不等式

Jenson 不等式可对凹凸函数进行研究,假设 $\mathrm{g}(x)$ 为凹函数,权重 $\lambda_i \geq 0$,且 $\sum{\lambda_i} = 1$ ,则有如下关系:

$$ \mathrm{g}(\sum_{i}\lambda_i x_i) \leq \sum_i \lambda_i \mathrm{g}(x_i) $$

Jenson 不等式证明

引入支撑超平面概念:对于凸函数 $f(x)$ ,在函数曲线上任一点可以知道支撑超平面(切线)。引入一点 $z$ ,对于权重 $0 \leq \lambda \leq 1$ ,假设点 $z$ 在点 $x$ 与点 $y$ 之间,则有

$$ z = \lambda x + (1-\lambda)y $$

给出曲线上 $z$ 点处的切线函数式:

$$ t(z) = f(x) + \nabla f(x)^T (z-x) $$

代表函数梯度向量 $\nabla f(x)$ 在从点 x 到点 z 之间的向量投影,描述点 x 到点 z 的向量方向上函数值的变化程度。 同样也会有,

$$ f(z) \leq f(x) + \nabla f(x)^T(z-x) $$

这是凸函数上任一点的切线的直观理解,而假设这一点 $z$ 来到凸函数 $x$ 与 $y$ 之间线段上,则与切线情况不同,即

$$ f(z) \geq \lambda f(x) + (1-\lambda)f(y) $$

带入 $z$ 的定义值,有

$$ f(\lambda x + (1-\lambda)y) \geq \lambda f(x) + (1-\lambda)f(y) $$

考虑如果存在多个点 $x_i$,对应权重分别为 $\lambda_i$ ,则类似于 $x$ 、$y$ 两点的关系,可以得到 Jenson 不等式的结论:

$$ \mathrm{g}(\sum_{i}\lambda_i x_i) \leq \sum_i \lambda_i \mathrm{g}(x_i) $$

需要注意的是,这里的切线的情况并不是证明 Jenson 不等式所必须的,只是另一种临界条件帮助理解。

E-step 与 Q 函数

在证明 Jenson 不等式后,我们可以通过完全数据对数似然 $L(X, Z, \theta )$ 来研究其在隐参数变量 $Z$ 上的期望,引入一个新的函数,$Q(\theta \mid \theta_{old})$ 即在 $\theta$ 参数下,观察数据 $X$ 以及 隐参数 $Z$ 联合概率密度分布的期望。

$$ \begin{aligned} Q(\theta \mid \theta_{old}) &= \text{E}_{Z}\left[L(X,Z,\theta)\right] \\ \\ & = \sum_{Z}{\mathrm{P}(Z\mid X,\theta_{old})}\log{L(X,Z,\theta)} \end{aligned} $$

这里会有一些奇怪的地方,即为何突然出现 $Q(\theta \mid \theta_{old})$ ,这个函数的意义为何?

为了解释清楚这个问题,我们需要从通理解 EM 算法的算法目的,即求解似然概率:

$$ EM \rightarrow \arg\max_{\theta} P(X\mid \theta) $$

以图像重构为例,即在给出相关参数( $\theta$ )的前提下,不断迭代出概率最大的观察数据。

而 $Q$ 函数是一种人为设立的辅助函数,通过利用 $\theta_{old}$ 这一参数的不断迭代使得似然函数不断增加。而之所以这么折腾一下,是因为在复杂模型中,存在很多的隐参数 $Z$ ,会导致对于似然函数的直接求解存在很大的困难。

那么进一步分析为什么使用 $Q(\theta, \theta_{old})$ 函数,首先之前已经给出了 EM 的目的,即

$$ \arg\max_{\theta} P(X\mid \theta) $$

所以先对 $P(X\mid \theta)$ 开始着手:

$$ P(X\mid \theta) = \sum_{Z}P(X,Z\mid \theta) $$

代表 $X$ 和 $Z$ 之间联合概率在所有隐函数 $Z$ 取值求和,即似然概率。等式两端同时取对数有,

$$ \begin{aligned} \log{P(X\mid \theta)} &= \log \sum_{Z}P(X,Z\mid \theta) \\ \\ & = \log{\sum_{Z}}{P(Z\mid X, \theta)}\cdot \frac{P(X,Z\mid \theta)}{P(Z\mid X, \theta)} \end{aligned} $$

由 Jenson 不等式,可以的出

$$ \log{P(X\mid \theta)} \geq \sum_{Z}P(Z\mid X, \theta)\log{\frac{P(X,Z \mid \theta)}{P(Z\mid X, \theta_{old})}} $$

这样我们令

$$ Q(\theta, \theta_{old}) = \sum_{Z}P(Z\mid X, \theta_{old})\log{P(X,Z\mid \theta)} $$

而实际上,完整的带有 $Q$ 函数的 Jenson 不等式应该为:

$$ \log{P(X\mid \theta)} \geq \sum_{Z}P(Z\mid X, \theta_{old})\log{P(X,Z \mid \theta)} - \sum_{Z}P(Z\mid X, \theta_{old})\log{P(Z\mid X, \theta_{old})} $$

因为这里我们主要想关注的是如何最大化 $\theta^{(t+1)}$ ,所以这里后面部分是无关项(求偏导后会因为常数被约去)。这样就有了完整的不等式形式:

$$ \log{P(X\mid \theta)} \geq Q(\theta, \theta_{old}) + H\left(P(Z\mid X, \theta_{old})\right) $$

其中 $H$ 表示隐变量 $Z$ 的后验概率熵,是一个衡量随机变量不确定性的度量,数学上定义即为

$$ H(Z) = -\sum_{Z}P(Z)\log{P(Z)} $$

M-step

在构建 $Q$ 函数后,就可以通过 $\theta_{old}$ 最大化 $Q$ 函数来对 $\theta$ 参数进行迭代,为了更好的帮助理解迭代,用 $\theta^{t}$ 代替 $\theta_{old}$ :

$$ \theta^{(t+1)} = \arg\max_{\theta}{Q(\theta, \theta^{t})} $$

简单的说,例如对于较为常见的高斯混合模型,可以通过求偏导为零的方法,分别更新 $\theta$ 参数中包括的期望 $\mu$ 、标准差 $\sigma$ 以及混合系数 $\pi$ 。接下来分别展开详细介绍:

混合系数 $\pi_k$ 的求解

在讨论 $\pi_k$ 的详细求解之前,首先引入两个和 $Z_i$ 相关的两个后验概率,分别是 $\mathrm{P}(Z_i=k\mid X_i, \theta^{(t)})$ ,以及 $\mathrm{P}(Z_i, X_i = k \mid \theta)$ 分别表示 $Z_i = k$ 在 $X_i$ 观测数据以及 $\theta^{(t)}$ 参数下的后验概率以及 $Z_i, X_i$ 在 $\theta$ 参数下的联合后验概率。

首先先谈一下 $Z_i = k$ 后验概率,以 GMM 为例,代入 GMM 中有,

$$ \mathrm{P}(Z_i = k\mid X_i, \theta^{(t)}) = \frac{\pi_k\mathcal{N}(X_i\mid \mu_k, \sigma_k)}{\sum_{j=1}^{K} \pi_j\mathcal{N}(X_i\mid \mu_j, \sigma_j)} $$

这个表达式显而易见,描述全部混合系数下所有正太分布模型情况之中,使用 $\pi_k$ 作为当前正太分布混合系数的概率。其中比较值得注意的地方在于:

  1. 首先这个后验概率中,被采用的先验 $\theta^{(t)}$ 是为在 M-step 中求解后验 $\theta^{(t+1)}$ 而来;
  2. 这里 $k$ 指的某一个观察样本属于第 $k$ 个高斯分布,其混合系数为 $\pi_k$。

然后再分析一下关于 $Z_i$ 与 $X_i$ 的联合分布概率,同样代入 GMM,根据 bayes theorem,

$$ \begin{aligned} \mathrm{P}(X_i, z_i=k\mid \theta) & = \mathrm{P}(X_i\mid Z_i=k, \theta)\mathrm{P}(Z_i = k\mid \theta) \\ \\ & = \mathrm{P}(X_i\mid Z_i=k, \theta)\pi_k \end{aligned} $$

回顾 Q 函数:

$$ Q(\theta, \theta^{(t)}) = \sum_{Z}\mathrm{P}(Z\mid X, \theta_{(t)})\log{\mathrm{P}(X,Z\mid \theta)} $$

在此基础上,求解以下函数式:

$$ \frac{\partial Q(\theta\mid \theta^{(t)})}{\partial{\pi_k}} = \frac{\sum_{Z}\mathrm{P}(Z_i = k\mid X_i, \theta^{(t)})}{\pi_k}\tag{1} $$

但是因为 $Q$ 函数基于 Jenson 不等式的结论推导而来,所以需要规定权重 $\pi_k$ 一个约束,即

$$ \sum_{k=1}^{K}\pi_k = 1 \tag{2} $$

为了将这个月入代入 (1),我们需要利用拉格朗日乘数法处理这个约束条件:

$$ \mathcal{L}(\theta, \lambda) = Q(\theta, \theta^{(t)}) + \lambda(1-\sum_{k=1}^{K}\pi_k) $$

对 $\mathcal{L}(\theta, \lambda)$ 求关于 $\pi_k$ 的偏导,有

$$ \frac{\partial \mathcal{L}}{\partial\pi_k}=\sum_{i=1}^{N}P(Z_i = k | X_i, \theta^{(t)})\cdot\frac{1}{\pi_k} - \lambda\tag{3} $$

这里需要注意在求算关于 $\pi_k$ 偏导时,$Z_i$ 后验概率项前是没有 $\sum_{k=1}^{K}$ 项的,因为已经确定了 $\pi_k$。

为研究

$$ \arg\max_{\pi_k, \lambda} \mathcal{L(\theta, \lambda)} $$

令 (3) 式为零,

$$ \pi_k^{(t+1)} = \frac{1}{\lambda}\sum_{i=1}^{N}\mathrm{P}(Z_i =k\mid X_i, \theta^{(t)})\tag{4} $$

这里需要带入 (2) 中这一限制,即在等式两端同时求和有

$$ 1 = \sum_{k=1}^{K}\pi_k^{(t+1)} = \sum_{k=1}^{K}\frac{1}{\lambda}\sum_{i=1}^{N}\mathrm{P}(Z_i =k\mid X_i, \theta^{(t)}) $$

可以求出

$$ \lambda = \sum_{k=1}^{K}\sum_{i=1}^{N}\mathrm{P}(Z_i = k\mid X_i, \theta^{(t)}) $$

又由

$$ \sum_{k=1}^{K}P(Z_i=k \mid X_i, \theta^{(t)}) = 1 $$

所以可以得到,

$$ \lambda =\sum_{i=1}^{N} 1 = N $$

带入 (4),就可以求出更新后的 $\pi_k$

$$ \pi_k^{(t+1)} = \frac{1}{N}\sum_{i=1}^{N}\mathrm{P}(Z_i=k\mid X_i, \theta) $$

相似的其他迭代参数则更容易出,因为不需要考虑例如 (2)中的限制,

可通过对应的偏导求出:

$$ \mu_k^{(t+1)} = \frac{\sum_{i=1}^{N}\mathrm{P}(Z_i = k \mid X_i, \theta^{(t)})X_i}{\sum_{i=1}^{N}\mathrm{P}(Z_i=k\mid X_i, \theta^{(t)})} $$

$$ \sigma_k^{(t+1)}=\frac{\sum_{i=1}^N P\left(Z_i=k \mid X_i, \theta^{(t)}\right)\left(X_i-\mu_k^{(t+1)}\right)\left(X_i-\mu_k^{(t+1)}\right)^T}{\sum_{i=1}^N P\left(Z_i=k \mid X_i, \theta^{(t)}\right)} $$

Last One

Parseval 定理的数学推导

Parseval 描述信号在时域以及频域上有着相同的能量这一关系,数学表达为:\[\mathfrak{F}{\lbrace x(t) \rbrace} = X(f)\]\[\int\_{-\infty}^{\infty} \lvert x(t)\rvert ^2 \mathrm{d}t = \int\_{-\infty}^{\infty} \lvert X(f)\rvert ^2 \mathrm{d}f\]定义一组可以在时域与频域相互转换的信号关系式,为了证明这一点,分别表示在时域和频域上...…

cryoEMMore
Next One

卷积公式推导

卷积公式推导等价于推导两个相互独立随机变量函数的分布问题。以推导两函数和的分布关系如下:设 $\mathrm{X}$ 与 $\mathrm{Y}$ 函数符合联合分布,即 $(\mathrm{X}, \mathrm{Y})$ ~ $f(x, y)$,则 $\mathrm{Z} = \mathrm{X} + \mathrm{Y}$ 的概率密度为:$$f_{\mathrm{Z}}(z) = \int_{-\infty}^{+\infty}f(x, z-x)\mathrm{d}x$$由于联合分布概...…

数学More