小编ash*_*ton的帖子

为什么我们将对 numpy.random.random 的调用乘以数字并减去数字?

我在一篇有关反向传播的文章中找到了这段代码,但我对它到底是如何工作的感到困惑。文章说如下

“这是我们这个神经网络的权重矩阵。它被称为“syn0”,意味着“突触零”。由于我们只有 2 层(输入和输出),所以我们只需要一个权重矩阵来连接它们。它的维度是( 3,1) 因为我们有 3 个输入和 1 个输出。”

我想指定作者通过输入引用数组“X”,输出引用数组“Y”。

我的第一个问题是为什么文章声称我们只有 3 个输入。浏览一下代码就会发现我们的数组 X 的大小为 4。我是否误解了什么?

我的第二个问题是为什么将对 np.random.random() 的调用乘以 2?

谢谢您的帮助!

import numpy as np    

X = np.array([ [0,0,1],
               [0,1,1],
               [1,0,1],
               [1,1,1] ])

y = np.array([[0,0,1,1]]).T  

# initialize weights randomly with mean 0
syn0 = 2*np.random.random((3,1)) - 1
Run Code Online (Sandbox Code Playgroud)

python arrays random numpy backpropagation

0
推荐指数
1
解决办法
1480
查看次数

标签 统计

arrays ×1

backpropagation ×1

numpy ×1

python ×1

random ×1