我在一篇有关反向传播的文章中找到了这段代码,但我对它到底是如何工作的感到困惑。文章说如下
“这是我们这个神经网络的权重矩阵。它被称为“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)