训练集、验证集和测试集

本文详细解释了训练集、验证集和测试集在深度学习中的作用,强调了它们之间的联系以及实验中的注意事项。此外,还介绍了交叉验证的概念,特别是K折验证,以及模型参数和超参数的区别。
摘要由CSDN通过智能技术生成


训练集、验证集和测试集概念

训练集(Training Set): 用于训练模型的数据集。训练集用来训练模型,拟合出数据分布规律,即确定模型的权重和偏置等参数,这些参数称为学习参数。

  • 训练集使用多次
  • 确定模型权重、偏置等学习参数
  • 训练出(学习出)模型

验证集(Validation Set): 用于验证模型性能的数据集。在模型训练过程中,验证集用来调整模型参数和超参数,以优化模型性能,避免过拟合,即验证集用于模型选择,并不参与学习参数的确定,而是为了选择出模型误差较小的模型参数和超参数。

  • 验证集使用多次
  • 调整并选择模型参数和超参数
  • 选择模型(验证模型性能)

测试集(Test Set): 用于评估模型性能的数据集。在模型训练完成后,测试集用来评估模型的泛化能力(泛化能力即模型在未知数据上的表现),即测试集仅在训练完成后使用一次,评价最终模型的效果(其实,测试集可以跑多个epoch)。

  • 不参与学习参数过程,也不参与超参数选择过程
  • 测试集仅使用一次,完全独立,测试集未参与过训练或验证
  • 评价最终模型

三者的联系和实验注意事项

在这里插入图片描述

  • 因训练集在学习模型过程中反复大量使用,验证集对模型偶尔的调整,测试集只对最终模型评价,所以,训练集、验证集和测试集数据常常划分关系:8:1:1或6:2:2,且三个数据集所用数据是不重叠的,是不同的

  • 测试集如同高考,决定最终成绩,决定最终模型性能,两人参加高考考同一份试卷,分数才能作对比,即只有在同样的测试集上,两个(或以上)模型的对比才有效
    (已有论文中常常不告知数据集的划分方式,为了和已有论文模型作对比,就是自己划分数据集,复现已有论文模型,将自己提出的模型和复现的对方的模型在相同测试集上作对比,说明自己提出模型的效果!!!);

  • 验证集如同高考的模拟考试——一模、二模、三模,通过参与模拟考,就可以调整自己考试状态,争取高考时达到一个好的状态,即验证集是为了从一堆可能的模型中,找到帮你表现最好的模型(指模型的参数、超参数),注意:这里的表现是在验证集上,选择了模型表现最好的超参数,再用测试集评估时,也可能存在效果不好的情况;

  • 训练集如同作业题、练习题、周测、月测等等,模拟考、高考题一般都不会和平时练习题相同,是为了让学生学会知识、规律和举一反三的能力,所以训练集、验证集和测试集最好都没有重叠,模型才具有说服力。(目前公开的数据集,很多都已经划分好了训练集、验证集和测试集,且都没有数据重叠)

  • 训练集和测试集易区分,验证集和测试集常搞混,验证集和测试集主要区别:
    在这里插入图片描述

交叉验证

将数据集单纯划分为训练集、验证集和测试集时,并不是所有数据都参与了训练,存在数据信息利用不全的弊端,由于验证集只代表一部分非训练数据集,导致最终训练好的模型测试时的泛化能力并不好,所以为了保证泛化误差的稳定性,得到理想的模型,可以使用交叉验证,这里介绍K折验证法
(交叉验证方法很多,此篇涉及多种以及代码实现:https://blog.csdn.net/WHYbeHERE/article/details/108192957)
K折交叉验证:
1.将数据集分为训练集和测试集,测试集放在一边。
2.将训练集分为 k 份,每次使用 k 份中的1 份作为验证集,其他全部作为训练集。
3.通过 k 次训练后,得到了 k 个不同的模型。
4.评估 k 个模型的效果,从中挑选效果最好的超参数。
5.使用最优的超参数,然后将 k 份数据全部作为训练集重新训练模型,得到最终所需模型,最后再到测试集上测试。

参数、超参数的理解

  • 模型参数: 参数属于模型内部的配置变量,它们通常在建模过程自动学习得出。如:线性回归或逻辑回归中的系数、支持向量机中的支持向量、神经网络中的权重、偏置。
  • 模型超参数: 超参数属于模型外部的配置变量,他们通常由研究员根据自身建模经验手动设定。如学习速率,迭代次数,层数、K近邻中的K值。

深度学习的三大要素

  • 数据
  • 架构
  • 损失
  • 26
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LSTM(Long Short-Term Memory)是一种常用于处理序列数据的深度学习模型。在使用LSTM进行训练时,通常会将数据集划分为训练集验证集测试集训练集(Training Set)是用于模型参数的学习和调整的数据集。通常情况下,我们会使用训练集中的样本来训练LSTM模型,并根据模型在训练集上的表现来调整模型参数。 验证集(Validation Set)是用于模型调优和选择的数据集。在训练过程中,我们会周期性地使用验证集来评估模型在未见过的数据上的性能,并根据验证集上的表现来选择合适的模型超参数、调整模型复杂度等。 测试集(Test Set)是用于最终评估模型性能的数据集。在模型训练和调优完成后,我们会使用测试集来评估模型在真实场景下的性能。测试集应该是与训练集验证集独立且相似分布的数据,以便准确地评估模型的泛化能力。 划分数据集时,一般会采用随机抽样的方式,确保训练集验证集测试集的样本都具有代表性。常见的划分比例是70%的数据用于训练,15%的数据用于验证,15%的数据用于测试,但这个比例可以根据具体的任务和数据规模进行调整。 需要注意的是,在使用LSTM进行数据集划分时,应确保时间序列数据的连续性。即,验证集测试集中的样本应该是在训练集之后的时间段内收集的数据,以模拟真实场景下模型的应用情况。这样可以更好地评估模型在未来数据上的泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值