训练集测试集验证集的区别

本文介绍了数据集的正确划分方式,包括训练集、验证集和测试集的作用。训练集用于模型拟合和参数调整,验证集则用于超参数调优和监控模型训练过程,防止过拟合,而测试集则在模型训练完毕后评估其泛化能力。理解这三个集合的功能对于提升模型性能至关重要。通过有效的数据集划分,可以提高模型训练效率并确保模型在实际应用中的表现。
摘要由CSDN通过智能技术生成

在写代码时,数据集的划分时常影响我们的准确率,好的数据集划分一般分为训练集(training set),验证集(development set/validation set)和测试集(test set)。

  • 训练集:用于模型拟合的数据样本,即用于训练的样本集合,主要用来训练神经网络中的参数,
  • 验证集:模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。
  • 测试集:用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。


P1:训练集的作用
拟合模型,调整网络权重。

P2:验证集的作用
作用1:快速调参,也就是通过验证集我们可以选择超参数(网络层数、网络节点数、迭代次数epoch、学习率learning rate、优化器)等,如果把测试集当验证集,调参去拟合测试集,是不可行地,这相当于作弊。
作用3:监控模型训练过程,是否需要停止,是否欠拟合,是否学习到走火入魔(过拟合)

验证集的重要性:
如果没有设置验证集,我们通常得等到测试集才可以知道我们模型真正得实力,然后再来调整参数,这样时间代价较高,通过验证集我们可以训练几个epoch后查看模型的训练效果及我们的网络是否出现异常,然后决定怎么调整我们的超参数。

P3:测试集的作用
仅仅用来评估模最终模型的泛化能力,确认网络的实际预测能力。

个人对数据集的理解:

  • 训练集------------作业;学生根据数据来掌握知识。
  • 验证集------------小考;初步验证学习成果,纠正学习方法(超参数)。
  • 测试集------------高考;验证泛化能力。



网络的步骤:
Step1:训练普通参数。
在训练集(给定超参数)上利用学习算法,训练普通参数,使得模型在训练集上的误差降低到可接受的程度。
Step2:训练超参数。
在验证集上验证网络的generalization error(泛化能力),并根据模型性能对超参数进行调整,同时也可以判断模型是否过拟合。
Step3:重复1和2两个步骤,直至网络在验证集上取得较低的generalization error。此时完整的训练过程结束。在完成参数和超参数的训练后,在测试集上测试网络的性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值