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

训练集,验证集,测试集

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

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

1. 训练集 (Training Set)

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

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

2. 验证集 (Validation Set)

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

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

3. 测试集 (Test Set)

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

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

总结

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

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

http://www.rkmt.cn/news/9739.html

相关文章:

  • ESP32 读取旋转编码器
  • 数1的个数
  • 基于RSSI修正的定位算法分析
  • 接口测试流程+jmeter并发+面试题(总结) - 指南
  • 完整教程:Java多线程初阶
  • 当写脚本循环更新几百万数据发现很慢怎么办 - 孙龙
  • 服装采购跟单系统的高效管理实践 - 详解
  • 服务器CPU、内存、磁盘、网络使用率,东方通CPU使用率东方通内存使用率监控脚本
  • 什么是 AutoModel
  • 深入解析:STM32——WDG看门狗
  • wxpython图形界面_01_最小基本结构
  • 006_字典操作
  • 东方通中间件嵌入式监控脚本
  • 个人作业-第二次软件工程作业
  • 实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术
  • 别的摄像机都能国标GB28181注册上,就这台海康摄像机注册不上来,国标配置都反复检查没问题
  • 003_for循环操作列表和元组
  • linux 文件传输命令
  • Redis AOF原理
  • ANSYS Electronics 2025 R1 安装与使用全流程图文教程
  • 实用指南:通义DeepResearch论文六连发全面解读
  • Notepad++8.6免费版下载及安装教程(附安装包)2025最新整理
  • mysql表新增字段,基本语法
  • 微波雷达模块WT4101重新定义饮水机茶吧机等智能家居
  • 硝基甲苯之魇
  • 关于串口通信(232、485、422)和常见问题,一篇文章就给你说清楚~
  • day13-Trae之一键换脸APP开发03
  • 摩尔投票法
  • 基于STM32平台的ADS1292心电采集驱动程序
  • C#开发的等待界面类库例子 - 开源研究系列文章