验证集与测试集的区别

Posted morwing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证集与测试集的区别相关的知识,希望对你有一定的参考价值。

验证集与测试集的区别

验证集 —— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。

测试集 —— 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。

技术图片

 

 一个形象的比喻:

    训练集-----------学生的课本;学生 根据课本里的内容来掌握知识。

    验证集------------作业,通过作业可以知道 不同学生学习情况、进步的速度快慢。

    测试集-----------考试,考的题是平常都没有见过,考察学生举一反三的能力。

  传统上,一般三者切分的比例是:6:2:2,验证集并不是必须的。

  那么为什么要测试集呢?

    a)训练集直接参与了模型调参的过程,显然不能用来反映模型真实的能力(防止课本死记硬背的学生拥有最好的成绩,即防止过拟合)。

    b)验证集参与了人工调参(超参数)的过程,也不能用来最终评判一个模型(刷题库的学生不能算是学习好的学生)。

    c)所以要通过最终的考试(测试集)来考察一个学(模)生(型)真正的能力(期末考试)。

  但是仅凭一次考试就对模型的好坏进行评判显然是不合理的,所以就要使用交叉验证法。交叉验证法的作用就是尝试利用不同的训练集/验证集划分来对模型做多组不同的训练/验证,来应对单独测试结果过于片面以及训练数据不足的问题。(就像通过多次考试,才得知哪些学生是比较厉害的)

以上是关于验证集与测试集的区别的主要内容,如果未能解决你的问题,请参考以下文章

基于栈的指令集与基于寄存器的指令集的区别

训练集验证集和测试集的作用和区别

验证集和测试集的区别

测试数据集 和验证数据集 之间的区别

sql查询聚合与聚合和查询OLAP多维数据集的区别

分割训练集测试集验证集的两种方式