当前位置: 首页 > news >正文

训练集,验证集,测试集

在机器学习和深度学习中,我们通常不会用全部数据来训练模型,而是将其划分为三个独立的部分:训练集验证集测试集

这就像一个学生准备考试一样:

1. 训练集 (Training Set)

训练集是学生上课时做的所有练习题

  • 作用:用来训练模型。模型通过在训练集上学习数据中的模式和规律,并根据这些规律来调整自己的参数(权重和偏置)。
  • 在你的代码中train_dataloader 提供的就是训练集数据,用于在每个 epoch 中进行前向传播和反向传播,以更新模型参数。

2. 验证集 (Validation Set)

验证集是学生做的模拟卷或课后作业

  • 作用:用来在训练过程中评估模型的性能。由于模型在训练时会“记住”训练集的内容,为了确保模型具有泛化能力(即能处理新数据),我们必须用它从未见过的数据来定期检验。验证集可以帮助我们:
    • 调整超参数:例如,选择最合适的学习率、隐藏层数量等。
    • 防止过拟合:如果模型在训练集上表现越来越好,但在验证集上表现开始变差,就说明模型可能过拟合了,这时我们应该停止训练。
  • 在你的代码中:你的代码中没有显式地使用验证集,而是用测试集来代替评估过程。在更严谨的实践中,这两个集是分开的。

3. 测试集 (Test Set)

测试集是学生最终的期末考试

  • 作用:用来最终评估模型的性能。在模型训练和超参数调整都完成后,我们会使用测试集来得到一个模型在真实世界数据上的最终性能指标(如准确率)。
  • 为什么需要它:测试集是一个完全独立且“神圣”的数据集,它在训练和验证的任何阶段都不能被模型看到。这样做是为了确保最终的评估结果是公正、客观的,能够真实反映模型在处理全新数据时的能力。
  • 在你的代码中dev_dataloader 提供的就是测试集数据,用来计算每个 epoch 结束时的准确率。

总结

  • 训练集:让模型学习
  • 验证集:帮助你调整模型和超参数。
  • 测试集:提供一个无偏的最终评估

正确地划分和使用这三个数据集是构建健壮、可靠的机器学习模型的关键步骤。

http://www.hskmm.com/?act=detail&tid=13603

相关文章:

  • Android 项目:画图白板APP开发(六)——分页展示 - 教程
  • ESP32 读取旋转编码器
  • mysql/oracle LEFT JOIN 取时间最大的数据
  • 6月6日证书 - 工信部人才交流中心PostgreSQL中级PGCP高级PGCM认证
  • 基于遗传算法与非线性规划的混合优化算法在电力系统最优潮流中的实现
  • 【下一款产品】
  • 数1的个数
  • 通过ML.Net调用Yolov5的Onnx模型
  • Java-如何在Eclipse开发-数组
  • 常用数据生成器
  • 基于RSSI修正的定位算法分析
  • c# 反射动态添加Attribute
  • MyBatis-Plus 全方位深度指南:从入门到精通
  • 鸿蒙项目实战(十):web和js交互
  • 【9.24 直播】集群数据管理实战:时序数据库 IoTDB 数据分区、同步与备份详解
  • 函数计算进化之路:AI 应用运行时的状态剖析
  • 01_进程与线程
  • 第六届医学人工智能国际学术会议(ISAIMS 2025)
  • redis 6.0 多线程
  • docker 常用命令与端口映射
  • linux重启mysql服务,几种常见的方法
  • opencv学习记录3
  • 统计分析神器 NCSS 2025 功能亮点+图文安装教程
  • mysql常用语句,常用的语句整理
  • 当写脚本循环更新几百万数据发现很慢怎么办 - 孙龙
  • 服装采购跟单系统的高效管理实践 - 详解
  • 和汽车相关的国内期刊
  • 服务器CPU、内存、磁盘、网络使用率,东方通CPU使用率东方通内存使用率监控脚本
  • 3 网络基础知识+web基础知识+部署Server
  • wxpython图形界面_01_最小基本结构