重要性采样简述

重要性采样(Importance Sampling)是统计学中的一种采样方法。它主要用于一些难以直接采样的数据分布上。假设有一个很复杂的概率密度函数 p(x) p ( x ) ,求解随机变量基于此概率下的某个函数期望,即

Exp(x)[f(x)] E x ∼ p ( x ) [ f ( x ) ]

如果采用解析法:
Exp(x)[f(x)]=xp(x)f(x)dx E x ∼ p ( x ) [ f ( x ) ] = ∫ x p ( x ) f ( x ) d x

如果 f(x) f ( x ) 的形式非常复杂,直接求解变得非常困难。另一种解法是采用蒙特卡洛法。当采样的数量足够大时,采样的样本就可以无限接近原分布,基于此思想,求解公式变为:
Exp(x)[f(x)]=1Nxip(x),i=1Nf(xi) E x ∼ p ( x ) [ f ( x ) ] = 1 N ∑ x i ∼ p ( x ) , i = 1 N f ( x i )

采样数量越多,近似效果越好,这也符合大数定理的解释。

当我们采样的时候遇到一些非常奇怪的概率分布,采样可能会遇到困难。比如说由深度神经网络构成的概率密度函数,我们只能通过输入给定的样本得到它的概率。这时重要性采样就派上用场了。令待采样的分布为 p(x) p ( x ) ,另一个简单的定义域与 p(x) p ( x ) 相同的分布为 p~(x) p ~ ( x ) ,我们可以得到

Exp(x)[f(x)]=xp(x)f(x)dx=xp~(x)p(x)p~(x)f(x)dx=Exp~(x)[p(x)p~(x)f(x)]1Nxip~(x),i=1Np(x)p~(x)f(x) E x ∼ p ( x ) [ f ( x ) ] = ∫ x p ( x ) f ( x ) d x = ∫ x p ~ ( x ) p ( x ) p ~ ( x ) f ( x ) d x = E x ∼ p ~ ( x ) [ p ( x ) p ~ ( x ) f ( x ) ] ≃ 1 N ∑ x i ∼ p ~ ( x ) , i = 1 N p ( x ) p ~ ( x ) f ( x )

此时我们发现我们只需要从这个简单的分布 p~(x) p ~ ( x ) 中进行采样,然后分布计算样本在两个分布中的 概率和函数值即可。

当然我们也不能太乐观,选择一个合适的采样分布对重要性采样尤为重要。要选择与原始分布尽可能接近的近似分布进行采样。有关重要性采样在强化学习中的应用请参考此文。

你可能感兴趣的:(Reinforcement,Learning,统计学,强化学习)