我正在学习关于神经网络的教程,他谈到了对这段代码进行mean of 0
:
syn0 = 2*numpy.random.random((3,1)) - 1
这怎么能产生零的平均值?用于测试它的代码 [此处]。乘以 2 再减去 1 的目的是什么?有 3 个输入和 1 个输出,这就是为什么它的大小(3,1)
np.random.random
从 [0, 1] 上的均匀分布中抽取数字。此分布的期望值(平均值)1/2 * (a + b)
其中 a
和 b
是下限和上限(0 和 1)。因此,期望值为 0.5。
np.random.random(10**6).mean()
Out: 0.50038769812077288
这使得syn0
的期望值为零(2 * 0.5 - 1 = 0
)。