奎克的藏经阁 · 原书印刷页

智慧的疆界 从图灵机到人工智能 · 第 234 页

PDF 物理页索引 249 · 内容简介

书名
智慧的疆界 从图灵机到人工智能
作者
未记录
印刷页
234
PDF 物理页
249(从 0 开始)
章节
内容简介
UUID
cf76bc49-7e9b-4f42-bee8-3050a9fb9feb
来源类型
original_book
页面 SHA-256
50004975f06c6e80d628d77fc5063d48ce31db28432c5bb0905870750700a99d

因此,划分训练集和测试集的时候,要特别强调均匀取样。均匀取样的目的是减少训练集、测试集与完整集合之间的统计偏差。不过,“均匀”二字虽然听起来简单,却不易做到。一般的做法是随机取样,当样本数量足够时,便可达到均匀取样的效果,然而随机是此做法的盲点,也是实验中可以在数据上做手脚以控制实验结果的漏洞。举例来说,要做一个文字识别的模型,当辨识率不理想时,一般会重新取样划分出一组新的训练集和测试集,直到测试集的识别率令人满意为止,即使每次划分确实是随机的,但严格来说,这样其实也已经算是在作弊了。

第二个缺点是,划分了训练集、测试集之后,就只能采用部分数据进行模型训练了,而用于模型训练的数据量越大,训练出来的模型效果通常会越好,所以训练集和测试集的划分意味着我们无法充分利用手头上所有的已知数据,得到的模型训练效果会受到一定程度的影响。

由于以上这两个缺点,这种在数据集上简单划分的方法,用来理解性能度量和验证是没有问题的,但在实际场景中的用途比较有限。为了解决这两个问题,一种改进的新的验证方法被提出,它被命名为“交叉验证”(CrossValidation)。

交叉验证方法现在已有很多变种形式,前面提到的划分训练集和测试集的方法在许多资料中也被认为是交叉验证中的最基础形式,称为“ Hold-Out 方法”。目前较为常见的、具有实用价值的交叉验证形式叫作“留一验证”或者“ LOOCV”(Leave One Out Cross Validation)方法。如同之前 Hold-Out 方法的训练集和测试集划分一样,LOOCV 方法也有把数据集划分为训练集和测试集这一步骤。但是两者的差别是,LOOCV 方法只采用单个样例数据作为测试集,所有其他的样例都作为训练集使用,然后将此步骤重复 N(N为数据集中的数据总量)次,直至集合中的每一个样例都充当过一次测试集为止,具体操作如图 6-34 所示。

假设我们现在有N个数据组成的数据集,那么 LOOCV 方法会每次取出一个数据作为测试集的唯一元素,其余的N-1 个数据都作为训练集用于训练模型和调参。这样训练N次之后,我们会得到N个不同的模型,假设还是将均方误差作为模型的性能度量指标,那每个模型都能在测试集上计算得到一个均方误差值,而最终的均方误差则是对这N个均方误差值取平均,如下所示:

234

第三部分 第三波高潮