周志华-机器学习-笔记(一)-模型评估与选择

原创 2018年04月16日 18:50:43

经验误差与过拟合

任何一个学习器都会有误差,我们把分类错误的样品数占样品总数的比例称为“错误率”(error rate)。把学习器在训练集上的误差称为“训练误差”(training error)或“经验误差”(empirical error),在新样品上的误差成为“泛化误差”(generalization error)。事实上,我们期望泛化误差小的学习器。

“过拟合”(overfitting)是现对于“欠拟合”(underfitting)的概念,下面图片就是对这两个概念的对比。
这里写图片描述
在实际问题中,对于欠拟合问题比较容易克服,例如在决策树学习中扩展分支、在神经网络学习中增加训练轮数等。而过拟合则很麻烦。

在现实任务中,我们往往有很多种学习算法可以选择,甚至对同一个学习算法使用不同配置参数时,也会产生不同的模型。这时就涉及到机器学习中的“模型选择”(model selection)问题。理想的解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。

评估方法

一般来说,我们只有一个包含m个样例的数据集D={(x1,y1),(x2,y2),…,(xm,ym)},但我们既需要训练,又要测试。所以常用的做法是,将数据集D划分出训练集S和测试集T。对此常用3种方法:

留出法

“留出法”直接将数据集D划分为两个互斥的集合,大的集合作为训练集S,小的集合作为测试集T,即S和T的并集为D,交集为空集。
此处有两个需要注意的问题:
一是,训练集和测试集的划分要尽可能保持数据分布的一致性,避免引入额外的偏差而对最终的结果产生影响。通常采用“分层采样”(stratified sampling)来保留类别比例。若D包含500个正例、500个反例,则分层采样S得到350个正例、350个反例,而T得到150个正例、150个反例。
二是,即便给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D进行分割。例如,上面的例子中,可以把350个正例放到训练集也可以放到测试集。所以,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。

交叉验证法

“交叉验证法”(cross validation)先将数据集D通过分层采用划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性。然后,每次用k-1个子集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,用来进行k次训练和测试,取这k个测试结果的均值。
通常把交叉验证法称为“k折交叉验证”(k-fold cross validation)。k最常取值是10,此时称为10折交叉验证;其他常用取值是5、20等。下图给出10折交叉验证的示意图:
这里写图片描述
为了减少因样品划分不同而引入的差别,k折交叉验证通常要随即使用不同的划分重复p次,最终的评估结果是这次p次k折交叉验证结果的均值。例如常见的有“10次10折交叉验证”
当数据集D中包含m个样本,若令k=m,则得到交叉验证法的一个特例:留一发(Leave-One-Out,简称LOO)。留一法中被实际评估的模型与期望评估的用D训练出的模型很相似。但留一法的缺点是数据集大时,训练开销难以忍受。

自助法

“自助法”(bootstrapping)在数据集较小、难以有效划分训练/测试集时很有用。它既可以减少训练样本规模不同造成的影响,同时还能比较高效地进行实验估计。
给定包含m个演变的数据集D,我们对它进行采样产生数据集D`:每次随即从D中挑选一个样品,将其拷贝放到D`然后再将该样片放回初始数据集D中,使该样片可以被下次采样时可能采到。这样的结果是,D中有一部分样片会在D`中重复出现,有部分样片却不出现。样片在m次采样中始终不被采到的概率是:
这里写图片描述
于是乎,通过自助采样,我们就拥有训练集D`,并且将D-D`作为测试集。这样,实际评估的模型与期望评估的模型都使用m个训练样本,而仍有1/3的没有出现在训练集的样片进行测试。这样的测试结果,亦称“包外估计”(out-of-bag estimate)。

调参与最终模型

大多数学习算法都有些参数需要设定,参数配置不同,学得模型的性能往往有显著差别。
在模型选择完成后,学习算法和参数配置已经选定,此时用数据集D重新训练模型。这个模型在训练过程中使用了所有m个样片,这才是我们最终提交给用户的模型。

周志华《机器学习》笔记:2、模型评估与选择

周志华《机器学习》笔记:2、模型评估与选择标签(空格分隔): 机器学习 周志华 因为在学习周志华的西瓜书时,对书上很多东西不甚理解,在经过多方查阅资料后,弄通了一点东西。为了防止以后忘记,把它记录...
  • jayandchuxu
  • jayandchuxu
  • 2017-09-01 12:47:12
  • 836

周志华《机器学习》笔记:第2章 模型评估与选择

本章概括 本章介绍模型评估与选择,包括: 1. 误差产生:过拟合和欠拟合 2. 评估方法:给定数据集后如何产生训练集和测试集 3. 性能度量:建立衡量模型泛化能力的评价标准 ...
  • yzqzoom
  • yzqzoom
  • 2016-07-10 12:00:46
  • 3339

周志华《机器学习》课后习题解答系列(三):Ch2 - 模型评估与选择

本章概要 本章讲述了模型评估与选择(model evaluation and selection)的相关知识: 2.1 经验误差与过拟合(empirical error & ove...
  • Snoopy_Yuan
  • Snoopy_Yuan
  • 2017-03-15 22:21:30
  • 3758

『机器学习——周志华』学习笔记——第二章:模型评估与选择

一、经验误差与过拟合 1、错误率:分类错误的样本数占样本总数的比例 2、精度 = 1 - 错误率 3、实际预测输出与样本的真实输出之间的差异被称为“误差”(error);在训练集上的误差被称为“训练误...
  • Sbtgmz
  • Sbtgmz
  • 2016-05-25 23:31:29
  • 1463

机器学习笔记(IV)模型评估与选择(III)

查准率,查全率与F1F1对于二分类问题,可以将样例根据真实的类别与学习器预测类别的组合分为真正例(TP true positive)、假正例(FP false positive)、真反例(TN tru...
  • uncle_gy
  • uncle_gy
  • 2017-12-11 17:26:24
  • 216

《机器学习》周志华-CH2 模型评估与选择

写在前面 CH1讲述了机器学习领域的基本概念,包括算法、模型、数据集等重要的专有名词。在算法的帮助下,能从数据集中提取了模型;对于同一数据集而言,给定不同的算法,会提取不同的模型,甚至给定同一算法的...
  • qq_34100655
  • qq_34100655
  • 2018-01-21 20:16:01
  • 64

<机器学习>(周志华)读书笔记 -- 第二章 模型评估与选择

2.1  经验误差与过拟合 通常,我们使用"错误率"来表示分类中错误的样本占总样本的比例.如果m个样本中有a个错误样本则错误率E=a/m ,对应的,1-a/m称为精度,即"精度"=1-"错误率".更一...
  • geng333abc
  • geng333abc
  • 2017-02-13 15:55:27
  • 974

《机器学习》周志华 读书笔记

第一章:绪论 泛化能力:学到模型适用于新样本的能力。衍生:泛化误差 归纳偏好:算法在机器学习过程中对某种假设的偏好 “奥卡姆剃刀”原则:若有多个假设与观察一致,则选最简单的那个 NFL定理:没...
  • houjing1990
  • houjing1990
  • 2017-04-17 15:02:17
  • 1055

机器学习(周志华)读书笔记-(三)线性模型

线性模型 线性模型形式简单、易于建模,(如简单的二元一次方程线性函数,复杂的线性函数,多维变量与因变量的关系)却蕴涵着机器学习中的一些重要的基本思想。许多功能更为强大的线性模型可以在线性模型的基础上通...
  • dingyahui123
  • dingyahui123
  • 2017-06-07 16:32:38
  • 1347
收藏助手
不良信息举报
您举报文章:周志华-机器学习-笔记(一)-模型评估与选择
举报原因:
原因补充:

(最多只允许输入30个字)