====== 基本概念 ====== - Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.  - Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.  - Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.  - 训练集:学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。 - 验证集:对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。 - 测试集:主要是测试训练好的模型的分辨能力(识别率等) **注意:比较模型效能数值结果时,你只能拿不同的模型,在同样的测试集上面比**。 **不要考虑对方声称达到了多高准确率。把他提供给你的数据全集,自行切分。之后复现对方的模型,重新跑。 论文里要写上一句:** 由于某篇文章未提供代码与具体数据切分说明,带来可重复性问题,我们不得不独立复现了其模型,并在测试集完全一致的情况下,进行了比对。 ====== 测试 ====== 只有在同样的测试集上,两个(或以上)模型的对比才有效。 这就如同参加高考,两个人考同样一张卷子,分数才能对比。 **注意:哪怕A模型用的测试集,就是B模型用的验证集,你也不能把这两个集合跑出来的结果放在一起比较。 ** ====== 验证 ====== 验证集,就如同高考的模拟考试。 不同于高考,模拟考只是你调整自己状态的指示器而已。 状态不够满意,你可以继续调整。 测试模型为最终模型,只有一个。 就如同每年的高考,你只能参加一回。 考成什么样儿,就是什么样。 **注意:不能用验证集的准确率来衡量模型。不能把同样的题做他个三五遍,然后从中找最高分去跟别人比。** ====== 训练 ====== 如果测试集是高考试卷,验证集是模拟考试卷,那么训练集呢? 大概包括很多东西,例如作业题、练习题。 ====== 参考 ====== [[https://www.jianshu.com/p/45aa52002fc8|如何正确使用机器学习中的训练集、验证集和测试集?]]