在对机器学习算法进行学习和实践的时候,我们经常会遇到“验证集”和“测试集”,通常的机器学习书籍都会告诉我们,验证集和测试集不相交,验证集和训练集不相交,测试集和训练集不相交。也就是验证集与测试集似乎是同一级的东西,那么我们自然而然会有一个困惑为什么还要分测试集和验证集呢?
其实问题的答案是:训练集用于训练模型参数,测试集用于估计模型对样本的泛化误差,验证集用于“训练”模型的超参数。

什么是模型的参数
我们知道一个机器学习模型通常包括两个部分的参数:模型参数和超参数。其中超参数是用于控制模型行为的参数,这些参数不是通过模型本身学习而来的。例如多项式回归模型里面,多项式的次数,学习速率是超参数。这些超参数不能由模型本身训练得到是因为模型会倾向于把超参数训练的过大或者过小,从而极易导致过拟合。例如多项式回归模型里面,如果让模型本身去训练多项式的次数,那么模型会选择高次多项式,因为这样做误差可以取到特别小,极端情况下,N个点的多项式回归会选择次数N。

然而这些超参数,也会有不同的选择,例如学习速率可以选择0.1,0.01,1,10···那么我们怎么知道超参数的某个值会比另外一个好呢?一个很自然的想法是我们可以选择不同的超参数的值,然后跑在同一个训练集上再看最后的结果。但是这样会有一个类似的问题:如果使用训练集来选择超参数,那么超参数总是会往增加模型容量的方向发展。举个多项式的例子:如果训练集里面有100个点,然后我们让多项式的次数依次为1,10,20,100。然后让模型跑这个训练集,等训练集误差收敛后,我们再看在这个相同训练集,选择那个参数会取得最小的训练误差。。。显然选择次数100会是取得最小的训练误差···然而这显然会过拟合。那又怎么办呢?方法很简单,只要从这100个训练样本中取出一部分样本,让模型训练的过程看不到这些样本。然后再计算模型在这一部分样本中的表现,即可选择出合适的超参数。这种方式下得到的超参数最起码会比前一种方法更合理,更不会过拟合。而这一小部分样本,就是验证集啦

验证集与测试集的区别相关推荐

  1. 训练集、验证集、测试集的区别与应用

    0. 前言 最近一直在看论文.跑模型和做工程,很久没有来发博客了.但是在日常的学习和交流中,我感觉大家更加会关注当今最新的模型,最先进的算法,但是对于一些非常基础的内容的理解还不够透彻,我也是想借此机 ...

  2. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...

    首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters ...

  3. 训练集、验证集、测试集区分

    转载链接: validation set,是有标注,用于验证的 test set,是没有标注的 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test) ...

  4. 机器学习中为什么需要验证集,验证集与测试集的区别是什么?

    目录 1.为什么需要验证集 2.验证集与测试集的区别 3.如何使用验证集 4.为什么验证集和测试集都需要? 参考链接 1.为什么需要验证集 在机器学习中,训练模型时需要调节模型的参数来提高模型的性能, ...

  5. 训练集、验证集、测试集的作用和意义

    以下内容转自: 训练集.验证集和测试集的意义-JobPlus 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test),这三个集合的区分可能会让人糊涂, ...

  6. 【机器学习】训练集、验证集与测试集

    关于数据集的划分是基本概念,但是有时候看其他人代码时,经常被弄得云里雾里. 特作此记录. 目录 训练集(train set) 验证集(val set) 验证集的正确打开方式 测试集(test set) ...

  7. 一文彻底理解:训练集,验证集,测试集,交叉验证

    训练集(Train Set).验证集(Validation Set).测试集(Test Set)这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被混淆. 而交叉验证很多教材和 ...

  8. 训练集、验证集、测试集的作用和划分比例?

    今天与朋友交流的时候,我竟然把验证集和测试集搞反了.....另外还有就是数据划分的问题,我也是忘了,所以再次复习一下.... 问题一:什么是训练集.验证集.测试集以及它们的作用? 1.训练集 参与训练 ...

  9. 【机器学习算法面试题】六.训练集、验证集、测试集的理解。

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  10. 训练集,验证集,测试集,泛化误差总结

    能不能只要训练集,不要测试集? 模型参数包含两类:模型参数,超参数:我们的任务是通过调整超参数使得模型参数更好的拟合数据 如果不需要调整模型的超参数,那可以不用验证集: 验证集的作用是模拟测试集,我们 ...

最新文章

  1. 计算机组装人员的职责,自控设备组装员
  2. 十二、springboot 详解RestControllerAdvice(ControllerAdvice)
  3. 线性回归、逻辑回归、损失函数
  4. 广东--阳江--闸波一天游归来,上PP~~
  5. access工资明细表_《ACCESS》工资管理完整(整理).doc
  6. php zip下载损坏,php – 从zip中提取时损坏图像
  7. UNITY关于阴影打开关闭的设置
  8. 关于汉语转换拼音的组件
  9. Windows Server 2012配置开机启动项
  10. 第四章 ASP.NET MVC HTML.ActionLink输出超链接的具体用法
  11. Nginx @ Https
  12. 通用大数据架构-_通用做法-第4部分
  13. android勾选控件_【Android 开发】:UI控件之复选框控件 CheckBox 的使用方法
  14. char、int、long、float、double等在64位下占多少字节
  15. 时不变线性系统和时变线性系统方程的对角化
  16. 计算机无法关闭密码保护,Win7密码保护共享关闭不了怎么办?密码保护共享关不掉的解决方法...
  17. 腾讯笔试——安排机器 【 题目描述】小 Q 的公司最近接到 m 个任务, 第 i 个任务需要 xi 的时间去完成, 难度等级为 yi。 小 Q 拥有 n 台机器, 每台机器最长工作时间 zi, 机器等
  18. 深圳市福田高中2021年高考成绩查询,2020年深圳高中梯队排行一览!2021年十大或有新格局?...
  19. 【C语言练习】求名次、找凶手
  20. 深入浅出filament Android编译脚本

热门文章

  1. 适合于图像处理方向的SCI期刊杂志列表【部分转载】
  2. 盛金公式解一元三次方程_用盛金公式求解一元三次方程
  3. 计算机自检报错无法开机,电脑开机不自检无显示是怎么回事?
  4. 九宫格C语言递归程序,九宫格程序代码 共享并希望大家多提意见
  5. 微信淘宝客查券返利机器人搭建教程分享
  6. ## 全国各地“十四五”能源发展规划,这里都有了!
  7. 如何c语言看字节大小,如何计算C语言结构占用的字节数
  8. photoshop制作ico图标
  9. vue 定制上传按钮的样式的两种方法
  10. 计算机上u盘打不开,u盘打不开怎么办,插在电脑上有显示,但是打不开?