【问题标题】:neural network: cost is erratic神经网络:成本不稳定
【发布时间】:2018-03-23 23:50:45
【问题描述】:

我实现了一个简单的神经网络,用于在 python 中对图像进行分类(一类)。图层很简单(image_matrix,5,1)。对隐藏层使用 relu 和 sigmoid。
我正在迭代 5000 次。起初,成本似乎以合理的方式逐渐下降。
但是,无论我使用了多少训练示例,或者我的 learning_rate 是多少,每次迭代大约 3000 次后,成本就会开始表现不稳定...
cost(点击查看图片)
有人可以帮助我了解发生了什么吗?
谢谢

【问题讨论】:

  • 还提供您的训练和验证准确度图表
  • 对不起,我对此很陌生...你能告诉我什么样的图表会有所帮助吗?谢谢
  • 你使用 ML 库(tensorflow 或 keras)还是纯 numpy?你能分享你的代码吗?基本上,我要求您在训练期间评估您的模型。这将有助于理解问题。
  • 我正在使用纯 numpy。我现在可以评估模型的唯一方法是上面显示的成本函数和准确性。同时,我学习了一些有趣的 W 和 b 参数初始化,以及如何标准化输入 X,这确实使整个事情变得平滑。我会研究评估方法,但看起来我的模型现在更稳定了。

标签: python machine-learning neural-network computer-vision classification


【解决方案1】:

在训练模型中,您应该记住,它们是多个局部最小值,因为它的成本。您的图表显示您的成本正在围绕这个局部最小值移动,同时找到您的全局最小值,这是为模型找到最佳性能的目标。

第一个 - 您可能应该尝试检查准确性、f1-score 或每次迭代/epoch 的损失,以检查性能是否确实在提高。

第二次 - 进行交叉验证并检查上述相同的指标以进行验证

3rd - 实现一个提前停止功能,该功能应该检查您的模型是否正在改进。

*注意:找到可以帮助您更好地找到全局最小值的最佳 alpha。

【讨论】:

  • 谢谢。我也会尝试查看这些 metricx 并实施您的建议
  • 没有问题!祝你好运!
猜你喜欢
  • 2015-05-10
  • 2020-02-21
  • 2020-12-21
  • 2019-10-12
  • 2022-01-01
  • 2014-02-21
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多