为什么我们需要重要性抽样?

人工智能 强化学习 蒙特卡罗方法 策略外方法 重要性抽样
2021-10-19 05:17:33

我在研究off-policy策略改进方法。然后我遇到了重要性抽样我完全理解了计算背后的数学,但我想知道重要性采样的实际例子是什么。

例如,在一个视频中,据说我们需要计算一个有偏差的骰子的期望值,这里G(X),就公平骰子的期望值而言,F(X). 这是视频的截图。

在此处输入图像描述

当我们有偏差骰子的概率分布时,为什么我们需要它?

1个回答

当感兴趣的分布难以从中采样时,通常使用重要性采样 - 例如,从分布中抽取样本可能在计算上很昂贵 - 或者当分布仅知道乘法常数时,例如在贝叶斯统计中难以计算边际似然;那是

p(θ|X)=p(X|θ)p(θ)p(X)p(X|θ)p(θ)

在哪里p(X)是我们可能难以处理的边际可能性,因此我们无法计算完整的后验,因此必须使用其他方法从该分布生成样本。当我说棘手时,请注意

p(X)=θp(X|θ)p(θ)dθ

所以这里的棘手意味着要么a)积分没有解析解,要么b)计算这个积分的数值方法可能太昂贵而无法运行。

在您的骰子示例中,您可以通过分析计算偏置骰子的理论期望值是正确的,这可能是一个相对简单的计算。但是,为了激发重要性采样在这种情况下可能有用的原因,请考虑使用蒙特卡罗方法计算期望值。从 1-6 中均匀采样一个随机整数并计算重要性采样率会简单得多XG(X)F(X)而不是从偏差骰子中抽取样本,尤其是因为大多数编程语言都内置了随机抽样整数的方法。

由于您的问题被标记为强化学习,我将添加为什么它在 RL 领域有用。一个原因是,我们感兴趣的策略采样成本可能很高,因此我们可以只从其他一些简单的策略中生成动作,同时仍然了解感兴趣的策略。其次,我们可能对确定性(贪婪)但仍然能够探索的策略感兴趣,因此我们可以拥有一个探索更频繁的离策略分布。

注意:如果分布只知道一个常数,则可能不清楚如何使用重要性抽样,因此请参阅此答案以获得解释。