如何从正态分布构造均匀分布?

问题1:如果有正态分布生成器$G_n$,如果获得均匀分布生成器?

问题2:如果样本$x_1, x_2, \dots, x_n$独立采样自正态分布,如果使其变换为均匀分布?

逆变换采样

累积分布函数(CDF)是个单调函数,那么累积分布函数的反函数为,

如果$u \sim U[0, 1]$,那么$F^{-1}(u)$服从分布$F(x)$。

证明,

对于很多分布来说,逆函数$F^{-1}(u)$​并不容易计算,因此很多情况下无法直接使用逆变换采样。

注意到,

也就是说,如果获得累积分布为$F(x)$的随机变量$t$,那么$F(t)$为均匀分布。例如$x_i \sim N(0, 1)$,那么标准正态分布的累积分布函数(CDF)$\Phi(x_i)$服从均匀分布。

采样方法的逆

Box-Muller技巧如果逆着来,直观上很好理解,即

  • 独立采样$x_1 \sim N(0, 1), x_2 \sim N(0, 1)$
  • 计算$z = x_1^2 + x_2^2$​,也就是一个$\chi(x)$分布
  • 那么$u = 1 - \exp(- \frac{z}{2})$为均匀分布

简单来说就是,可通过正态分布生成器获得均匀分布生成器,$n_1,n_2$​独立采样自标准正态分布,那么

服从均匀分布$U[0, 1]$​​​。这种方法需要独立采样$x_1, x_2$。

函数光滑逼近

第一部分的讨论我们有结论,如果随机变量$x$服从累积分布函数$F(x)$,那么$F(x)$服从均匀分布。因为我们从$x = F^{-1}(u), u\sim U[0, 1]$中构造该随机变量,而

对于正态分布随机变量$x$来说,$\Phi(x)$服从均匀分布。但是$\Phi(x)$是积分形式,

无办法直接求解。一个思路是使用初等函数逼近$\Phi(x)$,在采样(二):从正态分布采样也有相关的讨论。目前最好的近似结果是来自论文Gaussian Error Linear Units (GELUs)中的结论,即

论文中还有这个结论,

两种近似的采样对比,

直观上看,第一种逼近的采样结果更好。

总结

本文提供了两种思路解决通过正态分布样本构造均匀分布的问题。

转载请包括本文地址:https://allenwind.github.io/blog/12188
更多文章请参考:https://allenwind.github.io/blog/archives/