训练集、测试集和验证集
为什么除了训练集和测试集还需要加验证集?
我们介绍了使用测试集和训练集来推动模型开发迭代的流程。在每次迭代时,我们都会对训练数据进行训练并评估测试数据,并以基于测试数据的评估结果为指导来选择和更改各种模型超参数,例如学习速率和特征。**但是多次重复执行该流程可能导致我们不知不觉地拟合我们的特定测试集的特性。**通过将数据集划分为三个子集(如下图所示),您可以大幅降低过拟合的发生几率:
利用这三个集合来重新定义模型的训练流程
在这一经过改进的工作流程中:
选择在验证集上获得最佳效果的模型。
使用测试集再次检查该模型。
该工作流程之所以更好,原因在于它暴露给测试集的信息更少。