我有以下使用 RPOP 的神经网络 - 弹性反向传播
NetCore = new BasicNetwork();
NetCore.AddLayer(new BasicLayer(null, false, 32));
NetCore.AddLayer(new BasicLayer(new ActivationTANH(), true, 65));
NetCore.AddLayer(new BasicLayer(new ActivationTANH(), true, 65));
NetCore.AddLayer(new BasicLayer(new ActivationSigmoid(), false, 1));
NetCore.Structure.FinalizeStructure();
NetCore.Reset();
(我发布代码只是为了确保我做对了,如果没有人会指出,我希望)
训练网络后,错误率最小化到 1% 左右,我通过了测试数据,并且大部分时间产生的输出类似于“5,07080020755566E-10”,我希望数字从 0 到 1 以及它应该注意的是,当这种情况发生时,它们总是正数(还没有遇到负输出)。
我想问的第二个问题如下:神经网络是用来预测足球比赛的,所以考虑到我有 32 个输入。16 个输入用于团队 1 的绩效数据,16 个用于团队 2。
训练集是这样准备的:假设我们有 1000 个匹配,所有这些训练集的输出都是 1。
因此,在准备训练集的过程中,额外添加了反向匹配,其中输出为 0,当然第 1 队和第 2 队的输入也分别改变。
并且在测试时我得到相同匹配的以下结果
Output 0,0125940938512236 Desired 1 direct
Output 0,0386960820583483 Desired 0 reversed
问题是为什么?:)
我将不胜感激。对这个问题有所了解将为我指明我应该在哪里挖掘的方向。提前致谢。