使用 150k 训练对帮助训练反向传播神经网络

数据挖掘 机器学习 神经网络 反向传播 训练 错误处理
2022-03-09 12:27:25

我目前正在尝试训练我的反向传播以对 150k 训练对进行分类。每个训练对是 18 个双极数的向量,它通过 2 个隐藏层,最终输出为 1 个数(18-18-18-1)。

当我只给我的神经网络提供几千个训练对时,它可以 100% 对它们进行分类,但是当我尝试提供更多时,它会产生很多错误。有没有人有什么可以帮助后支撑网处理更多训练对的建议?我应该批量更新权重还是为每个训练对更新它们(我现在做什么)?还有什么是测试与这么多训练对收敛的最佳方法(总结错误时约为 40k)。非常感谢任何帮助。

(仅供参考:每个训练对都是我试图评估的贷款账户,包括余额、年龄、开放时间、邮政编码的平均收入,目标是是否支付)

1个回答

训练神经网络时要寻找的典型事项:

  • 学习曲线:验证集 X 大小的训练集上的误差图。随着网络的训练,误差必须减少,所以如果你看到波动或增加,那就是错误的。
  • 学习率:学习率影响梯度下降的收敛性。小的学习率会使模型过拟合数据,而大的可能会使其欠拟合。
  • 精度:在训练集中的分类样本中,有多少网络是正确的,或者更准确地说,有多少是按预期分类的?
  • 回想一下:在所有积极的例子中,在你的例子中,有多少是付费的,它被归类为paid多少?

如果您发现网络性能不佳,您可以:

  • 添加使模型更好地拟合数据的其他特征 - 例如将平均家庭收入添加到特征中
  • 获取更多训练示例
  • 一些论文表明,更深层次的网络能够捕捉到他们试图拟合的模型的细微之处,因此尝试网络架构是一种选择。