前言
以下介绍的训练数据集、验证数据集、测试数据集的概念均是来自沐神《动手学深度学习》中的介绍,并举常见的例子以方便理解
训练数据集
训练数据集就是我们所理解的概念,用来训练模型、更新参数的数据集。通过对其的多轮学习,反向传播不断更新模型参数(注意不是超参数),以获得预测能力更强的模型。
验证数据集
验证数据集是我们日常学习中很少提及到,但却一直在使用到的概念,不过我们通常都管它叫“测试数据集”。
我们通常借助验证数据集来选择模型的超参数,评估模型的 拟合/过拟合 。
在目前的学习中,大家都使用“测试数据集”的称呼来代替验证数据集,也就是说,当别人告诉你“测试数据集”时,你应该知道它真正的名字应该是“验证数据集”。
测试数据集
测试数据集是只用一次的数据集,即待模型的参数和超参数都确定后,用来衡量模型效果的数据集。
总结
训练数据集用来训练模型、更新模型参数。
目前我们通常叫做的“测试数据集”其实是“验证数据集”,在模型训练过程中,通过模型在验证数据集上的表现来选择超参数。
真正的“测试数据集”是在模型已经训练完后,用来估计模型泛化误差的。
将以上三个概念对标大学生的生活是:训练数据集可以看成日常学习,验证数据集可看成考前试卷模拟,测试数据集则才是真正的期末考试。