1、什么情况下需要验证集?
由前一篇文章我们可以知道,当假设函数确定之后,我们在对假设函数进行评估时只需要经过训练和测试两个步骤即可,数据集也只需要测试集和训练集。
但是,当我们假设函数不确定,有多个假设函数(模型)可以选择的时候,我们就需要通过验证集来进行模型的筛选。
这是为什么呢?为什么不能直接根据模型在测试集的表现进行模型的选择呢?其实,主要时因为测试集的主要作用是评估模型的泛化误差,如果在模型选择时使用测试集,就很有可能造成模型在测试集上拟合,从而降低模型的泛化能力。
所以,我们在进行模型选择的时候,就需要训练集/验证集/测试集的存在,其中,训练集负责学习模型的参数(通过最小化训练集上的误差),验证集负责模型的选择(选择在验证集上误差最小的模型作为最佳模型),测试集负责评估选择好的模型的泛化能力。
2、训练集/验证集/测试集的划分
一般按照6:2:2及进行划分。