在Accord.Net中训练神经网络后不一致/不同的测试性能/错误

时间:2017-11-30 15:45:48

标签: machine-learning neural-network backpropagation accord.net

我正在使用Accord.Net培训 ResilientBackpropagation Neural Network ,以获得一系列功能的评分。

网络很简单,有:

  • 26个输入

  • 1个隐藏层,包含3个节点

  • 1输出

我正在接受培训:

  • SigmoidFunction
  • 随机初始化
  • train-set 3000 examples
  • validation-set 1000 examples

学习曲线看起来每次运行略有不同,但这是一般情况: enter image description here

我的问题

如果我使用相同参数运行5次训练并在我的交叉验证集上验证网络,我会得到5个不同的F1分数,介于88-91%之间。因此很难决定何时停止训练并采用最终算法。这是正常的吗?因此,如果我想部署,我必须进行X次训练并在我认为达到最佳效果后停止训练?

1 个答案:

答案 0 :(得分:0)

神经网络随机初始化权重,并在训练后生成不同的网络,因此给你不同的性能。 虽然培训过程是确定性的,但初始值不是!因此,您可能会以不同的本地最小值结束或停在不同的地方。