7、改善深层神经网络之训练/开发/测试集

在配置训练、验证和测试数据集的过程中做出正确决策会在很大程度上帮助大家创建高效的神经网络。训练神经网络时,我们需要做出很多决策,例如:

  1. 神经网络分多少层
  2. 每层含有多少个隐藏单元
  3. 学习速率是多少
  4. 各层采用哪些激活函数

在配置训练、验证、和测试数据集的过程中做出正确的决策会更好地创建高效的神经网络,所以需要对这三个名词有一个清晰的认识。

  训练集:用来训练模型

  验证集:用于调整模型的超参数,验证不同算法,检验哪种算法更有效

  测试集:根据最终的分类器,正确评估分类器的性能

假设有一个数据集,我们通常会将这些数据划分成几部分,一部分作为训练集,一部分作为简单交叉验证集,有时也称之为验证集,方便起见,我就叫它验证集(dev set),其实都是同一个概念,最后一部分则作为测试集。用一个长方形表示:

  • 如果数据只有100条,1000条或者1万条数据,通常将样本集设置为70%验证集,30%测试集。,如果没有明确设置验证集,也可按照60%训练集,20%验证和20%测试集来分类较为合理。
  • 如果数据规模比较庞大,验证集和测试集要小于数据总量的20%或10%
  • 测试集的目的是对最终所选定的神经网络系统做出无偏估计,如果不需要无偏估计可以不设置测试集。所以如果只有验证集,没有测试集,需要做的就是在训练集上训练尝试不同的模型,在验证集上评估这些模型,然后迭代并选出适用的模型

参考:https://www.cnblogs.com/selenaf/p/9070076.html

原文地址:https://www.cnblogs.com/hzzhbest/p/15156444.html