Slice Sampling
proposal distribution 없이 $p(x)$ 또는 $\tilde{p}(x)$로부터 직접 샘플링하는 방법이다.
일반적으로 univariate multi-modal distribution에 유용하다.
(논문저자 Radford M. Neal에 따르면 multivariate의 경우에도 slice sampling을 변형하여 샘플링 할 수 있다. 여기서는 생략)
Algorithm
slice variable $u$를 도입한다. (책에 따라 auxiliary variable, additional variable이라고도 한다.)
\[ p(x,u) = \cfrac{\mathbf {1}_{ \{ 0 \le u \le \tilde{p}(x) \} } }{Z}, \ \int_0^{\tilde{p}(x)} p(x,u) \mathrm{d}u = p(x) \]
conditional distribution은 다음과 같이 정의된다.
\[ p(u|x) = \mathbf{1}_{ \{ 0 \le u \le \tilde{p}(x) \} } / \tilde{p}(x) = \text{Unif}(0,\ \tilde{p}(x)) \]
\[ p(x|u) = \cfrac{\mathbf {1}_{ \{ \tilde{p}(x) \ge u \} } }{\int \mathbf{1}_{ \{ \tilde{p}(y) \ge u \} } \mathrm{d}y } = \text{Unif}(\{ \tilde{p}(x) \ge u \}) \]
이전 sample $x^{(i)}$에서 시작한다고 하자. 그러면 $[0, f(x^{(i)})]$에서 uniformly하게 sample $u^{(i)}$를 얻는다. 그 다음 sample $x^{(i+1)}$은 slice $f(x) \ge u^{(i)}$에서 샘플링한다.
경우에 따라 slice를 정의하는 것이 가능하지 않을 수 있다 (infeasible). ((a)와 같이 slice가 이어지지 않고 끊긴 경우라고 생각된다) 이 경우 previous sample을 포함한 구간에서 샘플링한다. 위 PRML 이미지의 경우, previous sample $z^{(\tau)}$를 포함한 적당한 구간 $[z_{\text{min}},\ z_{\text{max}}]$에서 새로운 샘플 $z^{(\tau + 1)}$을 샘플링한다.