我正在使用Optuna对一些模型进行参数优化。
在几乎所有的示例中,目标函数都会返回测试集上的评估指标,并试图最小化/最大化它。我觉得这是示例中的一个缺陷,因为Optuna会在看不见的数据上优化她的参数。
在训练集的简历上进行优化将会更加稳健。我想听听其他的想法,并检查我是否遗漏了什么。
谢谢!
发布于 2020-10-15 04:43:47
不,它不是一个缺陷,它是一个特性。应该在算法看不到的测试数据集上评估性能。
如果你想交叉验证,你可能需要几个月的时间来完成一个简单的Optuna研究。这样做没有错,但可能是浪费时间,因为Optuna的算法是一个贝叶斯优化器,交叉验证只能近似。
也就是说,如果你正在使用机器学习,并且要求每个时期有一个训练/验证循环,我recommend使用Jun Shao的n**(0.75)比例作为你的训练集大小,在训练开始之前随机选择;它不仅更快,而且可能更好。
因此,虽然在机器学习中需要进行多个训练和验证操作,但如果使用Optuna,则没有必要交叉验证模型的性能。请点击上面的链接在交叉验证的SE站点上看到我的答案,从那里你可以点击到Github repo,但请先发表评论和/或看看其他人在说什么。
https://stackoverflow.com/questions/60002366
复制相似问题