关于训练集、验证集和测试集的理解

  1. 训练集是在训练阶段使用的数据集,训练集的目的是为了在既定的假设空间中找到一组最优参数。
  2. 验证集是为了验证模型的效果。验证集的目的是为了寻找最优的超参数,比如神经网络的层数、每层节点的个数、优化器的选择、迭代的次数等。基于一组超参数,都可以通过训练集训练出一个最优的模型,然后通过验证集再比较每组超参数训练的模型的效果,从而得到最优的那组超参数。
  3. 测试集是用于评估模型最终的泛化能力。原因在于我们通过手动调超参数,只要次数足够多,总能够找到一组超参数使模型在验证集上表现特别优秀。但不要忘了,验证集只是所有非训练数据中的一部分,并不能真正代表全部的数据,所以通过这种方法找到的超参数实际是在对验证集的过拟合。为了真实体现出模型的好坏,于是需要另外一批非训练集的数据来作为测试集,最终验证模型的泛化能力。

猜你喜欢

转载自blog.csdn.net/u010414589/article/details/108691767