评估方法的选择

本文介绍了三种常用的模型评估方法:留出法、交叉验证法和自助法。留出法直接将数据集划分为训练集和测试集;交叉验证法则通过将数据集分成k份,轮流用k-1份作为训练集,剩余一份作为测试集来评估模型;自助法则是通过有放回地抽取样本生成新的训练集,未被抽中的样本作为测试集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chapter-02模型评估与选择

2.2评估方法

   当我们得到一个学习器后,如何去判断这个学习器的优劣呢,有哪些评判标准呢?我们最希望的是学习器能够很好地适应新样本,即泛化能力强,泛化误差小(泛化误差指的是学习器在在新样本上的误差)泛化误差就是评价一个学习器优劣的标准。研究中,我们使用测试集的测试误差作为泛化误差的近似,所以我们需要在数据集中划分出训练集S和测试集T,应该采用什么方法进行划分呢?这些方法就是我要介绍的评估方法。我个人认为我所要介绍的这些方法,均是为了得到泛化误差,从而为评估模型而服务的,所以称作评估方法。

2.2.1留出法

1,定义:直接将数据集D划分为两个互斥的集合,一个训练集S,一个训练集T

注:训练/测试集的划分尽可能保持数据分布的一致性,比如说采用分层采样的方式(分层采样:保留类别比例的采样方式),避免因数据划分过程引入额外的偏差而对最终结果造成影响。

 2,评估结果的得出

即使在给定了类别比例后,仍然存在多种划分方式。而且单次使用留出法所得到的估计结果一般不可靠,所以我们可以根据多种划分方式得到多组实验结果,然后取平均值作为留出法的评估结果。

3,面临的问题:因训练/测试集规模大小而造成的问题

S中包含大多数样本,则训练出的模型可能接近于数据集D训练出的模型,但是T太小,评估结果缺乏准确性,就好比你学了这么多年,高考就考十个题,这是无法准确反映出学生之间学习水平差异的。但是如果T太大,被评估出的模型和用D评估出的模型相比可能存在较大的差异,从而降低了评估结果的保真性,同样拿学习和考试作为例子,平时不学习(训练太少),临考前恶补3个小时,考场必定失意(测试误差大),然后就断定这位同学学习能力有问题(这个评估模型的泛化误差大),这显然也是不合适的,这样的评估结果是不真实的。

4,如何避免上述问题

   一般将大约2/3-4/5的样本用于训练,剩余用于测试。

2.2.2交叉验证法:将数据集D划分成为k个大小相似的互斥子集(通过分层采样的方法),每次采用k-1个子集作为训练集,余下的那个子集作为测试集。

例如:

S

T

D1 D2 D3…Dk-2 Dk-1

Dk

D1 D2 D3…Dk-2 Dk

Dk-1

这样就可以得到k组训练集/测试集,从而进行k次训练和测试,最终返回k个测试结果的均值,通常将这种交叉验证法称作“k折交叉验证”。

K折交叉验证因为子集中元素不同的划分方式,所以k个组中的每一个组可以产生p种不用的划分方式,可以随机进行p次试验,则称为pk折交叉验证,相当于共进行了k*p次试验,结果最终返回k*p次实验的均值。

在这里在介绍一下交叉验证法的一个特例:留一法。

定义:若D中含有m个样本,若令k=m,只存在一种划分方式,即每个子集包含一个样本,共有m个子集。

优点:留一法使用的训练集和数据集只相差一个样本,则实际评估的模型和期望评估的模型相似,所以往往被认为较为准确。

缺陷:开销大,训练集中样本数量庞大。

而且根据NFL定理(没有免费的午餐定理:脱离具体的问题,空谈什么算法最好毫无意义,要谈论算法的相对优势,必须要针对具体的学习问题,学习算法自身的归纳偏好与问题是否相配,决定了算法的优势。)我们不能够完全肯定此种算法一定适合具体的问题。

2.2.3自助法

1,背景:因为训练样本规模的不同而导致的估计偏差,留一法受训练样本规模变化的影响小,因为训练样本的规模是固定的,但是计算复杂度太高,急需一种可以减少训练样本规模变化所带来的影响,同时又能高效进行实验估计的方法。

2.定义:给定包含m个样本的数据集D,我们对它进行采样产生数据集D1,每次随机从D中挑选一个样本,将其拷贝进D1,然后再将该样本放回初始数据集D,使得该样本在下次采样时仍有可能被采集到,执行m次后,就可以得到包含m个样本的数据集D1.

3,数学分析:

D中有m个样本,每个样本被采样的概率为1/m,那么不被抽到的概率就是(1-1/m,进行m次试验后,每个样本在m次采样中始终不被采集到的概率是(1-1/m^m.若进行无限次试验后,lim(m->oo)(1-1/m)^m=1/e约等于0.368;也就是说将有1/3的样本不会被采集到,将作为测试样本,与留出法中采取2/3~4/5的样本作为训练样本的道理相符合。

4,包外估计:采用自助法得到的测试结果成为包外估计。

5,优点:自助法适用于数据集较小,难以有效划分训练集、测试集的情况,自助法能从数据集中产生多个不同的训练集(随机性),这对集成学习等方法有很大好处。

缺陷:自助法产生的数据集改变了初始数据集的分布,引入了误差。

所以在数据量足够时,宜选择留出法和交叉验证法。

 

                                               

  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值