0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习模型的三种评估方法

汽车玩家 来源:博客园 作者:凌逆战 2020-01-29 10:30 次阅读

经验误差与过拟合

错误率为分类错误的样本数占样本总数的比例,相应的精度=1-错误率,模型的实际预测输出与样本的真实输出之间的差异称为“误差”,模型在训练集上的误差称为“训练误差”,在新样本上的误差称为“泛化误差”。我们希望得到在新样本上表现好的学习器,也就是泛化误差小的学习器,但是并不是泛化误差越小越好,我们应该尽可能出训练样本中学出适用于所有潜在样本的“普遍规律”,然而模型把训练样本学的太好,很可能把训练完本自身的特点当做所有潜在样本都具有的一般性质,这样就导致了泛化性能下降,这种现象称为“过拟合”,相对立的是“欠拟合”,是指训练样本的一般性质尚未学好。欠拟合比较容易克制,例如在决策树学习中扩展分支、在神经网络中增加训练轮数,然而过拟合是无法避免的,我们所能做的就是尽量“缓解”,在现实生活中,我们往往有有多种学习算法可供选择,对于同一算法,当使用不同参数配置时,也会产生不同的模型。

评估方法

通过“训练集”训练出机器学习模型,通过“测试集”来测试模型对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差近似,当需要注意的是,测试集应该尽可能与测试集互斥,即测试样本尽量不在训练样本中出现、未在训练过程中使用。解释为什么(老师出了10道习题供同学们练习,考试时老师又用同样的这10道题作为考题,这个考试成绩是否能反应出同学们真实情况,机器学习的模型是希望得到泛化能力强的模型,获得举一反三的能力)。

我们一共包含m个样例的数据集D={(x1,y1),{x2,y2}...,(xm,ym)}},既要训练,又要测试,我们通常对D进行适当的处理,从中产出训练集S和测试集T。

留出法

“留出法”直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,D=S∪T,S∩T=∅ 需要注意的是,训练/测试的划分要尽可能的保持数据的一致性,避免应数据的划分过程引入额外的偏差而对最终结果产生影响,也就是两个集合中样本类别比例要相似,这种保留类别比例的采样方式称为“分层采样”。可即使是这样,仍然存在多种划分方式, 例如可以把D中的样本排序,然后把前350个正例放到训练集中,也可以把最后350个正例放到训练集中,.....这不同的划分将导致不同的训练/测试集,模型估计必然会有偏差,

因此,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复实验取平均值作为留出法的结果。此外我们使用留出法对数据集D进行划分,会有一个很尴尬的局面,当训练集S过多,训练出的模型可能更加接近用D训练出的结局,但是由于测试集T太少,评估结果不够稳定精确;若令训练集T的样本数过多,这训练出的模型和用整个数据集D训练出的模型相差就更加大了,这个问题没有完美的解决方法,常见做法是将2/3~4/5的样本用于训练。

交叉验证法

“交叉验证法”先将数据集D划分为k个大小相似的互斥子集,即 D = D1∪D2....∪Dk, Di∩ Dj= ∅(i≠j),每个子集 Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1 个子集的并集作为训练集,其余的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k 次训练和测试,最终返回的是这k 个测试结果的均值。通常把交叉验证法称为“k折交叉验证”。

与留出法类似,k折交叉验证要随机使用不同的划分重复p次,最终的评估结果是这p 次k 折交叉验证结果的均值。

“留一法”是数据集D包含m个样本,若令 k=m,得到交叉验证的一个特例,留一法不收随机样本划分方式的影响,划分方式为m个子集,每个子集一个样本,使得训练集和初始数据集只少一个样本,所以被训练出的模型很接近实际的评估模型,但是留一法也有缺点,当数据集m很大的时候,根本无法承受训练m个模型的计算(m等于一百万)。

自助法

给定包含m个样本的数据集D,我们对它进行采样产生数据集D': 每次随机从D中挑选一个样本7,将其拷贝放入D' 然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到,这个过程重复执行m 次后,我们就得到了包含m个样本的数据集D',这就是自助采样的结果,显然,D 中有一部分样本会在D'中多次出现,而另一部分样本不出现.可以做一个简单的估计,样本在m 次采样中始终不被采到的概率是取极限得到

即通过自助来样,初始数据集D 中约有36.8% 的样本未出现在采样数据集D'中.于是我们可将D' 用作训练集, D\D' 用作测试集;这样实际评估的模型与期望评估的模型都使用m个训练样本,而我们仍有数据总量约1/3 的、没在训练集中出现的样本用于测试.这样的测试结果,亦称"包外估计"

自助法在数据集较小、难以有效划分训练/测试集是很有用;此外,自助法产生的数据集改变了初始数据集的分布,这会引起估计偏差,因此在数据量足够大的时候还是留出法和交叉验证法更常用一些。

调参与最终模型

在进行模型评估与选择的时候,除了要对使用学习算法进行选择,还需对算法参数进行设定,这就是常说的“参数调节”简称“调参”。对每种参数配置都训练出模型,然后把最好的模型作为结果,但是对每种参数训练出模型是不可行的,现实中常用的做法,是对每个参数选定一个范围和变化步长,例如[0,0.2],步长选定0.05,则实际要评估的参数为5个,但即便是这样同样是不可行的,假设一个算法有3个参数,每个参数有5个候选参数,那么一共需要考虑53=125个模型,参数调的不好往往直接影响模型的关键性能。

这就需要在计算开销和性能估计中进行折中考虑。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4732

    浏览量

    100373
  • 机器学习
    +关注

    关注

    66

    文章

    8337

    浏览量

    132255
收藏 人收藏

    评论

    相关推荐

    机器学习模型评估指标

    机器学习模型指标在机器学习建模过程中,针对不同的问题,需采用不同的模型
    发表于 09-06 12:51 1003次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b><b class='flag-5'>评估</b>指标

    三种模型评估方式

    [R - ml] 模型评估
    发表于 10-09 12:39

    常用的FBAR模型有哪三种?

    常用的FBAR模型有哪三种?
    发表于 03-11 06:16

    部署基于嵌入的机器学习模型

    还需要处理模型的更新。模型更新的速度甚至可以非常高,因为模型需要定期地根据最新的数据进行再训练。  本文将描述一更复杂的机器
    发表于 11-02 15:09

    三种电路仿真软件比较及器件模型加入方法

    摘要:在比较了ORCAD/PSPICE,PROTEL,Electronics Workbench三种仿真软件各自特点的基础上,介绍了把基于SPICE语言的器件模型加入三种软件的方法,实
    发表于 05-10 09:03 95次下载

    噪声系数测量的三种方法

    噪声系数测量的三种方法 本文介绍了测量噪声系数的三种方法:增益法、Y
    发表于 05-07 13:38 2138次阅读

    机器学习模型评估和优化

    监督学习的主要任务就是用模型实现精准的预测。我们希望自己的机器学习模型在新数据(未被标注过的)上取得尽可能高的准确率。换句话说,也就是我们希
    发表于 10-12 15:33 0次下载
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>之<b class='flag-5'>模型</b><b class='flag-5'>评估</b>和优化

    NLP的介绍和如何利用机器学习进行NLP以及三种NLP技术的详细介绍

    本文用简洁易懂的语言,讲述了自然语言处理(NLP)的前世今生。从什么是NLP到为什么要学习NLP,再到如何利用机器学习进行NLP,值得一读。这是该系列的第一部分,介绍了三种NLP技术:
    的头像 发表于 06-10 10:26 7.7w次阅读
    NLP的介绍和如何利用<b class='flag-5'>机器</b><b class='flag-5'>学习</b>进行NLP以及<b class='flag-5'>三种</b>NLP技术的详细介绍

    机器学习三种交叉验证

    训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法评估
    的头像 发表于 03-15 16:30 2341次阅读

    机器学习模型评估与选择详细资料说明

    本文档的主要内容详细介绍的是机器学习模型评估与选择详细资料说明。
    发表于 03-24 08:00 0次下载
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的<b class='flag-5'>模型</b><b class='flag-5'>评估</b>与选择详细资料说明

    机器学习模型评估的11个指标

    建立机器学习模型的想法是基于一个建设性的反馈原则。你构建一个模型,从指标中获得反馈,进行改进,直到达到理想的精度为止。评估指标解释了
    的头像 发表于 05-04 10:04 3386次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b><b class='flag-5'>评估</b>的11个指标

    三种学习模式在于深度学习的未来

    提出来。不过,总的来说,现代深度学习可以分为三种基本的学习范式。每一都有自己的学习方法和理念,提升了
    的头像 发表于 10-23 09:37 2129次阅读
    这<b class='flag-5'>三种</b><b class='flag-5'>学习</b>模式在于深度<b class='flag-5'>学习</b>的未来

    深度学习三种学习模式介绍

    深度学习是一个广阔的领域,它围绕着一形态由数百万甚至数十亿个变量决定并不断变化的算法——神经网络。似乎每隔一天就有大量的新方法和新技术被提出来。不过,总的来说,现代深度学习可以分为
    的头像 发表于 10-23 14:59 1.2w次阅读
    深度<b class='flag-5'>学习</b>的<b class='flag-5'>三种</b><b class='flag-5'>学习</b>模式介绍

    如何评估机器学习模型的性能?机器学习的算法选择

    如何评估机器学习模型的性能?典型的回答可能是:首先,将训练数据馈送给学习算法以学习一个
    发表于 04-04 14:15 939次阅读

    静电放电ESD三种模型及其防护设计

    点击关注,电磁兼容不迷路。静电放电ESD三种模型及其防护设计ESD:ElectrostaticDischarge,即是静电放电,每个从事硬件设计和生产的工程师都必须掌握ESD的相关知识。为了定量
    的头像 发表于 09-15 08:02 3102次阅读
    静电放电ESD<b class='flag-5'>三种</b><b class='flag-5'>模型</b>及其防护设计