0

我在使用 AForge.NET - Neuro Learning - Backpropagation 进行反向传播学习时遇到了一些问题。我实际上尝试在样本中实现神经网络(近似)。我的问题是这样的: 1. 输入向量 {1,2,3,...,19,20} 2. 输出向量 {1,2,3,...,19,20} (它是线性函数) 3 . ActivationNetwork network = new ActivationNetwork(new BipolarSigmoidFunction(2), 1, 20, 1); 4. 然后大约 10k 次 - teacher.RunEpoch(input, output);

学习完成后,我的 network.Compute() 返回值 [-1;1] 为什么?

在示例中,有类似向量值的归一化( x -> [-1; 1] 和 y -> [-0.85; 0.85] ),当我这样做时,一切都很好......但它只是我想要的样本了解神经网络的工作原理。我目前要实现的问题更复杂(超过 40 个输入神经元)

谁能帮我?

4

1 回答 1

2

我还没有使用 AForge,但 BipolarSigmoidFunction 很可能是tanh,即输出在 [-1, 1] 范围内。这通常用于分类或有时用于有界回归。在您的情况下,您可以缩放数据或使用线性激活函数(例如身份,g(a) = a)。

于 2013-05-12T09:53:33.050 回答