【问题标题】:Choosing bach size and learning rate for large datastet为大型数据集选择批量大小和学习率
【发布时间】:2021-03-15 09:43:42
【问题描述】:

数据集有大约 250 万行,我正在使用 80/20 的训练测试拆分。 我在这里阅读了一些答案和一些关于此的论文,其中建议批量大小为 32 或 64。但是相对于数据集的大小,这不是非常小吗? 我之前用 10000 的浴缸尺寸和 1e-2 的 LR 进行了训练,但没有得到很好的准确度。

对于这么大的数据集,哪些值最适合?

【问题讨论】:

  • LR 和其他超参数依赖于数据,因此除非我们有数据并进行检查,否则我们无法判断最佳值是多少。此外,您还应该考虑您的计算能力来确定批量大小。
  • 我投票结束这个问题,因为它与 help center 中定义的编程无关,而是关于 ML 理论和/或方法 - 请参阅 machine-learning @ 中的介绍和注意事项987654322@.

标签: machine-learning neural-network pytorch data-science


【解决方案1】:

您没有指定使用哪个框架。例如,TensorFlow 有一个像 ReduceLROnPlateau 这样的回调。当指标停止改进时,它会降低学习率。主要参数是 factor - 学习率降低的因素:lr = lr * factor

通过使用ReduceLROnPlateau,可以从比较高的学习率开始,回调会自动降低学习率。

reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.3, 
                              patience=3, min_lr=0.0001)
model.fit(X_train, Y_train, callbacks=[reduce_lr])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-15
    • 2020-10-22
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 2012-12-16
    相关资源
    最近更新 更多