文章目录

  1. 1. 训练集
  2. 2. 验证集
  3. 3. 测试集
  4. 4. 划分的好处
  5. 5. 比例分配
  6. 6. 概念混淆
  7. 7. 参考资料

阅读完《TensorFlow 学习摘要(三) 深度学习 - 手写数字识别入门 - MNIST机器学习》,我们现在来了解一些核心概念与优化方案。这篇文章,我们先来梳理下训练集、测试集和验证集

一般情况下,我们会将数据集分成:训练集(train set) 、验证集(validation set) 、测试集(test set)。

训练集

训练集,主要作用是估计模型。学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。

验证集

验证集,主要作用是确定网络结构或者控制模型复杂程度的参数。对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

测试集

测试集,主要作用是检验最终选择最优的模型的性能如何。主要是测试训练好的模型的分辨能力(识别率等)。

划分的好处

如果我们把所有数据都用来训练模型的话,建立的模型自然是最契合这些数据的,测试表现也好。但换了其它数据集测试这个模型效果可能就没那么好了。事实上,训练集和测试集相同的话,模型评估结果可能比实际要好。 因此,我们需要对数据集进行划分。

比例分配

这三个集合不能有交集,常见的比例是8:1:1。当然比例是人为的,我们可以将验证集和测试集比例调得更小些。

概念混淆

很多人,会把验证集测试集进行混淆,认为是同一个东西。事实上,验证集用于进一步确定模型中的超参数(例如正则项系数、ANN中隐含层的节点个数等),而测试集只是用于评估模型的精确度(即泛化能力)。

一般情况下,我们把训练数据常被划分为训练集验证集,把测试数据叫做测试集

参考资料

(完)

微信公众号

文章目录

  1. 1. 训练集
  2. 2. 验证集
  3. 3. 测试集
  4. 4. 划分的好处
  5. 5. 比例分配
  6. 6. 概念混淆
  7. 7. 参考资料