周志华西瓜书-第一天阅读-评估方法

9 篇文章 0 订阅
8 篇文章 0 订阅

评估方法

在训练好模型后我们需要进行验证,这时候需要我们在分割数据时进行一些处理,在这记录一下书中的几个方法。

留出法:

将数据集D 划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。在S 上训
练出模型后,用T 来评估其测试误差,作为对泛化误差的估计。但在划分数据集时需要注意三个点:
1.分布:训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中至少要保持样本的类别比例相似。如果从采样的角度来看待数据及的划分过程, 则保留类别比例的采样方式通常称为分层采样。
2.多次:即便在给定训练/测试集的样本比例后,仍存在多种划分情况。这些不同的划分导致不同的训练/测试集,相应的,模型评估结果也会有区别。因此,单次使用留出法得到的估计结果往往不够稳定可靠。在使用留出法时,一般要采取若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
3.划分比例:若训练集S 包含绝大多数样本,则训练出的模型可能更接近于用D训练出的模型, 但由于T比较小,评估结果可能不够稳定准确;若令测试集T多包含一些样本, 则训练集S与D差别更大了,被评估的模型与用D训练出的模型相比可能有较大差别,从而降低了评估结果的保真性(fidelity) 。这个问题没有完美的解决方案, 常见做法是将大约2/3 ~ 4/5 的样本用于训练,剩余样本用于测试.

交叉验证法

“交叉验证法” (cross validation)先将数据集D 划分为k 个大小相似的互斥子集. 每个子集 都尽可能保持数据分布的一致性,即从D 中通过分层采样得到. 然后,每次用k-1 个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k 次训练和测试?。最终返回的是这k 个测试结果的均值。显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为" k 折交叉验证" . k 最常用的取值是10 ,此时称为10折交叉验证; 其他常用的k 值有5、20 等.

留一法

假定数据集 D 中包含 m 个样本,若令 k=m,则得到了交叉验证法的一个特例:留一法(Leave- One-Ot比,简称LOO) . 显然, 留一法不受随机样本划分方式的影响,因为m 个样本只有唯一的方式划分为m 个子集一一每个子集包含一个样本;留一法使用的训练集与初始数据集相比只少了一个样本,这就使得在绝大多数情况下,留一法中被实际评估的模型与期望评估的用D 训练出的模型很相似.因此,留一法的评估结果往往被认为比较准确.然而,留一法也有其缺陷:在数据集比较大时,训练m 个模型的计算开销可能是难以忍受的(例如数据集包含1 百万个样本,则需训练1 百万个模型),而这还是在未考虑算法调参的情况下.另外,留一法的估计结果也未必永远比其他评估方法准确;"没有免费的午餐"定理对实验评估方法同样适用.

自助法

“自助法” (bootstrapping)是一个比较好的解决方案,它直接以自助采样法(bootstrap sampling) 为基础[Efron and Tibshirani, 1993]. 给定包含m 个样本的数据集D , 我们对它进行采样产生数据集D’: 每次随机从D 中挑选一个样本7 将其拷贝放入DF’ 然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m 次后?我们就得到了包含m个样本的数据集DF,这就是自助采样的结果.显然, D 中有一部分样本会在D’中多次出现,而另一部分样本不出现.可以做一个简单的估计,样本在m 次采样中始终不被采到的概率是(1 一去)m , 取极限得到(2.1)

在这里插入图片描述

即通过自助采样,初始数据集D 中约有36.8% 的样本未出现在采样数据集D’中.于是我们可将D’ 用作训练集, D\D’ 用作测试集;这样,实际评估的模型与期望评估的模型都使用m 个训练样本,而我们仍有数据总量1/3 的、没在训练集中出现的样本用于测试.这样的测试结果,亦称"包外估计" (out-of-bagestimate).
自助法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处.然而,自助法产生的数据集改变了初始数据集分布,这会引入估计偏差.因此,在初始数据量足够时,留出法和交叉验证法更常用一些.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值