重要度采样 importance sampling

Neil Zhu,ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

Tim Roughgarden 有关重要度采样简要介绍

基本想法是我们可以基于分布 B 的样本来估计分布 A 的属性。有时候,A 和 B 是固定的,有时候我们可以设计分布 B 让我们使用比直接从 A 中采样更少的样本回答关于 A 的一些问题。这种做法通过让分布 B 给那些重要的元素更大的权重达成的。下面给个例子。
例子:假设我们想要估计人群的平均收入。我们知道收入的分布是长尾的。在分布头部的那些收入对平均收入有着巨大的影响。这个长长的尾巴会给我们带来一些困难——如果我们�从尾部获得不了任何的样本,那么最终的估计肯定会很差。我们需要获得足够多的样本来从尾部得到具有代表性的样本。

我们可以使用重要度采样:假设我们知道计算机科学家有超过平均水平的收入,计算机科学家占据 0.05 的人口比例。我们不会从人群中采样 n 个随机样本,假设我们取出来非计算机科学家为 0.8n 个样本,随机的计算机科学家是 0.2n 个样本。如果 a1 是非计算机科学家的平均收入,a2 是计算机科学家的平均收入,我们可以估计总人群的平均收入是:

这样做的好处是,通过从更高的收入人群中取出更多的样本,我们能够得到更好的关于尾部的估计。当然,最终的计算需要重新规范这两个样本使得最终的估计是无偏估计。

David Mackay 的解释

更加严格地看,如何确定通过过采样计算机科学家的样本的采样效果呢?这个结果并没有改变最终答案的期望值——仍然是无偏估计。好处是我们已经降低了估计的方差,通过聚焦我们的样本在分布的重要的部分上(对我们关注的属性更加重要的因素——这个例子中就是:估计均值)

重要度采样并不是一种从 P(x) 中产生样本;这只是一种估计一个函数 Φ(x) 的一种方法。它可以看做是均匀分布的一种推广。为了更好地解释这个方法思想。让我们假设目标分布式一个一维的密度函数 P(x)。假设我们可以在任一取定的点 x 处度量这密度,至少是相差一种乘子常量的比值;因此我们可以度量函数 P*(x) 满足

但是 P(x) 是一个特别复杂的函数,不能够直接从中采样。现在假设我们有一个更加简单的密度函数 Q(x),从中我们可以产生样本,并且直接以一个乘子对Q(x)进行求值,其中Q(x)=Q(x)/ZQ。举个例子,Q, P, Φ 如图 29.5 所示

重要度采样 importance sampling_第1张图片
图 29.5

我们称 Q(x) 为采样器密度。在重要度采样中,我们会从 Q(x) 中生成 R 个样本 {x(r)}r=1..R。如果这些点从 P(x) 中采样出来,我们可以根据下式估计 Φ

但是我们在从 Q(x) 中产生的样本时,那些 Q(x) 中 x 的值超过 P(x) 的地方会被在此估计器重超表示(over-represented),而在 Q(x) 中 x 的值低于 P(x) 的地方欠表示。为了将这个情况克服掉,我们引入了权重的概念:

这个被用来调整每个点的重要度:

参考文献:

  1. https://timvieira.github.io/blog/post/2014/12/21/importance-sampling/

Drawbacks: The main drawback of importance sampling is variance. A few bad samples with large weights can drastically throw off the estimator. Thus, it's often the case that a biased estimator is preferred, e.g., estimating the partition function, clipping weights, indirect importance sampling. A secondary drawback is that both densities must be normalized, which is often intractable.

  1. http://www.iro.umontreal.ca/~lisa/pointeurs/senecal_aistats2003.pdf

�神经网络语言模型可以解决统计语言模型中的维度灾难问题。通过最大似然来训练模型本身需要对词表中的每个词作为样本执行一遍网络的传播。受到 contrastive divergence 模型的启发,我们提出了一种基于采样的方法,仅仅需要对那些观测为正例和采样为负例的样本词进行网络的传播。通过可适应的重要度采样得到了显著的性能提升。

  1. www.cs.toronto.edu/~mackay/itprnn/ps/358.386.pdf
  2. http://www.columbia.edu/~mh2078/MCS04/MCS_var_red2.pdf
  3. http://www.cs.toronto.edu/~rsalakhu/papers/atten_nips14.pdf
  4. http://www.smarttypes.org/blog/deep_learning

你可能感兴趣的:(重要度采样 importance sampling)