机器学习小组知识点31:重要性采样(Importance Sampling )

重要性采样的历史要追溯到20世纪40年代,感兴趣的同学可以查看相关的文献。

接下来我们要介绍另一个重要的proposal distribution q(x) 使得他的支撑包含 p(x) 的支撑。
问题为求以下问题的积分:

I(f)=Xf(x)p(x)dx

那么,我们可以将其转化为
I(f)=Xf(x)w(x)q(x)dx

其中, w(x)=p(x)q(x) ,我们称 w(x) 为重要性权重。实际上,聪明的同学发现,就是啥都没变,引入了一个 q(x) 而已。但是,重要的是但是,如果我们根据 q(x) {xi}Ni=1 ,并且估计 w(x) ,那么蒙特卡洛估计 I(f) 就是
IN(f)=1Ni=1Nf(xi)w(xi)

以上的估计是无偏的,并且根据大数定律可知收敛到 I(f)

我们来考察一下上面的式子, p(x) f(x) 是确定的,我们要确定的是 q(x) 。要确定一个什么样的分布才会让采样的效果比较好呢?
直观的感觉是,样本的方差越小期望收敛速率越快。举个简单的例子比如一次采样是 0, 一次采样是 1000, 平均值是 500,这样采样效果很差,如果一次采样是 499, 一次采样是 501, 你说期望是 500,可信度还比较高。因此,我们很有必要研究相应的蒙特卡洛的方差:

varq(x)(f(x)w(x))=Eq(x)(f2(x)w2(x))I2(f)

上式中第二项不依赖于 q(x) ,因此我们只需要最小化第一项就可以。那么根据詹森不等式可知具有下界即
Eq(x)(f2(x)w2(x))(Eq(x)(|f(x)|w(x)))2=(|f(x)|p(x)dx)2

那么下界达到即等号成立当且仅当
q(x)=|f(x)|p(x)|f(x)|p(x)dx

尽管在实际中,上式很难拿取到,但是他告我们一个真理就是,当我们取样 p(x) 时候,应该是取 |f(x)|p(x) 相当大值,这样才有高效率的采样。
举个简单的例子:
机器学习小组知识点31:重要性采样(Importance Sampling )_第1张图片
第一个图表示 p(x) 分布, 第二个图的阴影区域 f(x)=1 ,非阴影区域 f(x)=0 , 那么一个良好的 q(x) 分布应该在左边箭头所指的区域有很高的分布概率,因为在其他区域的采样计算实际上都是无效的。这表明重要性采样有可能比用原来的 p(x) 分布抽样更加有效,而不是像我们想象的那样取
q(x)=p(x)
这样理想的情况那么完美。
但是同样的问题也会出现,随着 x 的维度上升,合适的 q(x) 很难再找到。

你可能感兴趣的:(机器学习)