深度学习圣经 里面关于超参数和验证集这一章节

  在NG的ML课程中和西瓜书中都有提到:最佳的数据分类情况是把数据集分为三部分,分别为:训练集(train set),验证集(validation set)和测试集(test set)。那么,验证集和测试集有什么区别呢?

 实际上,两者的主要区别是:验证集用于进一步确定模型中的超参数(例如正则项系数、ANN中隐含层的节点个数等)而测试集只是用于评估模型的精确度(即泛化能力)!

   举个例子:假设建立一个BP神经网络,对于隐含层的节点数目,我们并没有很好的方法去确定。此时,一般将节点数设定为某一具体的值,通过训练集训练出相应的参数后,再由交叉验证集去检测该模型的误差;

然后再改变节点数,重复上述过程,直到交叉验证误差最小。此时的节点数可以认为是最优节点数,即该节点数(这个参数)是通过交叉验证集得到的。而测试集是在确定了所有参数之后,根据测试误差来评判这个学习模型的;也可以说是用来评估模型的泛化能力。所以,验证集主要主要是用于模型的调参。

原书是这么说的:验证集是用来 训练超参数的, 等到所有的超参数都经过优化以后,就通过 测试集来评估训练好的模型的好坏了(也就是泛化能力强不强)

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页