专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
量子位  ·  DeepSeek无问西东!先行者早已趟平全国产之路 ·  15 小时前  
黄建同学  ·  John Rush对24+种AI编码 ... ·  2 天前  
爱可可-爱生活  ·  【[1.5k星]Calibre-Web-Au ... ·  4 天前  
黄建同学  ·  //@宝玉xp:你可以说写代码sonnet强 ... ·  4 天前  
51好读  ›  专栏  ›  机器学习研究会

干货|训练集、验证集和测试集的意义

机器学习研究会  · 公众号  · AI  · 2017-10-15 20:40

正文

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


1

划分



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

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

这时候我们通常不再划分一个测试集,可能的原因有两个: 1、比赛方基本都很抠,训练集的样本本来就少;2、我们也没法保证要提交的测试集是否跟训练集完全同分布,因此再划分一个跟训练集同分布的测试集就没多大意义了。


2

参数



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







请到「今天看啥」查看全文