训练集、验证集、测试集的区别和联系以及对统计学习和深度学习的意义.pdfVIP

训练集、验证集、测试集的区别和联系以及对统计学习和深度学习的意义.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
训练集、验证集、测试集的区别和联系以及对统计学习和深度学习的意义 在我们⼀开始学机器学习的时候,可能⼤部分⼈和我状态⼀样,只知道搭建⼀个模型,然后读⼊数据去训练就完事了,后来才知道需要细分 训练集、验证集和测试集。 ⼀、什么是训练集、验证集和测试集 训练集:从原始数据集中分离出来的⼤量数据,喂给模型⽤来训练模型。 验证集:从原始数据集中分离出来的少量数据,⽤来给训练集训练结束后的模型进⾏模型的精度评估。 测试集:从原始数据集中分离出来的少量数据,⽤来给训练集训练结束后的模型进⾏模型的精度评估。其作⽤和验证集⼀致,⼀般是在深度 学习的模型中和验证集区别对待,在统计学习模型中⼀般不单独分离出测试集。 建议划分⽐例: 按训练集:验证集:测试集=7:2:1 按训练集:验证集=8:2(此时不划分测试集) 当然当数据量很⼤的时候(上百万数据量级别)也有按训练集:验证集=98:2的⽐例划分。 ⼆、统计学习和深度学习的区别联系 统计学习模型如朴素贝叶斯、决策树(ID3,C4.5,CART,GBDT,XGB,LGB)、⽀持向量机等是⼀种可解释性模型,我们的数据读⼊到最终的 表现输出是可以通过公式推导得到的,与深度学习(神经⽹络之类)的不可解释性区别很⼤,统计学习模型读⼊数据开始训练构建模型结构 到最后的预测输出,不存在随机性,深度学习模型,因为⼀般情况模型的初始化参数都是随机产⽣,这就导致了当你构建好某个深度学习模 型,保证所有的参数没有改动,每次训练都会得到不同的预测结果,当深度学习模型理论上没有问题时,每次训练的模型精度往往会有0.0 ⼏的误差,在极端情况下也会出现0.⼏的误差,这种情况在我参与的很多算法⽐赛中经常遇到,所以⽤深度学习算法去训练⼀个⾼精度的模 型很多时候成了⼀个运⽓问题,相反统计学习模型就不会出现这样的问题,保证统计学习模型的所有参数没有被改动,每次训练得到的模型 都是⼀样的,所以当我们希望通过调整统计学习模型去提⾼精度,通过分析模型的算法理论做⼀定修改往往是可以实现的。 统计学习模型有着⽐较好的可解释性,如果模型出现问题也很容易进⾏排查,那么⼯业中为什么不选择统计学习模型,主要还是性能问题, 近⼏年算法领域的发展主要是在深度学习领域,虽然深度学习的不可解释性经常带来⼀些问题,但必须得承认在⼤部分复杂信息的数据中, 深度学习模型能够很好的找出数据之间⾮常微妙的联系,并给我们提供很好的实验结果,所以⽬前的⼯业⽣产中,深度学习模型⽤的相对较 多,当然在某些领域统计学习模型也得到了很好的应⽤。 三、验证集和测试集 很多⼈⼀直分不清验证集和测试集的区别和联系,好的,实际上我⼀开始也分不清,因为两个数据集都是⽤来验证模型效果的,⼲嘛还要分 成两个部分,当你接触到深度学习模型后,你就发现了测试集的意义。 我们上⾯提到,统计学习模型是可解释的,是⼀种相对⽐较稳定的模型,所以如果⼀开始我们简单⽤验证集去验证训练集训练后的统计学习 模型,确保精度效果没啥问题后,在数据量⽐较少的情况下,我们甚⾄是可以不⽤再单独划分验证集,直接把整个数据集喂⼊模型训练,直 接给待预测的数据进⾏预测,这样⼀般没啥问题。但是深度学习模型因为存在随机性不可解释性,随着模型的不断训练,模型肯定会不断拟 合训练集,在训练集上的loss不断下降,acc不断上升,然后到达某个峰值趋于稳定,所以我们选择到达峰值后的模型对待测试数据集进⾏ 测试可以吗?答案是不⾏。因为深度学习模型容易存在过拟合问题,模型不断训练拟合训练集,训练集上肯定表现很好,但是对验证集上的 表现不⼀定很好,甚⾄说,随着不断训练训练集loss不断降低,但验证集的loss不断降低到某个峰值后开始不断上升,这就是我们常说的过 拟合问题。 所以为了得到⼀个客观表现⽐较好的深度学习模型,我们往往会随着模型不断训练,在每次训练结束后对验证集进⾏⼀次预测,得到每次的 预测结果,并且保留在验证集上预测结果最好的那次训练得到的模型参数,作为我们最终的模型。 也是因为在这个时候,我们把验证集⽤来去动态筛选最好的那次深度学习模型,所以这个时候再⽤验证集去评估这个模型的效果就不太合适 了,所以我们要再单独拿出⼀个数据集,这个数据没有参与模型训练过程的评估,只能是⽤来等我们最终的模型确定后,只做⼀次评估,于 是测试集便诞⽣。 希望我这样说⽅便你对验证集和测试集的理解~ 希望我的分享对你的学习有所帮助,如果有问题请及时指出,谢谢~

文档评论(0)

166****9181 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档