【拒绝采样】公式解析

在拒绝采样中,我们用以下公式表示给定 Y Y Y 的条件下的接受率:

P ( a c c e p t ∣ Y ) = P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(accept|Y)=P(U< \frac{f(Y)}{cg(Y)}|Y ) = \frac{f(Y)}{cg(Y)} P(acceptY)=P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

接受率的作用

那么,这个接受率有什么用呢?简单来说,如果 P ( a c c e p t ∣ Y ) P(accept|Y) P(acceptY) 的值较高,这意味着更多的样本会被接受,而拒绝采样的效率也会相应提高。相反,如果这个概率很低,那么很多样本会被拒绝,这会降低采样的效率。

总结有以下四点作用:

  1. 保证正确的分布:当我们从建议分布 g ( Y ) g(Y) g(Y) 中取样时,我们并不直接取得来自 f ( Y ) f(Y) f(Y) 的样本。通过拒绝策略,我们可以纠正这个偏差。 P ( a c c e p t ∣ Y ) P(accept|Y) P(acceptY)允许我们对每个样本进行校准,确保最终的样本集遵循 f ( Y ) f(Y) f(Y)

  2. 效率评估:理想情况下,我们希望拒绝的样本尽可能少,这样采样过程就会更高效。如果 P ( a c c e p t ∣ Y ) P(accept|Y) P(acceptY)很低,这意味着我们经常拒绝样本,可能需要考虑选择更好的提议分布 g ( Y ) g(Y) g(Y)

  3. 理解权重:考虑到 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y),我们实际上是在比较目标分布和提议分布在特定值 Y Y Y处的权重。这有助于我们理解两者之间的关系,以及我们需要多大的调整才能从 g ( Y ) g(Y) g(Y)获得 f ( Y ) f(Y) f(Y)的样本。

  4. 优化常数 c c c:为了使拒绝采样方法有效,我们选择 c c c使得 c × g ( Y ) c \times g(Y) c×g(Y)总是大于或等于 f ( Y ) f(Y) f(Y)。理想情况下,我们希望 c c c越小越好,以减少拒绝的可能性。知道 P ( a c c e p t ∣ Y ) P(accept|Y) P(acceptY) 可以帮助我们调整 c c c 的值。

公式解析

采用拒绝采样(Rejection Sampling)时,我们的目的是从一个复杂的分布 f ( Y ) f(Y) f(Y)中抽样,但直接从 f ( Y ) f(Y) f(Y)中抽样可能是困难的或计算量太大。为了解决这个问题,我们使用一个简单的提议分布 g ( Y ) g(Y) g(Y) 来辅助采样,其中 g ( Y ) g(Y) g(Y)是我们容易抽样的分布。

然而,我们不能直接从 g ( Y ) g(Y) g(Y)中取样然后假设它是从 f ( Y ) f(Y) f(Y)中取得的。为了确保最后的样本遵循 f ( Y ) f(Y) f(Y)的分布,我们使用了拒绝策略。具体步骤如下:

  1. 选择一个常数 c c c,使得 c × g ( Y ) c \times g(Y) c×g(Y)在所有 Y Y Y上都大于等于 f ( Y ) f(Y) f(Y)
  2. g ( Y ) g(Y) g(Y)中抽取一个样本 y y y
  3. 从均匀分布 U ( 0 , 1 ) U(0,1) U(0,1)中生成一个随机数 U U U
  4. 如果 U < f ( y ) c × g ( y ) U < \frac{f(y)}{c \times g(y)} U<c×g(y)f(y),则接受样本 y y y;否则,拒绝 y y y并回到步骤2。

现在,来解释给定的公式:
P ( a c c e p t ∣ Y ) = P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(accept|Y)=P(U< \frac{f(Y)}{cg(Y)}|Y ) = \frac{f(Y)}{cg(Y)} P(acceptY)=P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

这个公式描述了给定一个样本 Y Y Y的情况下,它被接受的概率。

1. P ( a c c e p t ∣ Y ) P(accept|Y) P(acceptY):这是给定样本 Y Y Y的情况下,它被接受的概率。

2. P ( U < f ( Y ) c g ( Y ) ∣ Y ) P(U< \frac{f(Y)}{cg(Y)}|Y ) P(U<cg(Y)f(Y)Y):这表示,给定样本 Y Y Y的情况下,随机数 U U U小于 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y)的概率。

3. f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y):这是接受 Y Y Y的实际概率。直观地说,这比较了我们真正感兴趣的目标分布 f ( Y ) f(Y) f(Y)和调整后的提议分布 c × g ( Y ) c \times g(Y) c×g(Y)之间的关系。如果 f ( Y ) f(Y) f(Y)在某个点 Y Y Y的值很高,而 g ( Y ) g(Y) g(Y)的值相对较低,那么这个比率就会接近1,这意味着在这个点上几乎总是接受样本。

简而言之,该公式描述了在拒绝采样过程中,给定一个样本 Y Y Y时接受它的概率。

更直观的解释

拒绝采样的基本步骤

  1. 从易于采样的分布 g ( Y ) g(Y) g(Y)中取样。
  2. 使用均匀分布 U ∼ U ( 0 , 1 ) U \sim U(0,1) UU(0,1)生成一个随机数 U U U
  3. 如果 U < f ( Y ) c g ( Y ) U < \frac{f(Y)}{cg(Y)} U<cg(Y)f(Y),接受样本 Y Y Y,否则拒绝。

在上面的步骤中,我们实际上是通过比较 U U U f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y) 来决定是否接受样本 Y Y Y

现在,让我们看看给定 Y Y Y U U U 小于 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y)的概率是多少?

因为 U U U是从均匀分布 U ( 0 , 1 ) U(0,1) U(0,1)中取的,所以:
P ( U < x ) = x P(U < x) = x P(U<x)=x 其中 0 ≤ x ≤ 1 0 \leq x \leq 1 0x1。(这里看不懂的话,见下一节【均匀分布的基本属性】)

在我们的情境下,我们想知道 U U U小于 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y)的概率,所以:
P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(U < \frac{f(Y)}{cg(Y)}|Y) = \frac{f(Y)}{cg(Y)} P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

这个公式实际上就告诉我们,给定 Y Y Y,接受样本的概率是多少。而这恰好等于 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y),因此:
P ( a c c e p t ∣ Y ) = f ( Y ) c g ( Y ) P(accept|Y) = \frac{f(Y)}{cg(Y)} P(acceptY)=cg(Y)f(Y)

更直观地,可以想象成你正在尝试从一个小山丘( f ( Y ) f(Y) f(Y))上采样,但你只有一个大山丘的工具( c g ( Y ) cg(Y) cg(Y))。为了确保你的样本仍然来自小山丘,你会按照小山丘与大山丘的比例接受或拒绝样本。如果你在小山丘的高点,那么你更有可能接受那个点,而如果你在低点,你就更有可能拒绝。

总之,给定 Y Y Y时,接受样本的概率恰好是 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y)

均匀分布的基本属性

首先,我们必须记住, U U U是从均匀分布 U ( 0 , 1 ) U(0,1) U(0,1)中采样的。这意味着,对于这个分布中的任何值 x x x,随机变量 U U U落在区间 [ 0 , x ] [0, x] [0,x]的概率就是 x x x。简单来说, P ( U < x ) = x P(U < x) = x P(U<x)=x

例如:

  • P ( U < 0.5 ) = 0.5 P(U < 0.5) = 0.5 P(U<0.5)=0.5
  • P ( U < 0.1 ) = 0.1 P(U < 0.1) = 0.1 P(U<0.1)=0.1
  • P ( U < 0.9 ) = 0.9 P(U < 0.9) = 0.9 P(U<0.9)=0.9

这是均匀分布的基本属性。因为在区间 [ 0 , 1 ] [0,1] [0,1]内,每一个小区间(如[0.1, 0.2],[0.3, 0.4]等)的长度都是均匀分布中的值落入这个小区间的概率。

所以,当我们说 P ( U < f ( Y ) c g ( Y ) ∣ Y ) P(U < \frac{f(Y)}{cg(Y)}|Y) P(U<cg(Y)f(Y)Y),我们实际上是在说:在已知 Y Y Y的条件下, U U U落在区间 [ 0 , f ( Y ) c g ( Y ) ] [0, \frac{f(Y)}{cg(Y)}] [0,cg(Y)f(Y)]的概率。

由于 U U U是均匀分布的,这个概率直接等于 f ( Y ) c g ( Y ) \frac{f(Y)}{cg(Y)} cg(Y)f(Y)。这就是为什么

P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(U < \frac{f(Y)}{cg(Y)}|Y) = \frac{f(Y)}{cg(Y)} P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

整体的接受概率

P ( a c c e p t ∣ Y ) = P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(accept|Y)=P(U< \frac{f(Y)}{cg(Y)}|Y ) = \frac{f(Y)}{cg(Y)} P(acceptY)=P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

根据上面得到的公式,应用全概率公式:

P ( a c c e p t ∣ Y ) = P ( U < f ( Y ) c g ( Y ) ∣ Y ) = f ( Y ) c g ( Y ) P(accept|Y)=P(U< \frac{f(Y)}{cg(Y)}|Y ) = \frac{f(Y)}{cg(Y)} P(acceptY)=P(U<cg(Y)f(Y)Y)=cg(Y)f(Y)

我们又可以推导出:

P ( a c c e p t ) = ∑ y P ( a c c e p t ∣ Y ) P ( Y = y ) P(accept)=\sum_{y} P(accept|Y) P(Y=y) P(accept)=yP(acceptY)P(Y=y)

这是整体的接受概率。

由于 P ( a c c e p t ∣ Y ) = f ( y ) c g ( y ) P(accept|Y)=\frac{f(y)}{cg(y)} P(acceptY)=cg(y)f(y),我们得到:

∑ y P ( a c c e p t ∣ Y ) P ( Y = y ) = ∑ y f ( y ) c g ( y ) g ( y ) = 1 c \sum_{y} P(accept|Y) P(Y=y) = \sum_{y}\frac{f(y)}{cg(y)} g(y) = \frac{1}{c} yP(acceptY)P(Y=y)=ycg(y)f(y)g(y)=c1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值