我使用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个输入神经元)
任何人都可以帮助我吗?
答案 0 :(得分:2)
我还没有使用AForge,但是BipolarSigmoidFunction很可能是tanh
,即输出在[-1,1]之内。这通常用于分类或有时用于有界回归。在您的情况下,您可以缩放数据或使用线性激活函数(例如身份,g(a) = a
)。