重要性采样是统计学习中一种常用的方法。在强化学习中通常和蒙特卡洛方法结合使用。
重要性采样是,使用另外一种分布来逼近所求分布一种方法。
具体形式是这样的:假设我们在想要求取目标分布PPP下函数f(x)f(x)f(x)的分布,如果可以对PPP采样,采用蒙特卡洛方法,我们可以有如下计算:
Ex∼P[f(x)]=∫xP(x)f(x)dx≈1N∑xi∼P,i=1Nf(xi)E_{x\sim P}[f(x)]=\int_xP(x)f(x)d_x\approx \frac{1}{N}\sum_{x_i\sim P,i=1}^Nf(x_i)Ex∼P[f(x)]=∫xP(x)f(x)dx≈N1xi∼P,i=1∑Nf(xi)
通过大量采样可以近似表示期望。
但是若我们无法对PPP进行采样,那么这个近似计算就无法进行,那么我们可以借用可以进行采样的分布P′{P}'P′来近似PPP.公式如下:
Ex∼P[f(x)]=∫xP(x)f(x)dx=Ex∼P′[PP′f(x)]≈1N∑xi∼P′,i=1NP(x)P(x)′f(x)E_{x\sim P}[f(x)]=\int_xP(x)f(x)d_x=E_{x\sim {P}'}[\frac{P}{{P}'}f(x)]\approx \frac{1}{N}\sum_{x_i\sim {P}',i=1}^N \frac{P(x)}{{P(x)}'} f(x)Ex∼P[f(x)]=∫xP(x)f(x)dx=Ex∼P′[P′Pf(x)]≈N1xi∼P′,i=1∑NP(x)′P(x)f(x)
注意这里是根据分布P′{P}'P′来进行采样的。
这里我们举一个例子:我们要求在均值为1,标准差1的正太分布下函数f(x)=xf(x)=xf(x)=x的期望,我们使用均值为1,标准差为0.5的正太分布来采样逼近这个期望。我们通过对均值为1,标准差为0.5的正太分布进行多次采样,每次采样计算P(x)P(x)′f(xi) \frac{P(x)}{{P(x)}'} f(x_i)P(x)′P(x)f(xi),并求和再求均值,比如我们只进行了两次采样,分别采样得到,1.09和2.36,则计算如下:
(0.39730.78511.09+0.15820.01972.36)/2=0.7517(\frac{0.3973}{0.7851} 1.09+\frac{0.1582}{0.0197} 2.36)/2=0.7517(0.78510.39731.09+0.01970.15822.36)/2=0.7517