测试集和验证集的区别

训练数据(Test Data):用于模型构建
验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。

作者:Scofield
链接:https://www.zhihu.com/question/26588665/answer/161718839
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


 实际上,两者的主要区别是:验证集用于进一步确定模型中的超参数(例如正则项系数、ANN中隐含层的节点个数等)而测试集只是用于评估模型的精确度(即泛化能力)!
 
举个例子:假设建立一个BP神经网络,对于隐含层的节点数目,我们并没有很好的方法去确定。此时,一般将节点数设定为某一具体的值,通过训练集训练出相应的参数后,再由交叉验证集去检测该模型的误差;然后再改变节点数,重复上述过程,直到交叉验证误差最小。此时的节点数可以认为是最优节点数,即该节点数(这个参数)是通过交叉验证集得到的。而测试集是在确定了所有参数之后,根据测试误差来评判这个学习模型的;也可以说是用来评估模型的泛化能力。所以,验证集主要主要是用于模型的调参。

猜你喜欢

转载自blog.csdn.net/jh_zhai/article/details/80015591
今日推荐