打字猴:1.70053741e+09
1700537410 利用逆变换法很容易得到指数分布的样本,然后再根据拒绝采样法来决定是否接受该样本,接受的概率为
1700537411
1700537412
1700537413
1700537414
1700537415 (8.15)
1700537416
1700537417
1700537418 其中是标准正态分布压缩到正半轴后的概率密度函数,常数因子M需要满足如下条件:
1700537419
1700537420
1700537421
1700537422
1700537423 (8.16)
1700537424
1700537425 实际应用时,M需要尽可能小,这样每次的接受概率大,采样效率更高。因此,可以取
1700537426
1700537427
1700537428
1700537429
1700537430 (8.17)
1700537431
1700537432 计算后得到接受概率
1700537433
1700537434
1700537435
1700537436
1700537437 (8.18)
1700537438
1700537439 因此,具体的采样过程如下:
1700537440
1700537441
1700537442 (1)产生[0,1]上的均匀分布随机数u0,计算得到指数分布的样本x。
1700537443
1700537444
1700537445 (2)再产生[0,1]上的均匀分布随机数u1,若,则接受x,进入下一步;否则拒绝,跳回到步骤1重新采样。
1700537446
1700537447 (3)最后再产生[0,1]上的均匀分布随机数u2,若u2<0.5,则将x转化为 −x,否则保持不变;由此最终得到标准正态分布的一个样本。
1700537448
1700537449 拒绝采样法的效率取决于接受概率的大小:参考分布与目标分布越接近,则采样效率越高。有没有更高效的拒绝采样算法呢?这就是Ziggurat算法,该算法本质也是拒绝采样,但采用多个阶梯矩形来逼近目标分布(见图8.5)。Ziggurat算法虽然看起来稍微烦琐,但实现起来并不复杂,操作也非常高效,感兴趣的读者可以自行查阅相关文献。
1700537450
1700537451
1700537452
1700537453
1700537454 图8.5 Ziggurat算法示意图
1700537455
1700537456 ·总结与扩展·
1700537457
1700537458 高斯分布的采样方法还有很多,我们只列举了几种最常见的。具体面试时,面试者不需要回答所有的方法,知道其中一两种即可,面试官可能会针对这一两种方法深入提问,如理论证明、优缺点、性能等。面试时如果没有思路,可以回忆那些通用的采样方法,如何将那些策略用到高斯分布这个具体案例上。另外,本题还可以适当扩展,例如,多维高斯分布随机向量如何采样?截尾高斯分布(Truncated Gaussian Distribution)如何采样?
1700537459
[ 上一页 ]  [ :1.70053741e+09 ]  [ 下一页 ]