算法数据结构和算法分析

服从Gaussian分布的近似随机数生成算法

2020-03-07  本文已影响0人  ProjectDaedalus

中心极限定理是概率论中的一组定理,研究的是大量相互独立的随机变量之和在什么样的条件下会收敛于正态分布。我们利用林德伯格-列维(Lindeberg-Levy)中心极限定理,可以通过服从均匀分布的随机数生成服从高斯分布的随机数生成算法

figu.png

林德伯格-列维中心极限定理

具有有限期望和方差(不为0)的独立同分布的随机变量之和,经过标准化后,其分布收敛于标准正态分布

令随机变量 X_1, X_2, … , X_n 独立同分布,且具有有限的期望和方差 E(X_i) = \mu, D(X_i) = \sigma^2 \neq 0 \quad (i = 1,2, .., n)


Y = \frac{ \sum_{i=1}^{n} X_i - n\mu }{\sqrt{n} \sigma } \tag{1}

\lim_{n \to \infty} P(Y \leq a) = \Phi(a)
其中\Phi(a)是标准正态分布的分布函数

生成服从Gaussian分布的近似随机数

标准正态分布

根据上文,我们可以得知,取多次指定分布下的随机数,然后经过求和、标准化后,即可使得该随机数满足标准正态分布

这里我们取容易获得的均匀分布X_n \sim U(0,1)为例,则易知:

E(X_i) = 1/2, D(X_i) = 1/12

则根据(1)式可得,所需的服从标准正态分布的随机变量Y:
Y = \sqrt(\frac{12}{n}) (\sum_{i=1}^{n}X_n - \frac{n}{2}) \sim N(0,1)
在有些算法的实现源码可以看到n取值12,其原因就在这里根号正好可以消去。n越大,其精度越高

普通高斯分布

一般高斯分布Z \sim N( \mu_2, \sigma_2 )和标准正态分布Y \sim N(0, 1)的转换公式如下:
Y = \frac{Z-\mu_2}{\sigma_2} \tag{2}
则可以用(2)式获得指定的高斯分布

上一篇下一篇

猜你喜欢

热点阅读