Inconsistent/Different 在 Accord.Net 中训练神经网络后测试 Performance/Error
Inconsistent/Different Test Performance/Error After Training Neural Network in Accord.Net
我正在使用 Accord.Net 训练 ResilientBackpropagation 神经网络 以获得一组特征的评分。
网络非常简单,有:
26 个输入
1 个隐藏层,3 个节点
1输出
我正在训练:
- Sigmoid 函数
- 随机初始化
- 训练集 3000 个例子
- 验证集 1000 个示例
每个 运行 的学习曲线看起来都略有不同,但这是平均情况:
我的问题
如果我 运行 使用相同的参数训练 5 次并在我的交叉验证集上验证网络,我会得到 5 个不同的 F1 分数,在 88-91% 之间。因此很难决定何时停止训练并采用最终算法。这是正常的吗?因此,如果我想部署,我必须 运行 训练 X 次并在我认为达到最佳结果后停止?
神经网络随机初始化权重,训练后会生成不同的网络,从而给你不同的表现。
虽然训练过程是确定性的,但初始值不是!结果,您可能会到达不同的局部最小值或停在不同的地方。
我正在使用 Accord.Net 训练 ResilientBackpropagation 神经网络 以获得一组特征的评分。
网络非常简单,有:
26 个输入
1 个隐藏层,3 个节点
1输出
我正在训练:
- Sigmoid 函数
- 随机初始化
- 训练集 3000 个例子
- 验证集 1000 个示例
每个 运行 的学习曲线看起来都略有不同,但这是平均情况:
我的问题
如果我 运行 使用相同的参数训练 5 次并在我的交叉验证集上验证网络,我会得到 5 个不同的 F1 分数,在 88-91% 之间。因此很难决定何时停止训练并采用最终算法。这是正常的吗?因此,如果我想部署,我必须 运行 训练 X 次并在我认为达到最佳结果后停止?
神经网络随机初始化权重,训练后会生成不同的网络,从而给你不同的表现。 虽然训练过程是确定性的,但初始值不是!结果,您可能会到达不同的局部最小值或停在不同的地方。