《机器学习》第二章模型评估与选择

1.经验误差与过拟合

把学习器在训练集上的误差称为“训练误差”或“经验误差”,而在新样本上的误差称为“泛化误差”。我们应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,这样才能在遇到新样本时做出正确的判别,此时很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。这种现象在机器学习中称为“过拟合”。与“过拟合”相对的是“欠拟合”,这是指对训练样本的一般性质尚未学好。

有多种因素可能导致过拟合,其中最常见的情况是由于学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了,而欠拟合则通常是由于学习能力低下而造成的。

2.评估方法

通常,可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。为此需要使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。介绍几种常见的做法。

2.1留出法

“留出法”直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集,另一个作为测试集。在训练集上训练处模型后,用测试集来评估其测试误差,作为对泛化误差的估计。

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

另一个需要注意的问题是,即便在给定训练/测试集的样本比例后,仍存在多种方式对初始数据集的分割。单次使用留出法得到的估计结果往往不够稳定可靠,在使用留存法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。

一般而言,测试集至少包含30个样例,常见做法是将大约2/3~4/5的样本用于训练,剩余样本用于测试。

2.2交叉验证法

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

与留出法相似,将数据集划分为k个子集同样存在多种划分方式。为减少因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这P次k折交叉验证结果的均值。

交叉验证法的特例:留一法。每个子集包含一个样本,使用的训练集比初始数据集相比只少了样本。留一法的评估结果往往被认为比较准确,然而在大数据集上的计算开销是难以忍受的。

2.3自助法

“自助法”可以减少训练样本规模不同造成的影响,同时还能比较高效的进行实验估计。给定包含m个样本的数据集,每次随机从数据集挑选一个样本,将其拷贝放入训练集。重复执行m次后,就得到了包含m个样本的训练集,这就是自助采样的结果。此时原始数据集一部分样本在训练集中不会出现(约有36.8%)。这样实际评估的模型与期望评估的模型都使用M个训练样本,而仍有数据总量约1/3的、没在训练集中出现的样本用于测试。这样的测试结果,亦称为“包外估计”。      

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

3.性能度量

对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量泛化能力的评价指标,这就是性能度量。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果;这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。评估学习器的性能,就要把学习器预测结果与真实标记进行比较。回归任务最常用的性能度量是“均方误差”,下面主要介绍分类任务中常用的性能度量。

3.1错误率和精度

错误率是分类错误的样本数虎占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。

3.2查准率、查全率与F1

对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)。

查准率P与查全率R分别定义为

查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

在很多情形下,我们可根据学习率的预测结果对样例进行排序,排在前面的是学习器认为“最可能”是正例的样本,排在最后的则是学习器认为“最不可能”是正例的样本。按此顺序逐个把样本作为正例进行预测,则每次可以计算出当前的查全率、查准率。以查准率为纵轴、查全率为横轴作图,就能得到查准率-查全率曲线,简称“P-R曲线”。

综合考虑查准率、查全率的性能度量有“平衡点”和F1。平衡点是“查准率=查全率”时的取值。F1是查准率和查全率的调和平均。

3.3ROC和AUC

ROC全称是“受试者工作特征”曲线,与P-R曲线相似,根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算“真正例率”和“假正例率”的值,分别以它们为纵轴和横轴,就得到“ROC曲线”。“真正例率”和“假正例率”分别定义为:

显示的ROC曲线的图称为“ROC图”,如下图:

合理比较两个学习器的优劣较为合理的判据是比较ROC曲线下的面积,即AUC(Area Under ROC Curve)。

3.4代价敏感错误率与代价曲线

在现实如任务中常会遇到这样的情况:不同类型的错误造成的后果不同。为了权衡不同类型错误造成的不同损失,可为错误赋予“非均等代价”。

以二分类任务为例,可根据任务的领域知识设定一个“代价矩阵”,如下图所示:

代价曲线图的横轴和纵轴分别为正例概率代价和归一化代价。

4.偏差与方差

“偏差-方差分解”是解释学习算法泛化性能的重要工具,对学习算法的期望泛化错误率进行拆解。泛化误差可分解为偏差、方差与噪声之和。偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据劳动所造成的影响;噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境。给定学习任务,在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已非常强,训练数据发生轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容