AForge.NET - 反向传播学习总是返回值[-1; 1]

时间:2013-05-12 07:23:21

标签: artificial-intelligence neural-network normalization aforge backpropagation

我使用AForge.NET进行反向传播学习有一些问题 - 神经学习 - 反向传播。我实际上尝试在样本中实现神经网络(Aproximation)。我的问题是关于这个: 输入向量{1,2,3,...,19,20} 2.输出向量{1,2,3,...,19,20}(它的线性函数) 3. ActivationNetwork network = new ActivationNetwork(new BipolarSigmoidFunction(2),1,20,1); 然后大约10k次 - 老师.RunEpoch(输入,输出);

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

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

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