关于深度学习中概念【训练集】【验证集】【测试集】【参数】【超参数】的理解

前言

对深度学习中的相关概念一直含糊不清,尤其是验证集和测试集,一直感觉差不多,查阅相关资料后,有了较深的理解,在此记录,方便之后在查看或者补充。

参数和超参数

  • 参数:指模型可以根据数据可以自动学习出的变量,如深度学习的权重,偏差等。
  • 超参数:人工根据经验给定用来确定模型的一些参数,不同的超参数对应不同的模型。深度学习中,超参数有:学习速率,迭代次数,网络层数,每层神经元的个数等。

训练集、验证集、测试集的作用

  • 训练集用来调试神经网络
  • 验证集用来查看训练效果
  • 测试集用来测试网络的实际学习能力
  1. 训练集很好理解,就是用来训练模型的数据,参与调节网络的参数和参数权重的更新。

比较容易混淆的是验证集和测试集。

  1. 验证集用于评估模型和超参数调整,是在训练过程中就要使用的。比如训练了几个epoch之后,可以观察模型在验证集上的表现,可以监控模型是否发生过拟合现象。如果训练集准确率一直上升,验证集不升反降,那么我们认定此模型发生过拟合,那么我们可以借此选择停止训练的时间点,同时此时可以调整模型上的超参数继续训练,避免先前出现的问题。这就可以在训练中及时做出调整,而不用等整个模型训练结束,注意只是作为依据,并不直接参与模型参数的改变。相当于是及时止损。
  2. 测试集是用来评估模型的最终泛化能力,也就是模型已经训练出来了,再不改动了,此时就用测试集去测试,因此测试集不能作为调参、选择特征等算法相关的选择的依据。

同时,如果对模型做出了改动,要用模型在验证集上的表现来衡量改动是否是好的,同时尽可能保证验证集与测试集的数据分布是相同的,其实就相当于用验证集近似测试集。


博客https://zhuanlan.zhihu.com/p/113296640中进行了一个很形象的比喻:

  • 训练集-----------学生的课本;学生根据课本里的内容来掌握知识。
  • 验证集-----------作业;通过作业可以知道不同学生学习情况、进步的速度快慢。
  • 测试集-----------考试;考的题是平常都没有见过,考察学生举一反三的能力。
  1. 训练集直接参与了模型调参的过程,显然不能用来反映模型真实的能力(防止课本死记硬背的学生拥有最好的成绩,即防止过拟合)。
  2. 验证集参与了人工调参(超参数)的过程,也不能用来最终评判一个模型(刷题库的学生不能算是学习好的学生)。
  3. 因此通过最终的考试(测试集)来考察一个学(模)生(型)真正的能力(期末考试)

数据集的划分

一般训练集、验证集和测试集的划分比例是 6 :2 : 2。当然也可以没有验证集。

参考资料

[1] https://zhuanlan.zhihu.com/p/113296640
[2] https://www.zhihu.com/question/67088399

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半岛铁子_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值