我正在关注有关神经网络的[this]教程,他谈到了使用此代码mean of 0
:
syn0 = 2*numpy.random.random((3,1)) - 1
这怎么会产生零均值?用于测试它的代码[here]。将它乘以2并减去1的目的是什么?有3个输入和1个输出,这就是为什么它的大小为(3,1)
答案 0 :(得分: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
)。