Slice Sampling 简单推导

来源:互联网 发布:mac玩炉石传说发热 编辑:程序博客网 时间:2024/06/06 15:50

Slice Sampling 简单推导

假设随机变量Xp(x),我们想从该分布中采样,得到关于这个分布的信息(如均值、方差等),Slice Sampling切片采样是一种常用方法。

u=p(x),显然有0u1。Slice Sampling从概率密度函数p(x) 所围成的面积里均匀采样,即是从p(x,u) 中采取均匀分布的样本:

(x(t),u(t))p(x,u),

其中 p(x,u)=1。更一般的,假设p(x)=f(x)Z,即f(x) 是随机变量X 的未归一化的概率密度函数,则p(x,u)=1Z

Slice Sampling 在进行采样时,采取Gibbs Sampling的采样方法,即先

  1. Initialize u(0).
  2. x(t)p(x|u(t1))
  3. u(t)p(u|x(t))

下面来推导p(u|x)p(x|u)

p(u|x)=p(x,u)p(x)=1f(x)(0<u<f(x))

p(u)=x2x11Zdx=1Z(x2x1)

其中x=p1(u), 是u=p(x) 的逆函数。进而有
p(x|u)=p(x,u)p(u)=1x2x1

推毕。

从直观上来描述,首先在上一步选取了样本x(t1),然后由均匀分布得到u(t)U(0,p(x(t1))。此后,再从x(t)U(p(x)>u) 采样。

这里写图片描述

当然,这其中还有很多的问题。还有shrink algorithm可以更好地防止采样X时效率过低的问题,因为往往一个过大的u会使得采样X时获得符合要求的概率非常低。

本文只是对Slice Sampling的基本想法进行了阐述,如果真正想了解Slice Sampling的读者,建议还是阅读相关论文来进行学习。

1 0