参考:

https://zhuanlan.zhihu.com/p/41217212

https://zhuanlan.zhihu.com/p/78720910?utm_source=wechat_session

Importance Sampling(以下简称IS)

IS是基于采样的,也就是基于所谓的蒙特卡洛法(Monte Carlo)。而MC,是一个利用随机采样对一个目标函数做近似,比如在强化学习的model-free中,通过MC方法去估计动作值函数Q,其就是个关于衰减累计奖励的期望。

概率论基本知识

数学期望(均值)EX表示对随机变量X的估计,其完全由R.V的分布决定,随机变量X服从某一分布,就称EX是这个分布下的数学期望。

离散R.V的期望定义:,其中p为概率。

连续R.V的期望定义:,其中f为概率密度。

矩估计:就是在某个分布下采样得到的采样的样本值求平均(样本均值)来近似估计这个分布下总体的期望。根据大数定律,采样的样本越多,其样本均值越接近于期望的真实值,即均值。

采样的目的:为了求取随机变量f(X)在某个分布p(x)下的期望,即,展开就是。我们就需要在p(x)的分布下多多采样{x1,x2,x3,x4..xi....xN},然后求其样本均值来估计我们期望。当然,我们的采样是有限的,不能达到大数定律的条件,故样本均值与期望的真实值存在bias(偏差)。

IS的引入

直接求样本均值的方式简单直接,但是其存在一定的局限性,就是在p(x)为均匀分布下没啥问题,但如果说采样的每个x值概率不都一样,那么直接求均值就会引入很大的bias。

举个栗子:

某校男生1000人,女生5000人,且男生均比女生高,我们为了估计该校学生的平均身高,就必须进行采样(不然一个个去测量,然后求平均太费时费力了)。但是采样的时候,其中4950个女生由于某种原因不能参加,所以只能在1000个男生,50个女生中采样。如果这时候通过采样求取平均的方式,首先男生有约95%的概率抽到,女生仅仅5%,故比如说最后抽100个求平均,那么其结果肯定是偏离真实值的,也就是bias会很大,其本质原因是非均匀采样导致的。那咋办呢,现实条件就摆在这儿。这时候就要引入修正因子:重要性采样权重。通过加权的方式来修正,用先前分布比上新的分布,=,即男生算1分,女生算100分。

重要性采样

数学原理:

假设目前我们的分布是π(x),,但是这个分布不方便使用或者说该分布不适合采样,会引入较大的bias,那么我们就提供一种新的分布p(x)。

接下来改写积分内的式子为:,那么根据期望的定义:,这个式子意思是在分布X~p(x)上的数学期望。我们在p(x)上采样{x1,x2,x3,x4..xi....xN},然后通过求取样本均值就可以估计出在p(x)分布下随机变量f(X)的数学期望

其中,重要性采样修正因子

接下来我们来看看IS的作用:改变分布来改善期望

如上图左图所示,在原分布p(x)下采样的话,那么大概率会使得f(xi)很小,那么通过求取样本均值的方式会造成f(x)的数学期望估计值很低,也就是说这个分布下估计出的值造成的偏差会很大。

那么我们的IS通过引入新的分布q(x)可以进行改善。具体的,q(x)的分布使得我们的采样值聚集在中间区域,当采样的x值,比如X1,造成f比较大时,此时通过修正因子的作用,使得整体的值变小,以防高于期望的真实值太多;当采样的x值,比如X5,造成f比较小时,此时通过修正因子的作用,是整体的值变大,以防低于期望的真实值太多。

重要性采样的缺陷

重要性采样可以改变原来的旧分布,用新的分布去采集样本,然后求出目标期望,上述证明显示两者理论上是等价的,但是等价他有个前提条件:就是2个分布不能相差太大。换句话说,如果2个分布相差过大,那么两者就不会相等,这就是IS的缺陷。

为啥两个分布不能相差太大呢?

IS确实可以让2个分布产生一个期望,但是期望相等并不代表方差相等。如上图红框所示,如果2者相差过大,就会导致双方的方差Varience过大。而当采样数据不足够时,方差相差太大会导致两者的样本均值相差很大!

举个栗子说明:

如上图所示,p(x)和q(x)分别是旧分布和新布,两者相差很大,f(x)是我们的估计对象。

如果采样不足够:

如果我们按p(x)采样,那么很大概率采样到的都是左边的值,那么这个样本均值将会是负的值,而且负的还比较大。

如果我们按q(x)采样,那么很大概率采样到的都是右边的值,那么这个样本均值将会是正的值,而且正的不太大。因此我们看出两者相差还是挺大的。

如果采用足够:

那么如果我们按q(x)采样,那么就会采到左边的值,这个值一算的话是负得很厉害的,因此和右边的一加,估计就和按p(x)采样的结果差不多了。

这就是重要性采样的一个需要注意的点。

总结:

通过重要性采样的方式,可以改善原分布下偏差较大的影响,其中修正因子起了调节的作用。

重要性采样的实质是按照两个分布对函数f进行了加权。

重要性采样的用处在于对于原分布下不太好求解的情况下,把问题转移到在另一个分布下求解期望。

重要性采样要发挥作用,得保证新旧两个分布相差不要太离谱。

Note:这里的重要性采样不等同于强化学习中Priortized experience replay中的重要性采样,两个概念不一致。

重要性采样Importance Sampling相关推荐

  1. 重要性采样(Importance Sampling)简介和简单样例实现

    重要性采样(Importance Sampling)简介和简单样例实现 在渲染领域,重要性采样这个术语是很常见的,但它究竟是什么呢?我们首先考虑这样的一种情况: 如果场景里有一点P,我们想计算P点的最 ...

  2. 重要性采样(Importance Sampling)详细学习笔记

    重要性采样(Importance Sampling)详细学习笔记 文章目录 重要性采样(Importance Sampling)详细学习笔记 前言: 参考主体: on-policy 和 off-pol ...

  3. 图形学数学基础之重要性采样(Importance Sampling)

    作者:i_dovelemon 日期:2017/08/06 来源:CSDN 主题:Importance Sampling, PDF, Monte Carlo 引言 前面的文章[图形学数学基础之基本蒙特卡 ...

  4. matlab重要性采样,Importance Sampling (重要性采样)介绍 | 文艺数学君

    摘要这一篇是关于重要性抽样(importance sampling)的介绍, 包括他的背景知识, 相关的数学转换和最后的例子. 简介 重要性抽样(importance sampling)是一种近似的抽 ...

  5. 重要性采样(importance sampling)

    重要性采样是统计学习中一种常用的方法.在强化学习中通常和蒙特卡洛方法结合使用. 重要性采样是,使用另外一种分布来逼近所求分布一种方法. 具体形式是这样的:假设我们在想要求取目标分布PPP下函数f(x) ...

  6. python求pai的近似值_PR Sampling Ⅰ: 蒙特卡洛采样、重要性采样及python实现

    刘浚嘉:PR:机器人学的概率方法学习路径​zhuanlan.zhihu.com PR 采样分章 第一节:蒙特卡洛采样.重要性采样 引言 还记得我们之前学过的贝叶斯推断吗? 刘浚嘉:PR Ⅱ:贝叶斯估计 ...

  7. 蒙特卡洛采样_PR Sampling : 蒙特卡洛采样、重要性采样及python实现

    作者:刘浚嘉 专栏地址:https://www.zhihu.com/column/c_1188392852261134336 引言 还记得我们之前学过的贝叶斯推断吗?https://zhuanlan. ...

  8. python实现采样函数_PR Sampling Ⅰ: 蒙特卡洛采样、重要性采样及python实现

    刘浚嘉:PR:机器人学的概率方法学习路径​zhuanlan.zhihu.com PR 采样分章 第一节:蒙特卡洛采样.重要性采样 引言 还记得我们之前学过的贝叶斯推断吗?刘浚嘉:PR Ⅱ:贝叶斯估计/ ...

  9. 粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样序贯重要性采样SIS)

    粒子滤波 particle filter -从贝叶斯滤波到粒子滤波-Part-III(重要性采样&序贯重要性采样SIS) 原创不易,路过的各位大佬请点个赞 机动目标跟踪/非线性滤波/传感器融合 ...

最新文章

  1. unity开发小贴士之八 Audio使用心得
  2. 输入今天是星期几的序号,给今天和昨天赋予枚举值,并输出昨天是星期几的枚举值
  3. CUDA遇到在VS创建的项目运行报C1041错误
  4. Python 元组遍历排序操作方法
  5. 图片三:numpy制作雪碧图(如何将多个图片拼接成一张图片)
  6. 华为30pro什么时候能升鸿蒙,荣耀30Pro、荣耀30Pro+什么时候升级鸿蒙系统 荣耀30Pro、荣耀30Pro+怎么升级鸿蒙系统...
  7. Kotlin实战指南一:集合
  8. javaScript学习笔记之比较运算符||逻辑运算符||条件运算符(三目运算符)
  9. 蒙了吗?offsetLeft、offsetWidth、scrollTop、scrollWidth、event.pageX
  10. pkill mysql_centos下kill、killall、pkill命令区别
  11. AD19妙用SHIFT+S查找没连的线
  12. TCP/IP的全部IP协议号
  13. centos 7 修改ip
  14. Java_银行排队叫号系统
  15. linux发行版本中 图形方式的运行级,在大多数 Linux 发行版本中,图形方式的运行级定义为?...
  16. vsftpd 配置-使用虚拟账户登录
  17. 【西瓜书】决策树ID3算法
  18. 计算机程序设计流程图循环,流程图无限循环怎么画流程图循环结构怎么画
  19. 苹果屏蔽更新描述文件_无需越狱,屏蔽 iOS 更新的描述文件来了
  20. 优化函数 (Optimization Function)

热门文章

  1. 软件模拟股票高抛低吸后各参数变化
  2. application reload
  3. babylon.js 学习
  4. 全国第四轮学科评估结果(汇总)
  5. 思科网络模拟器安装与使用
  6. 大规模集成电路计算机内存是,大规模集成电路测试技术
  7. oauth2.0 注销登录再次访问authorize授权接口会跳过登录页面问题解决
  8. 计算机应用技术与土木工程,土木工程计算机应用技术4月试题及答案.doc
  9. MQ消息的自动应答和手动应答| RabbitMQ系列(三)
  10. 八大排序算法 —— 归并排序