在Python中,numpy.random.rand和numpy.random.randn之间的区别

8 浏览
0 Comments

在Python中,numpy.random.rand和numpy.random.randn之间的区别

numpy.random.randnumpy.random.randn之间有什么区别?

根据文档,我知道它们之间唯一的区别是每个数字抽取的概率分布不同,但整体结构(维度)和使用的数据类型(浮点数)是相同的。因此,由于这个原因,我很难调试神经网络。

具体来说,我正在尝试重新实现Michael Nielson的《神经网络与深度学习》一书中提供的神经网络。原始代码可以在这里找到。我的实现与原始代码相同;然而,我在init函数中使用numpy.random.rand来定义和初始化权重和偏置,而不是原始代码中所示的numpy.random.randn函数。

然而,使用random.rand来初始化权重和偏置的代码不起作用。网络不会学习,权重和偏置不会改变。

导致这种奇怪行为的两个随机函数之间有什么区别?

0