【问题标题】:How do I properly tune parameters for a neural network? [closed]如何正确调整神经网络的参数? [关闭]
【发布时间】:2020-08-15 19:04:29
【问题描述】:

如何调整神经网络的参数,例如层数、层类型、宽度等?现在我只是猜测好的参数。这对我来说变得非常昂贵和耗时,因为我将调整网络然后发现它并没有比以前的模型做得更好。有没有更好的方法来调整模型以获得良好的测试和验证分数?

【问题讨论】:

  • 我投票结束这个问题,因为它不是关于 help center 中定义的编程,而是关于 ML 理论和方法。

标签: python-3.x machine-learning optimization


【解决方案1】:

这完全是命中和跟踪方法。你必须玩它。没有特定的方法可以做到这一点。尝试使用 GPU 而不是 CPU 来快速计算,例如 “Google Colab”。我的建议是记下所有可以调整的参数。 例如:

  1. 优化器:尝试使用不同的优化器,例如 Adam、SGD 等等
  2. 学习率:这是一个非常关键的参数,尝试将其从 0.0001 更改为 0.001,步长为 0.0001。
  3. 隐藏层数:尝试增加no。隐藏层数。
  4. 如果需要,请尝试使用 Batch NormalizationDrop out 或两者兼用。
  5. 使用正确的损失函数
  6. 更改批量大小Epoch

【讨论】:

    【解决方案2】:

    隐藏层、Epochs、batch-size:尝试不同的数字。

    优化器:Adam(提供更好的结果)、Rmsprop

    Dropout:0.2 在大多数情况下效果很好

    此外,您还应该尝试不同的激活函数(例如,您可以在隐藏层使用 ReLu,在输出层使用 sigmoid 进行二元类分类,使用 softmax 进行多类分类。

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2020-09-29
      • 2018-05-22
      • 2015-11-11
      • 2010-12-09
      • 2018-11-01
      • 2010-10-24
      • 2014-02-17
      • 2020-02-01
      相关资源
      最近更新 更多