打字猴:1.70053731e+09
1700537310
1700537311
1700537312
1700537313 百面机器学习:算法工程师带你去面试 [:1700532215]
1700537314 百面机器学习:算法工程师带你去面试 04 高斯分布的采样
1700537315
1700537316
1700537317
1700537318 场景描述
1700537319
1700537320 高斯分布,又称正态分布,是一个在数学、物理及工程领域都非常重要的概率分布。在实际应用中,经常需要对高斯分布进行采样。虽然在很多编程语言中,直接调用某个函数就可以生成高斯分布随机数,但了解其中的具体算法能够加深我们对相关概率统计知识的理解。此外,高斯分布的采样方法有多种,通过展示不同的采样方法在高斯分布上的具体操作以及性能对比,我们会对这些采样方法有更直观的印象。
1700537321
1700537322 知识点
1700537323
1700537324 高斯分布,Box-Muller算法,拒绝采样
1700537325
1700537326 问题 如何对高斯分布进行采样?
1700537327
1700537328 难度:★★★☆☆
1700537329
1700537330 分析与解答
1700537331
1700537332 首先,假设随机变量z服从标准正态分布N(0,1),令
1700537333
1700537334 x=σ·z+μ ,
1700537335
1700537336 (8.7)
1700537337
1700537338 则x服从均值为 μ、方差为σ2的高斯分布N(μ,σ2)。因此,任意高斯分布都可以由标准正态分布通过拉伸和平移得到,所以这里只考虑标准正态分布的采样。常见的采样方法有逆变换法、拒绝采样、重要性采样、马尔可夫蒙特卡洛采样法等。具体到高斯分布,要如何采样呢?
1700537339
1700537340 如果直接用逆变换法,基本操作步骤为:
1700537341
1700537342 (1)产生[0,1]上的均匀分布随机数u。
1700537343
1700537344
1700537345 (2)令,则z服从标准正态分布。其中erf(·)是高斯误差函数,它是标准正态分布的累积分布函数经过简单平移和拉伸变换后的形式,定义如下
1700537346
1700537347
1700537348
1700537349
1700537350 (8.8)
1700537351
1700537352 上述逆变换法需要求解erf(x)的逆函数,这并不是一个初等函数,没有显式解,计算起来比较麻烦,所以为了避免这种非初等函数的求逆操作,Box-Muller算法提出了如下解决方案:既然单个高斯分布的累计分布函数不好求逆,那么两个独立的高斯分布的联合分布呢?假设x,y是两个服从标准正态分布的独立随机变量,它们的联合概率密度为
1700537353
1700537354
1700537355
1700537356
1700537357 (8.9)
1700537358
1700537359
[ 上一页 ]  [ :1.70053731e+09 ]  [ 下一页 ]