首先,validation_dataset是为了减少过拟合情况的发生而提出的。
为了减少过拟合,训练好的模型要进行调参,来获得更好的对于未知样本(test_dataset)的适应性,所以在training_set和test_set之外,有了validation_dataset,比如我们现在要寻找一个问题解的最优模型,training_dataset是用来训练几种备选的算法(模型),用validation_dataset来比较它们的表现,调参(比如神经网络中隐藏层的神经元个数),选择最优的,最后再用test_dataset来得到这几种模型的性能参数(准确率,耗时,灵敏度,特异度,等等),我们可以这样描述validation_dataset:它是training_dataset,却用来做测试,但既不是底层的training,也不是最终的测试。
validation_dataset是从training_dataset中随机分出的一部分,一般占原数据集的30%,并且这个过程是可重复的,就是十字验证(cross_validation)有时候把这两部分合称为design_set