重要性采样

重要性采样

前言

离散型随机变量 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)=x∈X∑[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=0∑n−1xi

连续型随机变量 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)=∫xx⋅f(x)dx

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

重要性采样

思想:如果已知随机变量 X ∼ p 0 X\sim p_0 X∼p0,在 p 0 p_0 p0下随机采样了一批数据 { x i } ∼ p 0 \{x_i\}\sim p_0 {xi}∼p0,现在要求随机变量 X ∼ p 1 X\sim p_1 X∼p1下的期望,则:
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)] EX∼p1[X]=x∑p1(x)⋅x=x∑p0(x)p0(x)p1(x)⋅x=EX∼p0[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

相关推荐
IT猿手2 天前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解GLSMOP1-GLSMOP9及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·算法·机器学习·matlab·强化学习
凳子花❀4 天前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
我爱C编程4 天前
基于Qlearning强化学习的机器人路线规划matlab仿真
matlab·机器人·强化学习·路线规划·qlearning·机器人路线规划
IT猿手6 天前
基于PWLCM混沌映射的麋鹿群优化算法(Elk herd optimizer,EHO)的多无人机协同路径规划,MATLAB代码
算法·elk·机器学习·matlab·无人机·聚类·强化学习
IT古董11 天前
【机器学习】机器学习的基本分类-强化学习(Reinforcement Learning, RL)
人工智能·机器学习·分类·强化学习
smartcat201014 天前
PPO系列3 - PPO原理
强化学习
IT猿手14 天前
强化学习路径规划:基于SARSA算法的移动机器人路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码
android·算法·机器学习·matlab·迁移学习·强化学习·多目标优化
smartcat201014 天前
PPO系列4 - Reward模型训练
强化学习
不去幼儿园14 天前
【强化学习】策略梯度---REINFORCE算法
人工智能·python·算法·机器学习·强化学习
不去幼儿园19 天前
【强化学习】策略梯度(Policy Gradient,PG)算法
人工智能·python·算法·机器学习·强化学习