当前位置: 首页 > news >正文

重要性采样

重要性采样

前言

离散型随机变量 X X X,我们可以通过以下方法求取其期望:

  1. 直接计算法,需要知道概率分布:
    E ( X ) = ∑ x ∈ X [ p ( x ) ⋅ x ] \mathbb{E}(X)=\sum_{x\in X}\left[p(x)\cdot x\right] E(X)=xX[p(x)x]

  2. 采样计算,这时即使 X X X概率分布未知,依据大数定律,当采样次数够大时,仍然可以求取期望
    E ( X ) = 1 n lim ⁡ n → + ∞ ∑ i = 0 n − 1 x i \mathbb{E}(X)=\frac{1}{n}\lim_{n\to +\infty}\sum_{i=0}^{n-1} x_i E(X)=n1n+limi=0n1xi

连续型随机变量 X X X

  1. 直接计算,需要 f f f表达式

E ( X ) = ∫ x x ⋅ f ( x ) d x \mathbb{E}(X)=\int_x x\cdot f(x)dx E(X)=xxf(x)dx

  1. 抽样(蒙特卡洛积分估计),这里不多做介绍

重要性采样

思想:如果已知随机变量 X ∼ p 0 X\sim p_0 Xp0,在 p 0 p_0 p0下随机采样了一批数据 { x i } ∼ p 0 \{x_i\}\sim p_0 {xi}p0,现在要求随机变量 X ∼ p 1 X\sim p_1 Xp1下的期望,则:
E X ∼ p 1 [ X ] = ∑ x p 1 ( x ) ⋅ x = ∑ x p 0 ( x ) p 1 ( x ) p 0 ( x ) ⋅ x = E X ∼ p 0 [ f ( X ) ] \mathbb{E}_{X\sim p_1}[X]=\sum_x p_1(x)\cdot x=\sum_x p_0(x) \frac{p_1(x)}{p_0(x)}\cdot x=\mathbb{E}_{X\sim p_0}[f(X)] EXp1[X]=xp1(x)x=xp0(x)p0(x)p1(x)x=EXp0[f(X)]
那么就有如下几个问题:

  1. 对于离散型随机变量,为什么 p 1 ( x ) p_1(x) p1(x)已知,不直接计算期望呢?

    • 因为有时候我们已经根据 p 0 p_0 p0采样了一些数据,再用 p 1 p_1 p1重新采样计算一遍,会增加很多计算量。
    • 因为有些时候不方便对 p 1 p_1 p1采样
    • 在强化学习中,我们根据一个策略采样,通过重要性采样可以求出另一个策略的期望,是一种On Policy向Off Policy转换的思想。
  2. 对于连续型随机变量,为什么 p 1 ( x ) p_1(x) p1(x)已知,不直接计算期望呢?

    理论上不可能完全求出概率密度函数,所以无法从理论上计算期望,只能估计。

    例如,如果我们通过神经网络来表示 f f f,那么对任意的输入 x x x,我们都可以求出 f ( x ) f(x) f(x),但是这并不代表我们求出 f f f的函数表达式,更无法进一步求积分。我们只是能从数值上计算出 f ( x ) f(x) f(x),神经网络本身就是一个黑盒。

综上所述,重要性采样使得我们能够从behavior policy采样,然后去估计target policy的期望,从而使得On Policy的算法转换为Off Policy

http://www.lryc.cn/news/154590.html

相关文章:

  • 说说Omega架构
  • 高忆管理:光刻胶概念强势拉升,同益股份、格林达涨停
  • 计算机图形学线性代数相关概念
  • 开源PHP 代挂机源码,可对接QQ、网易云、哔哩哔哩、QQ空间、等级加速等等
  • 【仿牛客论坛java项目】第五章 Kafka,构建TB级异步消息系统:阻塞队列、Kafka入门、Spring整合Kafka、发送系统通知、显示系统通知
  • 【AIGC专题】Stable Diffusion 从入门到企业级实战0401
  • Matlab信号处理1:模拟去除信号噪声
  • Bootstrap的行、列布局设计(网络系统设计)
  • 1.1 计算机网络在信息时代中的作用
  • mysql CONCAT使用
  • maven基础学习
  • uniapp移动端地图,点击气泡弹窗并实现精准定位
  • 2023牛客暑期多校训练营7 CI「位运算」「根号分治+容斥」
  • YOLOv5算法改进(10)— 替换主干网络之GhostNet
  • Android Canvas的使用
  • AI批量写文章伪原创:基于ChatGPT长文本模型,实现批量改写文章、批量回答问题(长期更新)
  • git常用场景记录 | 拉取远程分支A合并到本地分支B - 删除上一次的commit
  • 源码角度解析SpringBoot 自动配置
  • 【原创】H3C路由器OSPF测试
  • 计算机视觉:轨迹预测综述
  • 三维跨孔电磁波CT数据可视化框架搭建
  • OC和Swift混编,导入头文件‘xxx-Swift.h‘ file not found
  • 一文读懂HOOPS Native平台:快速开发桌面端、移动端3D应用程序!
  • Scrum工作模式及Scrum工具
  • [ros][ubuntu]ros在ubuntu18.04上工作空间创建和发布一个话题
  • 我的区块链笔记
  • Spring事务(ACID特性、隔离级别、传播机制、失效场景)
  • 机器学习笔记之最优化理论与方法(六)无约束优化问题——最优性条件
  • E5061B/是德科技keysight E5061B网络分析仪
  • 2.4 PE结构:节表详细解析