使用数据集时,一般将其分为三段:训练集、验证集、测试集。
-
测试集
决不能使用测试集来进行调优,会造成算法对测试集过拟合。应该把测试集看做非常珍贵的资源,不到最后一步,绝不使用它。
-
验证集
由于测试数据集只使用一次,所以,从训练集中取出一部分数据作为验证集(validation set)。验证集其实就是作为假的测试集来调优。
-
交叉验证
有时候,训练集数量较小(因此验证集的数量更小),人们会使用一种被称为交叉验证的方法,这种方法更加复杂些。
可以将训练集平均分成 5 份,然后我们循环着取其中4份来训练,其中1份来验证,最后取所有5次验证结果的平均值作为算法验证结果。