首先我想说我对神经网络真的很陌生,我不太了解它;)
我已经实现了反向传播神经网络的第一个 C# 实现。我已经使用 XOR 对其进行了测试,它看起来很有效。
现在我想更改我的实现以使用弹性反向传播(Rprop - http://en.wikipedia.org/wiki/Rprop)。
定义说:“Rprop 只考虑所有模式的偏导数的符号(而不是幅度),并且独立地作用于每个“权重”。
有人能告诉我所有模式的偏导数是什么吗?我应该如何为隐藏层中的神经元计算这个偏导数。
非常感谢
更新:
我的实现基于此 Java 代码:www_.dia.fi.upm.es/~jamartin/downloads/bpnn.java
我的 backPropagate 方法如下所示:
public double backPropagate(double[] targets)
{
double error, change;
// calculate error terms for output
double[] output_deltas = new double[outputsNumber];
for (int k = 0; k < outputsNumber; k++)
{
error = targets[k] - activationsOutputs[k];
output_deltas[k] = Dsigmoid(activationsOutputs[k]) * error;
}
// calculate error terms for hidden
double[] hidden_deltas = new double[hiddenNumber];
for (int j = 0; j < hiddenNumber; …Run Code Online (Sandbox Code Playgroud)