机器学习测试集选取常用方法-《机器学习》周志华
0. 基本术语
数据集(data set):记录的集合。
示例(instance)或样本(sample):每条记录是关于一个事件或者对象的描述。
属性(attribute)或特征(feature):反映事件或对象在某方面的表现或性质的事项。
属性值(attribute value):属性上的取值。
训练集(training set):训练过程中使用的数据。
学习器(learner):找出规律或者逼近真相的模型。
1. 经验误差与过拟合
错误率(error rate):分类错误样本数占样本总数的比例。
错误率E=a/m;在m个样本中有a个样本分类错误。
精度(accuracy)= 1-错误率。
误差(error):学习器的实际预测输出与样本的真实输出之间的差异。
训练误差(training error):学习器在训练集上的误差。
泛化误差(generalization):在新样本上的误差。
Goal:希望得到泛化误差小的学习器。
实际中,只能努力使经验误差最小化,这样就可能出现一个经验误差很小,在训练集上表现很好的学习器,对所有训练样本都分类正确,即分类错误率为零,分类精度为100%,但是在多数情况下都不好。
过拟合:学习能力过于强大,把训练样本所包含的不太一般的特性都学到了,导致泛化性能降低。
欠拟合:学习能力低下。
图片(过拟合,误认为树叶必须有锯齿)
图片(欠拟合,误以为绿色的都是树叶)
通过实验测试来对学习器的泛化误差进行评估并改进而做出选择。为此,需使用一个测试集(testing test)来测试学习器对新样本的判别能力,然后以测试集上的测试误差(testing error)作为泛化误差的近似。
2. 测试集选取
测试集的选取:通常假设测试样本也是从样本真是分布中独立同分布采样得到,但是需注意,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用(原因:希望得到泛化性能强的模型,就是学生做题时的举一反三能力)
已知:一个包含m个样例的数据集D={(x1,y1),(x2,y2),…,(xm,ym)},既要训练又要测试。对D进行适当的处理,从中产生训练集S和测试集T。
2.1留出法(hold-out)
方法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即.在S上训练出模型后,用T来评估其作为测试误差,作为对泛化误差的估计。
举个栗子:假定D包含1000个样本,将其划分为S包含700个样本,T包含300个样本,用S进行训练,如果模型在T上有90个样本分类错误,那么其错误率为,精度为1-30%=70%。
注意事项:
(1)训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。例如在分类任务中至少要保持样本的类别比例相似,尝采用分层采样的方法,即采样过程中保留类别比例。
(2)即便在给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D进行分割。
因此,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行试验评估或取平均值作为留出法的评估结果。
在这里,还有一个窘境:若训练集S包含绝大多数样本,则训练处的模型可能更接近于用D训练出的模型,但由于T比较小,评估结果可能不够稳定准确,测试集小,评估结果的方差较大;若令测试集T多包含一些样本,则训练集S与差别更大了,被评估的模型与用D训练出的模型相比可能有较大的差别,从而降低了评估结果的保真性(fidelity)。
常见解决方法:将大约2/3~4/5的样本用于训练,剩余样本用于测试。
2.2交叉验证法(crossvalidation)/k折交叉验证(k-fold cross validation)
方法:将数据集D划分为k个大小相似的互斥子集,即.每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后每次都用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。
tips:
(1) 评估结果的稳定性和保真性很大程度上取决于k的取值,最常用取值为10,此时成为10折交叉验证;其他常用的k值有5、20.
(2) 为了减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的10次10折交叉验证。
(3) 特例:留一法:k=m,留一法使用的训练集与初始数据集相比只是少了一个样本,留一法中被实际评估的模型与期望评估的用D训练出的模型很相似,因此结果往往被认为比较准确。缺陷:数据集比较大事训练m个模型的计算开销可能过大。
2.3自助法(bootstrapping)
方法:以bootstrap sampling为基础,给定包含m个样本的数据集,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复m次以后,我们就得到了包含m个样本的数据集D’。将D’用作训练集,D\D’用作测试集;这样实际评估的模型与期望评估的模型都使用m个训练样本,而仍有数据总量约1/3的、没在训练集中出现的样本用于测试,这样的测试结果,也成为“包外估计”(out-of bag estimate).
在这个过程中,样本在m次采样中始终不被采到的概率是(1-1/m)m,取极限得到
即通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中。
使用条件:
(1)在数据集较小,难以有效划分训练/测试集时很有用;
(2)可从初始数据集中产生多个不同的训练集,对集成学习等方法很有用。
总结:自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。在初始数据量足够时,留出法和交叉验证法更常用一些。
机器学习测试集选取常用方法-《机器学习》周志华相关推荐
- 《机器学习》(西瓜书)周志华 -学习心得
第一章绪论 基本术语 记录&示例&样本:"=",意思是取值为,每一条记录是关于一个对象或事件的描述.eg:(色泽=浅白:根蒂=硬挺:敲声=清脆) 数据集:记录的集合 ...
- 机器学习两大派别--南大周志华
//2014年11月7日 //http://quweiprotoss.blog.163.com/blog/static/4088288320099178652101/ 机器学习现在是一大热门,研究的人 ...
- 【MLA首日报告摘要】周志华、马毅等教授分享机器学习最新进展
来源:专知 概要:第15届中国机器学习及其应用研讨会今天11月4日在北京交通大学举行,海内外从事机器学习及相关领域研究的10余位专家与会进行学术交流. 第15届中国机器学习及其应用研讨会今天11月4日 ...
- 纯国产的大佬周志华,如何扛起了智能学界的一面大旗
原创:HyperAI超神经 关键词:周志华 机器学习 IJCAI 身为 AI 领域里的大神级学者,周志华教授在科学研究,人才培养,著作传播上都投入了极高的热忱,而他不凡的学术贡献,更是让其获得嘉奖 ...
- 2019中国计算机高引学者榜单出炉,164人入选,周志华位列第二
晓查 贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 全球最大学术出版商之一爱思唯尔(Elsevier),发布了2019年中国高引学者榜单. 本届榜单共有38个学科的2163名学者入选, ...
- 周志华机器学习(西瓜书)学习笔记(持续更新)
<周志华机器学习>笔记 第1章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 1.4 归纳偏好 1.5 发展历程 1.6 应用现状 第2章 模型评估与选择 2.1 经验误差与过拟 ...
- 机器学习 --《机器学习》(周志华)第一、二章
吃瓜笔记(第一.二章) <机器学习>(周志华) 文章目录 吃瓜笔记(第一.二章) 笔记 章节习题 延伸思考 笔记 通过对大量的对象属性进行分析后得到模型的过程称之为训练 进行科学推理常用方 ...
- 周志华 《机器学习初步》模型评估与选择
周志华 <机器学习初步>模型评估与选择 Datawhale2022年12月组队学习 ✌ 文章目录 周志华 <机器学习初步>模型评估与选择 一.泛化能力 二.过拟合和欠拟合 泛化 ...
- 【周志华机器学习】八、集成学习
文章目录 参考资料 1. 基本概念 1.1 个体与集成 2. Boosting 3. Bagging 4.随机森林 5. 结合策略 5.1 平均法(回归问题) 5.2 投票法(分类问题) 5.3 学习 ...
最新文章
- 改变shell read命令的隔符
- 企业创新管理的八大误区
- iPhone磁盘空间/剩余空间代码
- 作文 深海机器人_海底寻宝机器人
- 2021年中国超声波织物切割机市场趋势报告、技术动态创新及2027年市场预测
- android获取sd卡mount,Android如何获取所有存储卡挂载路径
- 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm
- 天锐绿盾加密软件如何制作外发文件
- 第5-5课:最大流问题(图文篇)
- 黑客入门,从HTB开始
- 计算机网络设计校园网实验报告,计算机网络综合设计性实验报告-校园网网络构建方案设计和实现..doc...
- MaxCompute基本概念和数据类型
- 神棍节前夕,沃商店迎来1岁生日
- Region Proposal Networks 详解
- 机器学习平台基础知识
- 在EXCEL电子表格中怎么把页面调成横向的
- 51、【网工必备】两种常见网络拓扑图介绍,一看就会
- SS00027.algorithm——|ArithmeticMachine.v27|——|Machine:项目实战.v04|竞争分析|
- web前端css清除浮动的方法总结
- 支撑马蜂窝「双11」营销大战背后的技术架构
热门文章
- 李笑来python自学_李笑来登顶 GitHub TOP 榜!币圈大佬要教程序员如何自学编程
- 重型仓库货架十大排行榜 2022年物流仓储重型货架品牌推荐
- AR技术在展馆数字化建设中的应用
- 织梦自定义字段html,织梦模板调用自定义字段方法
- 【Unity】OnePieceFTG(四)战斗环境
- Android中唤醒APP
- 条码打印软件如何将excel表导入使用
- Tensorflow 学习笔记:Mnist 手写训练集调试,准确率变为0.1的解决办法及如何将准确率调高到98%以上
- 暴力枚举(字符串匹配)-Blue Jeans POJ - 3080
- 【论文阅读】边缘服务器网络(抵御DDos攻击)平衡请求负载