一般做预测分析时,会将数据分为两大部分。一部分是训练数据,用于构建模型,一部分是测试数据,用于检验模型。但是,有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。模型构建完后,需要利用数据验证模型的正确性,这部分数据被称为测试数据(Test Data)。测试数据不能用于模型构建之中,只能用于最后检验模型的准确性。

  • 训练数据(Train Data):用于模型构建
  • 验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
  • 测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。

显然,

training set是用来训练模型或确定模型参数的,如ANN中权值等;

validation set是用来做模型选择(model selection),即做模型的最终优化及确定的,如ANN的结构;

而 test set则纯粹是为了测试已经训练好的模型的推广能力。当然,test set这并不能保证模型的正确性,他只是说相似的数据用此模型会得出相似的结果。

但实际应用中,一般只将数据集分成两类,即training set 和test set,大多数文章并不涉及validation set。

还有一篇介绍有监督学习的训练集(train)、验证集(validation)和测试集(test)分析:

原文

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

I. 划分

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

如果是做比赛,官方只提供了一个标注的数据集(作为训练集)以及一个没有标注的测试集,那么我们做模型的时候,通常会人工从训练集中划分一个验证集出来。这时候我们通常不再划分一个测试集,可能的原因有两个:1、比赛方基本都很抠,训练集的样本本来就少;2、我们也没法保证要提交的测试集是否跟训练集完全同分布,因此再划分一个跟训练集同分布的测试集就没多大意义了。

II. 参数

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

这就需要区分一下模型的各种参数了。事实上,对于一个模型来说,其参数可以分为普通参数超参数。在不引入强化学习的前提下,那么普通参数就是可以被梯度下降所更新的,也就是训练集所更新的参数。另外,还有超参数的概念,比如网络层数、网络节点数、迭代次数、学习率等等,这些参数不在梯度下降的更新范围内。尽管现在已经有一些算法可以用来搜索模型的超参数,但多数情况下我们还是自己人工根据验证集来调。

III. 所以

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

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

IV. 然而

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

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

训练数据,验证数据和测试数据相关推荐

  1. DRF数据验证+数据存储

    1.验证数据的自定义类 class BooksDRFt(serializers.ModelSerializer):class Meta:model = Bookfields = '__all__'#要 ...

  2. Excel的检验数据的标准(数据验证-数据的有效性)

    工作中往往会涉及到很多数据的处理,有些时候需要验证数据是否符合某个标准,比如学生的成绩,Excel中很好的给我们提供了检验数据的标准. Excel的数据验证可以是 数据类型:整数,小数 日期 文本长度 ...

  3. 机器学习的训练数据(Training Dataset)、测试数据(Testing Dataset)和验证数据(Validation Dataset)

    三者的意义 - 训练数据:用来训练模型的数据 - 验证数据:用来检验模型准确率 - 测试数据:再一次确认验证数据集中的模型是好的模型. 一般步骤: 测试数据集和验证数据的数据一定不能用来训练,否则会出 ...

  4. 把数据自动填入exe的输入框_2000余字长文讲解Excel中的“数据验证”,我收藏了...

    今天的文章主要跟大家分享Excel中数据有效性(新的Excel版本叫:数据验证)的基础用法! 一.如何设置数据有效性? 步骤:选中需要设置数据有效性的单元格或者单元格区域,点击菜单栏的"数据 ...

  5. Active Record 数据验证

    数据验证概览 为什么要做数据验证 数据验证确保只有有效的数据才能存入数据库,在模型中做验证是最有保障的,只有通过验证的数据才能存入数据库.数据验证和使用的数据库种类无关,终端用户也无法跳过,而且容易测 ...

  6. Excel学习笔记02——数据录入之序号录入规范数据源之数据验证

    序号录入的几种方法: 1.连续的序号 1.1 选中现有单元格,向下拖拽 1.2 开始-填充-序列,设置序号选项 2.自动增减的序号 2.1 row()函数,减去前面的行数 可自动调整序号 3.合并单元 ...

  7. 交叉检验---训练数据,验证数据和测试数据

    本文来自 https://blog.csdn.net/piaoyu94/article/details/78694045 内容: 最近在Coursera上学习Data Analysis课程,课程论坛中 ...

  8. csv数据,已区分训练集和验证集,需要用r语言建立随机森林回归模型,计算模型精度,包括训练集和验证集的r方、mae、rmse

    csv数据,已区分训练集和验证集,需要用r语言建立随机森林回归模型,计算模型精度,包括训练集和验证集的r方.mae.rmse #读取训练集 train <- read.csv("tra ...

  9. tensorflow-Inception-v3模型训练自己的数据代码示例

    一.声明 本代码非原创,源网址不详,仅做学习参考. 二.代码 1 # -*- coding: utf-8 -*- 2 3 import glob # 返回一个包含有匹配文件/目录的数组 4 impor ...

最新文章

  1. 换掉VMware?轻量级虚拟机,横空出世!
  2. IBM Watson大裁70% 员工,撕掉了国内大批伪AI企业最后一块遮羞布!
  3. 再见了Python,Tableau数分工具确实牛逼!
  4. 初级软件工程师的成长
  5. python处理中文字符串_处理python字符串中的中文字符
  6. 【Pandas】dataframe 设置完全显示所有列
  7. 深度学习笔记--多层感知器以及BP算法
  8. Resharper插件如何启用原VS的智能提示
  9. C# 温故而知新:Stream篇(三)
  10. java开发个人项目_个人项目-WC (java实现)
  11. 企业级监控软件使用zabbix key监控nginx status各种状态
  12. XXX集团财务决策支持系统——用友财务系统现有的财务报表(系列四)
  13. 修正 Mui 下拉上拉刷新功能
  14. oracle查询锁表进程
  15. 键盘连接计算机接口,终于明白电脑如何连接键盘
  16. matlab对频谱傅里叶逆变换,基于功率谱的傅里叶逆变换问题
  17. 商业网站建设和运营的四度:Approachability、Usability、 Accessibility 和 Profitability...
  18. 韦福怎么编译c 语言,c语言第1章 绪论.ppt
  19. python geopy 北斗导航_【Python】使用geopy由经纬度找地理信息
  20. 使用高德地图 地址一经纬度 之间相互转化的实例代码 python

热门文章

  1. oracle创建dblink语法
  2. android 验证码按钮点击,判断网络和匹配手机号并自动更新时间;
  3. 导入开放平台类目表的工具类
  4. 【教程】用安卓厨房制作你自己的卡刷包!你也可以是Romer !
  5. mac air 安装linux系统下载,Macbook Air安装linux重获新生
  6. enet网络库简单理解
  7. 数仓开发5大SQL分析函数
  8. 解决:FreeMind需要jre才能运行,明明已经安装了jdk啊?
  9. 计算机网络系统厂商,【江海电子计算机网络系统价格_江海电子计算机网络系统厂家】- 网络114...
  10. 医药制造行业CRM解决方案