в течение 2 недель, я работаю с нейронной сетью. Моя функция активации - это нормальная сигмоидальная функция, но есть одна вещь, о которой я читал в Интернете, но нашел разные способы интерпретации.Как использовать «Bias» в Neuronal Networks
В настоящее время я складываю все входные значения, умноженные на их веса, а затем добавляя смещение (что является отрицательным порогом). Я взял все это из http://neuralnetworksanddeeplearning.com/chap1#sigmoid_neurons Все это работало очень хорошо для меня, но потом я нашел эту страницу: http://www.nnwj.de/backpropagation.html
В части распространения вперед смещение не используется вообще, и я думаю, что это должно быть, так скажите, пожалуйста, , мне просто глупо видеть, что они там делали или какая страница не так?
for(int v = 0; v < outputs[i].X; v++){
outputs[i].set(v, biases[i].get(v));
for(int k = 0; k < outputs[i-1].X; k++){
outputs[i].increase(v, weights[i].get(v,k) * outputs[i-1].get(k));
}
outputs[i].set(v, sigmoid(outputs[i].get(v)));
System.out.println("Layer :" + i + " Neuron :" + v + " bias :" + biases[i].get(v) + " value :" + outputs[i].get(v));
}
Это мой код для вычисления моего кода, но части для одного нейрона делаются в этой части:
outputs[i].set(v, biases[i].get(v));
for(int k = 0; k < outputs[i-1].X; k++){
outputs[i].increase(v, weights[i].get(v,k) * outputs[i-1].get(k));
}
outputs[i].set(v, sigmoid(outputs[i].get(v)));
Вероятно, вы не сможете понять, что именно я там делал, но я просто означает мой слой, k - все входные нейроны, и я повторяю, бросая входные нейроны и добавляя веса с выводами. Просто, потому что я сделал это, я установил свое начальное значение для предвзятости.
Я был бы очень рад, если вы могли бы помочь мне с этой проблемой, и я извиняюсь за мой английский :)