关于numpy里面random.rand和randn的区别

python里面常用的两个产生随机数的函数,两个不太一样

其中 np.random.rand()是用来产生0-1之间的随机数的,这个最近应用最多的地方是在产生一个从a-b范围里面的数字,这时候可以先产生一个巨大的随机0-1的矩阵,然后再乘以a和b之间的差

np.random.randn()产生的是随机正态分布的标准值,外面可以乘上std就是需要的正态分布,这样可以用来初始化深度网络的weights,括号里填的都是生成的东西的维度

  • 另外一个问题,randn的参数需要的是inter,所以在输入的时候要不是选择
    • np.random.randn(x0.shape[0], x0.shape[1])
    • np.random.randn(*x0.shape)