以下内容转自:

训练集、验证集和测试集的意义-JobPlus

在有监督的机器学习中,经常会说到训练集(train)、验证集(validation)和测试集(test),这三个集合的区分可能会让人糊涂,特别是,有些读者搞不清楚验证集和测试集有什么区别。

1 划分

如果我们自己已经有了一个大的标注数据集,想要完成一个有监督模型的测试,那么通常使用均匀随机抽样的方式,将数据集划分为训练集、验证集、测试集,这三个集合不能有交集,常见的比例是8:1:1,当然比例是人为的。从这个角度来看,三个集合都是同分布的。

如果是做比赛,官方只提供了一个标注的数据集(作为训练集)以及一个没有标注的测试集,那么我们做模型的时候,通常会人工从训练集中划分一个验证集出来。

2 参数

有了模型后,训练集就是用来训练参数的,说准确点,一般是用来梯度下降的。而验证集基本是在每个epoch完成后,用来测试一下当前模型的准确率。因为验证集跟训练集没有交集,因此这个准确率是可靠的。那么为啥还需要一个测试集呢?

这就需要区分一下模型的各种参数了。事实上,对于一个模型来说,其参数可以分为普通参数和超参数。在不引入强化学习的前提下,那么普通参数就是可以被梯度下降所更新的,也就是训练集所更新的参数。

另外,还有超参数的概念,比如网络层数、网络节点数、迭代次数、学习率等等,这些参数不在梯度下降的更新范围内。尽管现在已经有一些算法可以用来搜索模型的超参数,但多数情况下我们还是自己人工根据验证集来调。

3 所以

那也就是说,从狭义来讲,验证集没有参与梯度下降的过程,也就是说是没有经过训练的;但从广义上来看,验证集却参与了一个“人工调参”的过程,我们根据验证集的结果调节了迭代数、调节了学习率等等,使得结果在验证集上最优。因此,我们也可以认为,验证集也参与了训练。

那么就很明显了,我们还需要一个完全没有经过训练的集合,那就是测试集,我们既不用测试集梯度下降,也不用它来控制超参数,只是在模型最终训练完成后,用来测试一下最后准确率。

4

然而

聪明的读者就会类比到,其实这是一个无休止的过程。如果测试集准确率很差,那么我们还是会去调整模型的各种参数,这时候又可以认为测试集也参与训练了。好吧,我们可能还需要一个“测试测试集”,也许还需要“测试测试测试集”...

算了吧,还是在测试集就停止吧。

我们通常不再划分一个测试集,可能的原因有两个:

1、我们也没法保证要提交的测试集是否跟训练集完全同分布,因此再划分一个跟训练集同分布的测试集就没多大意义了。

2、如果测试集准确率很差,那么我们还是会去调整模型的各种参数,这时候又可以认为测试集也参与训练了。

以下内容转自:

训练集、验证集、测试集的作用_22年继续加油!的博客-CSDN博客_训练集和测试集的作用

2. 训练集、验证集、测试集的作用
训练集(Training set)的作用:更新模型参数。

验证集(开发集)(Dev set) 的作用:评估训练得到的多种不同模型或者是带着不同参数的同一模型的效果,再根据模型在验证集的效果对模型进行选择和调参(因此可以说验证集也参与了训练),使得模型效果在验证集达到最优,最后选出效果最好的模型。

测试集(Test set) 的作用:对最终筛选出来模型的泛化能力进行评价。测试集最重要的是未知,即用一个学习集之外的数据集来对模型的效果进行评估,看看模型能否给出合适的输出;就像是用一张你平时刷题没刷到过的题组成的卷子,来检验你对知识的掌握情况,这样才合理嘛。

另外,我想提一下这个: 对于测试集的作用,Ng原话是:对最终选定模型的性能进行无偏估计。我刚看课程时是云里雾里的,后面发现对于测试集作用,两句话其实是一个意思

训练集、验证集、测试集的作用和意义相关推荐

  1. 【小白学PyTorch】 2.浅谈训练集验证集和测试集

    文章目录: 经验误差与过拟合 评估方法 经验误差与过拟合 关键词:错误率(error rate),精度(accuracy). 错误率好理解,就是m个样本中,a个样本分类错误,则错误率E = a/m . ...

  2. 训练集 验证集_训练与验证、测试集数据分布不同的情况

    在不同分布的数据集上进行训练与验证.测试 深度学习需要大量的数据,但是有时我们可获得的满足我们真实需求分布的数据并不是那么多,不足以对我们的模型进行训练.这时我们就会收集大量相关的数据加入到训练集中, ...

  3. 机器学习中训练集、验证集和测试集的作用

    通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集.验证集合测试集,划分比例一般为0.6:0.2:0.2.对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的.泛化能力 ...

  4. 【入门篇】如何正确使用机器学习中的训练集、验证集和测试集?

    [注] ·本文为转载文章,原文作者是王树义老师,原文链接为 https://zhuanlan.zhihu.com/p/71961236 训练集.验证集和测试集,林林总总的数据集合类型,到底该怎么选.怎 ...

  5. 机器学习中训练集、验证集和测试集的区别

    通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集.验证集合测试集,划分比例一般为0.6:0.2:0.2.对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的.泛化能力 ...

  6. 训练集、验证集和测试集这三个名词的区别

    训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...

  7. 如何正确使用机器学习中的训练集、验证集和测试集?

    王树义 读完需要 19 分钟 速读仅需7分钟 训练集.验证集和测试集,林林总总的数据集合类型,到底该怎么选.怎么用?看过这篇教程后,你就能游刃有余地处理它们了. 1 问题 审稿的时候,不止一次,我遇到 ...

  8. 什么是训练集、验证集和测试集?

    在机器学习中,训练集.验证集和测试集是数据集的三个重要部分,用于训练.评估和测试机器学习模型的性能.它们的定义和作用如下: 什么是训练集.验证集和测试集? 训练集:训练集是机器学习模型用于训练和学习的 ...

  9. 【神经网络】学习笔记十五——训练集,验证集和测试集

    以前一直知道神经网络划分数据集时要分为训练集,测试集和验证集,但不知道并且一般以6:2:2的比例划分,到头来不知道这三者各是啥,以及他们的作用是什么.本片文档解释一下三者的作用. 重点在于验证集和测试 ...

  10. 机器学习典型步骤以及训练集、验证集和测试集概念

    1. 机器学习典型步骤 数据采集和标记 数据清洗 特征选择 如房子的面积.地理位置.朝向.价格等. 模型选择 有监督还是无监督,问题领域.数据量大小.训练时长.模型准确度等多方面有关. 模型训练和测试 ...

最新文章

  1. 20162303 2016-2017-2 《程序设计与数据结构》第六周学习总结
  2. 工业相机之全局曝光与卷帘曝光
  3. 近期活动盘点:2018数据与媒介发展论坛、大数据应用中日交流论坛(11.04-11.15)...
  4. springboot中的spring-session用mysql实现session共享实践
  5. Jenkins安装入门
  6. 几种人类设计的永动机,最后一个彻底服了!| 今日最佳
  7. [2020.10.30NOIP模拟赛]字符串水题【SA,树状数组】
  8. pxe装机dhcp获取不到_关于PXE服务器环境搭建流程中遇到的问题及解决方法
  9. echarts同一页面四个图表切换的js数据交互
  10. 18107 校赛排名
  11. linux下安装EJBCA 搭建私有CA服务器
  12. java机房收费管理系统课程设计_(c语言)机房收费管理系统课程设计
  13. java web 上传图片_java web图片上传和文件上传实例
  14. OpenStack Queens 女王新神器 — 卷多重挂载
  15. PowerDesigner批量导出sql建表语句
  16. win10下SVN图标不显示
  17. 大自然Windows XP日文版镜像
  18. Flink SQL Client初探
  19. iOS播放器开发之MPMoviePlayerController
  20. JAVA制作QQ空间点赞_仿QQ空间点赞列表的实现【原创】

热门文章

  1. Python并发编程之进程池
  2. 基于tensorflow、CNN网络识别花卉的种类(图像识别)
  3. 神码ai人工智能写作机器人_机器学习简介part1与人工智能的比较
  4. html基础-几种布局
  5. Excel计算个人所得税的计算公式:
  6. 【Android】底部导航栏【BottomNavigationView】+【ViewPage2】
  7. 浏览器主页被360/2345等劫持
  8. 全球与中国丁苯乳胶市场应用前景及营销渠道分析报告2021~2026年
  9. 3.7 矩阵最小二乘广义逆
  10. PPT如何保存高分辨率高清jpg图片, 三种简单方法,无需其他软件辅助