1

我正在使用 Optuna 对某些模型进行参数优化。

在几乎所有示例中,目标函数都会返回测试集上的评估指标,并尝试最小化/最大化它。我觉得这是示例中的一个缺陷,因为 Optuna 然后根据看不见的数据优化了她的参数。

对训练集的 cv 进行优化会更加稳健。想听听其他想法并检查我是否遗漏了什么。

谢谢!

4

1 回答 1

0

不,这不是缺陷,而是一个特性。性能应该在算法没有看到的测试数据集上进行评估。

如果您想交叉验证,可能需要几个月的时间才能完成一项使用 Optuna 的简单研究。这样做并没有,但可能是浪费时间,因为 Optuna 的算法是贝叶斯优化器,交叉验证只能近似。

话虽如此,如果您使用机器学习并且需要每个 epoch 有一个训练/验证循环,我建议使用 Jun Shao 的比例n**(0.75)作为您的训练集大小,在训练开始之前随机选择;它不仅更快,而且可能更好。

因此,虽然需要在机器学习中进行多项训练和验证操作,但如果您使用的是 Optuna,则无需交叉验证该模型的性能。请单击上面的链接在 cross-validated 的 SE 网站上查看我的答案,然后您可以从那里单击进入 Github 存储,但请先发表评论和/或查看其他人在说什么。

于 2020-10-14T20:43:46.550 回答