在利奥·伊西克顿( learning )在第四课“https://www.youtube.com/watch?v=ms-Ooh9mjiE&list=PLWKotBjTDoLj3rXBL-nEIPRN9V3a9Cx07&index=4 过载、不足和模型容量”中提出的“深度学习速成课程”中,他建议数据应该分成列、验证和测试集。训练集用于训练模型,验证集用于优化超参数,测试集用于对泛化误差进行无偏估计。当我看人们是如何实现这个设计的时候,他们通常使用gridseachCV来评估深度学习神经网络来配置某些超参数,如神经元数量、学习速率、优化器等,然后使用验证集来执行早期停止。
我认为从gridsearchCV获得一个超参数配置是可能的,因为它已经被过度安装,从而提供了最好的性能。这是正确的吗?
是否有另一个选项可以使用验证集来调优超参数。为什么他们不尝试不同的配置在验证集中?
发布于 2019-04-14 13:30:02
验证集的目的是跟踪您的过度适应水平,而您正在试验您的网络。当我们尝试一些东西时,我们想知道它在以前从未见过的数据上的效果如何。
通过观察训练集上的分数,我们无法区分什么是好的,什么是过分合适的。如果您使用测试集来评估所有实验的结果,那么您的测试集就不再是一个可靠的最终评估,因为您已经将它包含在您的决策中。测试集仅用于最终评估。
为了满足这一需求,我们留出一部分数据作为验证集。我们不直接训练的数据集,而是用于检查培训不同层/单元配置、调优超参数、特性工程和所有其他我们可能想尝试的事情的结果。及早停止只是其中一个可能的用途。
关于您对超级参数的评论:
在调优超参数时(使用网格搜索或任何其他方法),不直接使用验证集。您仍然使用培训集,但随后使用验证集测试哪些结果最好。
https://datascience.stackexchange.com/questions/49266
复制相似问题