Importance Sampling and Rejection Sampling

Chen Y. Lecture 4: Importance Sampling and Rejection Sampling.

Importance Sampling

  • 设想我们希望估计这样的一个值:

    \[I = \mathbb{E}_p(f(X)) = \int f(x)p(x) dx; \]

  • 但是可能这个分布它很难采样, 这个时候我们会用一个替代的分布 \(q\), 并用如下的量来估计:

    \[\mathbb{E}_p(f(X)) = \mathbb{E}_q [\frac{p(x)}{q(x)}] \approx \hat{I}_N := \frac{1}{N} \sum_{i=1}^N f(Y_i) \cdot \frac{p(Y_i)}{q(Y_i)}, \: Y_i \mathop{\sim} \limits^{i.i.d.} q; \]

  • 幸运的是, 这是一个无偏的估计量, 那么问题来了, 这个估计的方差有多大 ?

    \[\text{Var}(\hat{I}_N) = \frac{1}{N} \text{Var}(f(Y_i)\frac{p(Y_i)}{q(Y_i)}) = \frac{1}{N}\Big \{\int \frac{f^2(y)p^2(y)}{q(y)}dy - I^2 \Big \}, \]

    \[q(y) \propto f(y)p(y) \]

    的时候 \(\text{Var}(\hat{I}_N) = 0\), 即使得方差最小的最优的一个估计量为:

    \[q_{opt}(y) = \frac{f(y)p(y)}{\int f(y) p(y) dy}. \]

    也就是说, 这个时候我们只需要从 \(q\) 中采样一次就可以得到 \(I\) 了.

Rejection Sampling

  • 假设我们有一个分布 \(p(x)\) 需要采样, 然后我们另有一个替代分布 (容易采样的) \(q(x)\), 假设存在一个数 \(C\) 使得

    \[C > \sup_x \frac{p(x)}{q(x)}; \]

    则我们可以按照如下方式进行采样:

    1. \(q\) 中采样一 \(Y\), 从均匀分布 \(\mathcal{U}[0, 1]\) 中采样一数 \(U\);
    2. 倘若 \(U < \frac{p(Y)}{C \cdot q(Y)}\), 则得到采样点 \(X = Y\), 否则返回第一步.
  • 可以证明, 这个点 \(X \sim p\):

    \[\begin{array}{ll} P(X \le x) &= P(Y \le x|\text{Accept } Y) \\ &= P(Y \le x, U < \frac{p(Y)}{C \cdot q(Y)}) / P(\text{Accept } Y). \\ \end{array} \]

    对于分子部分有:

    \[\begin{array}{ll} &P(Y \le x, U < \frac{p(Y)}{C \cdot q(Y)}) \\ =&\int P(Y \le x, U < \frac{p(Y)}{C \cdot q(Y)}|Y =y) q(y) \: dy \\ =&\int P(y \le x, U < \frac{p(y)}{C \cdot q(y)})\: q(y) \: dy \\ =&\int \mathbb{I}(y \le x) P(U < \frac{p(y)}{C \cdot q(y)})\: q(y) \: dy \\ =&\int_{-\infty}^x \frac{p(y)}{C \cdot q(y)} \: q(y) \: dy \\ =&\int_{-\infty}^x \frac{p(y)}{C} \: dy. \\ \end{array} \]

    类似地, 对于分母部分有:

    \[P(\text{Accept } Y) = \frac{1}{C}. \]

    \[P(X \le x) = \int_{-\infty}^x p(y) \: dy. \]

  • 显而易见, Recjection Sampling 的不易之处在于 \(C\) 的存在性 (这个可以通过认为挑选 \(q\) 缓解), 以及在实际中的一个拒绝率. 因为当 \(C\) 很大的时候, 会导致很频繁地拒绝.

posted @ 2022-09-24 16:06  馒头and花卷  阅读(83)  评论(0编辑  收藏  举报