On this page

    随机近似的核心:蒙特卡洛

    随机近似⽅法的核⼼是蒙特卡洛⽅法,主要是⽤采样的⽅式来进⾏随机近似,来实现数值积分等⽬标。

    例如我们要求函数$f(Z)$关于分布$p(Z \mid X)$的期望,从期望的定义我们知道,求期望的本质就是求积分:

    \[E_{z \mid x}(f(z)) = \int_z p(z \mid x)f(z)dz\]

    但是这个积分往往是非常难求的, 而随机近似的方法核心就是蒙特卡洛方法, 它用采样的方法来实现数值积分的目标。

    首先我们从原始分布$p(z \mid x)$中采样出$N$个样本点:

    \[z^{(1)}, z^{(2)}, z^{(3)}, ..., z^{(N)} \thicksim p(z \mid x)\]

    然后依据大数定律,用样本均值来模拟积分的真实结果:

    \[\frac{1}{N} \sum_{i=1}^{N} f(z^{(i)}) \approx \int_z p(z \mid x)f(z)dz\]

    如果我们直接令这个函数$f(z) = z$ ,那么通过上述⽅法求出的就是分布$p(z \mid x)$的期望。

    这种基于蒙特卡洛⽅法的近似⽅法,思想上⾮常简单直观,但是其中有⼀个问题⽬前看上去⽆法跨越:那就是如果$p(z \mid x)$⽐较复杂,我们似乎很难直接从中采样出服从概率分布的⼀组样本点。

    于是,为了解决这个问题,就派⽣出了两种⽅案,⼀个称之为接受—拒绝采样,⼀个称之为是重要性采样。

    它们都是基于⼀个事实,那就是⽬标分布$p(z)$⽆法直接采样,而我们引⼊⼀个提议分布$q(z)$,这个分布可以是任意的,⽐如均匀分布、⾼斯分布等等,怎么好 采样就怎么来。

    实践 1:接受—拒绝采样

    对于⽬标分布$p(z)$,难以直接对其采样,那么我们引⼊⼀个易于采样的提议分布$q(z)$,并且寻找到⼀个常数$M$,使得对于任意的样本$z_i$, 都能够满足:$Mq(z_i) \geq p(z_i)$。

    我们首先引入一个接受率参数: $\alpha = \frac{p(z^{(i)})}{Mq(z^{(i)})}$, 由于我们使得$Mq(z_i) \geq p(z_i)$, 因此这个接受率参数$\alpha$一定满足: $0 \leq \alpha \leq 1$。

    假设我们要采样 N 个服从$p(z)$⽬标分布的样本点,那么采样的过程如下:

    循环往复 N 次之后,样本集 list 中的所有的样本点,近似地就服从⽬标分布$p(z)$了。

    这种采样的⽅法⾮常简单,但显然也存在着问题,那就是采样的效率⾮常依赖于提议分布$q(z)$的选择,因为只有当我们的接受率越⾼的时候,才意味着⽆效的采样次数越少,整个采样过程中丢弃的样本点就越少,采样 效率就越⾼。

    而从数值上来说,只有当 $Mq(z)$越接近$p(z)$的情况下,接受率就越⾼,但是由于我们并不清楚⽬标分布$p(z)$的分布形态,因此选取⼀个好的提议分布往往是困难的。

    实践 2:重要性采样

    第⼆种⽅法我们称之为是重要性采样,⽤它主要是为了获取⽬标分布$p(z)$的期望。同样的, $p(z)$是⼀个我们难以直接进⾏样本采样的分布,我们引⼊⼀个适合采样的建议分布$q(z)$,下⾯我们来看看如何求得函数$f(z)$关于⽬标分布$p(z)$的期望:

    \[E_{p(z)}[f(z)] = \int p(z)f(z)dz = \int \frac{p(z)}{q(z)}f(z)q(z)dz\]

    此时我们就可以换⼀个视⻆去看待这个问题,这个式⼦可以看做是求$\frac{p(z)}{q(z)}f(z)$这整个式⼦关于提议分布$q(z)$的期望,这个转换意义⾮常⼤,由此我们可以通过从提议分布$q(z)$中抽取⼀系列样本点,$z_i \thicksim q(z)$:

    \[z_1, z_2, z_3, z_4, ..., z_N\]

    利用大数定律, 实现期望值的近似:

    \[\frac{1}{N} \sum_{i=1}^N f(z_i)\frac{p(z_i)}{q(z_i)} \approx \int \frac{p(z)}{q(z)}f(z)q(z)dz\]

    如果仅仅是样本Z的期望, 那么直接让$f(z) = z$就可以了。

    重要性采样的“重要”二字, 指的就是$\frac{1}{N}\sum_{i=1}^N f(z_i)\frac{p(z_i)}{q(z_i)}$中每一个$f(z_i)$所对应的权重$\frac{p(z_i)}{q(z_i)}$, 但是在重要性采样的过程中,同样涉及到提议分布的选择过程,选择一个与目标分布$p(z)$相似程度高的提议分布,是保证采样效率高的一个前提条件。

    总结

    上⾯介绍的两类基于蒙特卡洛的采样⽅法,其获取样本的底层逻辑是基于⼀个提议分布的随机采样,⼤多数情况下很难选择 ⼀个合适的提议分布$q(z)$,往往会造成采样的效率⾮常低,关键点就在于如何更好地获得⼀组样本,因为获取样本之后的操作都是基于⼤数定理去逼近期望,都是⼀样的了。