我试图在Javascript中实现神经网络,我的项目的规范更喜欢实现为每个节点和层分别拥有对象.我是编程神经网络的新手,我在网络的反向传播训练中遇到了一些障碍.我似乎无法找到解释为什么反向传播算法不能为每个训练时期正确训练网络的原因.
我已经在一些网站上关注了教程,请确保尽可能密切关注:http:
//galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html

这是原始代码的链接:http: //jsfiddle.net/Wkrgu/5/
这是我想要做的,据我所知,这是我能解释的事情:在计算每个节点/神经元的导数值和误差之后,我正在实现这个函数:
// Once all gradients are calculated, work forward and calculate
// the new weights. w = w + (lr * df/de * in)
for(i = 0; i < this._layers.length; i++) {
// For each neuron in each layer, ...
for(j = 0; j < this._layers[i]._neurons.length; j++) {
neuron = this._layers[i]._neurons[j];
// Modify the bias.
neuron.bias += this.options.learningRate * neuron.gradient;
// For each weight, ...
for(k = 0; k < neuron.weights.length; …Run Code Online (Sandbox Code Playgroud)