第十七章 蒙特卡罗方法
2020-4-4 深度学习笔记17 - 蒙特卡罗方法 1 (采样和蒙特卡罗方法-必要性和合理性)
重要采样Importance Sampling–最优条件下采样
先来个通俗易懂的,转自https://zhuanlan.zhihu.com/p/41217212
我们已经了解的蒙特卡洛采样,估计的积分 s = ∫ p ( x ) f ( x ) d x = E p [ f ( x ) ] s=∫p(x)f(x)dx=E_p[f(x)] s=∫p(x)f(x)dx=Ep[f(x)],如果采样是均匀的,即如下图所示:
估计方法随着取样数的增长而越发精确,那么有什么方法能够在一定的抽样数量基础上来增加准确度,减少方差呢?这就需要我们人为地对抽样的分布进行干预,首先我们看下图:
很明显在圆形区域的函数值对积分的贡献比方形区域要大很多,所以我们可以在抽样的时候以更大的概率抽取圆形区域的样本,这样一来就能够提高估计的准确度。
假设我们以分布 p ( x ) p(x) p(x)在原函数上进行采样,依照这个分布进行采样我们一定程度上可以使得在原函数 f ( x ) f(x) f(x)对积分贡献大的区域获得更多的采样机会。
但这时我们不能对 f ( x 1 ) , f ( x 2 ) , . . . f ( x n ) {f(x_1),f(x_2),...f(x_n)} f(x1),f(x2),...f(xn)进行简单的求和平均来获得估计值,因为此时采样不是均匀分布的,小矩形的“宽”并不等长,所以我们要对其进行加权,这个权重就是重要性权重。
那么为什么我们要引入一个新的分布 p ( x ) p(x) p(x)?
原因就是原函数 f ( x ) f(x) f(x)也许本身就是定义在一个分布之上的,定义这个分布为 π ( x ) \pi(x) π(x)。我们无法直接从 π ( x ) \pi(x) π(x)上进行采样,所以另辟蹊径重新找到一个更加简明的分布 p ( x ) p(x) p(x),从它进行取样,希望间接地求出 f ( x ) f(x) f(x)在分布 π ( x ) \pi(x) π(x) 下的期望。
注意:这里的 π ( x ) \pi(x) π(x)其实就是《机器学习》中的 p ( x ) p(x) p(x),而这里的 p ( x ) p(x) p(x)是《机器学习》一文中的 q ( x ) q(x) q(x)
回到本文开头的公式,函数 f ( x ) f(x) f(x) 在概率分布 π ( x ) \pi(x) π(x)下的期望为 s = ∫ π ( x ) f ( x ) d x = E π [ f ( x ) ] s=∫\pi(x)f(x)dx=E_\pi[f(x)] s=∫π(x)f(x)dx=E