C++ 零作为神经网络的输入

C++ 零作为神经网络的输入,c++,neural-network,artificial-intelligence,backpropagation,C++,Neural Network,Artificial Intelligence,Backpropagation,目前我正在尝试创建一个三层神经网络。当我开始尝试XOR训练时,我突然想到: double NewWeight(double oldWeight){ return oldWeight+(MeanSquaredError*input*learningRate); } 这是新重量的公式,根据 首先,如果输入值为零,不管误差大小,权重将保持不变。这是用偏见解决的吗 其次,神经网络通常有两个以上的输入(如异或)。在这种情况下,是否需要添加两个输入?或者通过单独的输入找到重量的平均值 如果你建议我使用一个

目前我正在尝试创建一个三层神经网络。当我开始尝试XOR训练时,我突然想到:

double NewWeight(double oldWeight){
return oldWeight+(MeanSquaredError*input*learningRate);
}
这是新重量的公式,根据

首先,如果输入值为零,不管误差大小,权重将保持不变。这是用偏见解决的吗

其次,神经网络通常有两个以上的输入(如异或)。在这种情况下,是否需要添加两个输入?或者通过单独的输入找到重量的平均值


如果你建议我使用一个不同的新权重函数,请不要在没有解释后面的符号的情况下发布一个等式。谢谢

首先,偏差不会改变任何东西。通常,偏置是通过一个附加输入来实现的,该输入具有一个常数1和一个权重作为偏置。看

其次,计算网络中每条边的权重。因此,如果有两个输入,则计算每个输入的权重


我想说的是,如果你有0作为输入,你没有任何信息。如果没有信息,您无法告诉如何更改重量。您的函数对于反向传播是绝对正确的。

首先,偏差不会改变任何东西。通常,偏置是通过一个附加输入来实现的,该输入具有一个常数1和一个权重作为偏置。看

其次,计算网络中每条边的权重。因此,如果有两个输入,则计算每个输入的权重


我想说的是,如果你有0作为输入,你没有任何信息。如果没有信息,您无法告诉如何更改重量。您的函数对于反向传播是绝对正确的。

此帖子不适合此社区。你应该考虑A社区。这个帖子不适合这个社区。你应该考虑一下A社区。