这是本文档旧的修订版!
基本概念
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模型用的验证集,你也不能把这两个集合跑出来的结果放在一起比较。
验证
验证集,就如同高考的模拟考试。
不同于高考,模拟考只是你调整自己状态的指示器而已。
状态不够满意,你可以继续调整。
测试模型为最终模型,只有一个。
就如同每年的高考,你只能参加一回。
考成什么样儿,就是什么样。
注意:不能用验证集的准确率来衡量模型。不能把同样的题做他个三五遍,然后从中找最高分去跟别人比。
训练
如果测试集是高考试卷,验证集是模拟考试卷,那么训练集呢?
大概包括很多东西,例如作业题、练习题。
参考