Neural network 为什么1附加到神经网络的输入层?

Neural network 为什么1附加到神经网络的输入层?,neural-network,Neural Network,我遵循这个教程制作神经网络 我不理解这段代码的训练部分,其中1被附加到输入特征向量 def Train(X, Y, lr, weights):` `layers = len(weights)` `for i in range(len(X)):` `x, y = X[i], Y[i]` `x = np.matrix(np.append(1, x)) # Augment feature vector` `activations = F

我遵循这个教程制作神经网络

我不理解这段代码的训练部分,其中1被附加到输入特征向量

def Train(X, Y, lr, weights):`
    `layers = len(weights)`
    `for i in range(len(X)):`
        `x, y = X[i], Y[i]`
        `x = np.matrix(np.append(1, x)) # Augment feature vector`
        `activations = ForwardPropagation(x, weights, layers)`
        `weights = BackPropagation(y, activations, weights, layers)`
    `return weights

理解这一点的任何帮助都将不胜感激。

正向传播包括乘以权重和添加偏差项。方程式是

y=X*W+b
。这可以用更矢量化的形式写成
y=[X,1]*[W,b]
。(
*
在这里代表矩阵乘法)


在代码中,权重和偏差似乎已经组合成一个权重矩阵
W
,并且
x
通过添加一个来修改为一个增广向量。

感谢您的澄清,因此,如果我检查权重矩阵,那么第一列是表示偏差权重,还是最后一列?