看了看网上的博客,发现验证集和训练集并没有冲突啊.训练集必须和测试集分开这个是很好理解的.但是我不明白为什么验证集一定从训练集中分出来?
验证集的目的是调整超参数.超参数不能够在训练时自动调整,是因为容易发生过拟合.因此需要每次重新人工设定超参数,然后在验证集上训练并测试.但是我用全部的训练集数据去验证新的超参数下的模型效果不是也可以吗?
难道是为了缩短训练时间?问题比较初级,还望指教.谢谢
不能。验证集的作用在于模拟测试集,而测试集的最大特点就是「未知」,即在训练过程中是见不到的。正因为验证集和测试集在训练过程中都是未知的,你才可以说,「如果你的超参数适用于验证集,那么它们也大概会适用于测试集」。如果你不分开验证集和测试集,那么你调出的超参数就是适用于训练集的,但因为训练集和测试集不具有「未知」这个共同点,所以训练集上的好性能不一定能泛化到测试集上去,这就叫「过拟合」。
作者:王赟 Maigo
链接:https://www.zhihu.com/question/265443164/answer/294005100
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。