统计学习导论(ISLR)


参考资料:
The Elements of Statistical LearningAn Introduction to Statistical Learning

文章目录

  • 统计学习导论(ISLR)
  • 2.统计学习(Statistical Learning)
  • 2.1 什么是统计学习?
  • 2.1.1 为什么要估计$f$
  • 2.1.2 如何估计$f$
  • 参数估计
  • 2.1.3 预测准确性和模型可解释性之间的权衡
  • 2.1.4 监督学习 与 无监督学习
  • 2.1.5 回归和分类
  • 2.2 评估模型的准确性
  • 2.2.1 评估拟合的效果
  • 2.2.2 偏差和方差的权衡
  • 2.2.3 分类问题

2.统计学习(Statistical Learning)

统计学习是指用于理解数据的大量方法 这些方法可以分为有监督的或无监督的, 广义上讲,有监督的统计学习涉及建立一个统计模型,根据一个或多个输入来预测或估计输出,无监督统计学习,有输入但无监督输出;尽管如此,我们还是可以从这些数据中看出相关的关系和结构。

2.1 什么是统计学习?

为了激发我们对统计学习的研究,我们从一个简单的例子开始。假设我们是客户聘请的统计顾问,调查特定广告和销售之间的相关产品。这个广告数据集包括产品在200个特定市场的销量,以及三个市场的产品在相关媒体:电视、广播和报纸的广告预算 。

数据如图2.1所示。我们的客户不能直接增加产品的销量。另一方面,他们可以控制三大媒体的广告支出。因此,如果我们确定广告和销售额之间存在相关性,那么我们可以引导我们的客户调整他们的广告预算,从而间接增加销售额。换句话说,是开发一个准确的模型,可用于基于三种媒体预算来预测销售额。在这种情况下,广告预算是输入变量,而销售量输入是输出变量。输入变量通常用变量输出符号统计学习导论基于python中文版 统计学导论课程_统计学习表示,用下标来区分。所以 统计学习导论基于python中文版 统计学导论课程_数据集_02 是电视预算,统计学习导论基于python中文版 统计学导论课程_数据集_03 是广播预算,统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_04 是报纸预算。输入变量有不同的名称,例如预测变量、自变量、特征、预测变量、自变量特征,或有时只是变量。输出变量,在当前案例下,销售额是因变量,通常称为响应或因变量,通常用统计学习导论基于python中文版 统计学导论课程_统计学习_05表示输出变量。本书中,我们将交替使用所有这些术语。

统计学习导论基于python中文版 统计学导论课程_数据_06



图 2.1 广告数据集


该图显示了 200 个不同相关市场的销售量(以千台计)作为电视、广播和报纸预算的函数(以千美元计)。在每幅图中,我们都展示了简单最小二乘法适用于该变量。换句话说,每条蓝线代表一个简单的模型,可用于预测分别使用电视、广播和报纸的销售情况。

更一般地,假设我们研究一个定量应变量统计学习导论基于python中文版 统计学导论课程_统计学习_05统计学习导论基于python中文版 统计学导论课程_数据集_08个自变量, 统计学习导论基于python中文版 统计学导论课程_统计学习_09之间存在某种关系,可以写成一般的形式:
统计学习导论基于python中文版 统计学导论课程_数据_10

这里 统计学习导论基于python中文版 统计学导论课程_数据集_11 是一些固定但未知的关于统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_12统计学习导论基于python中文版 统计学导论课程_数据集_13 是随机误差项的函数,随机误差项与 X 无关,均值为零。在这个公式中,统计学习导论基于python中文版 统计学导论课程_数据集_11代表系统的信息,统计学习导论基于python中文版 统计学导论课程_统计学习_15提供关于统计学习导论基于python中文版 统计学导论课程_数据_16的信息

另一个例子,图2.2中的左图是关于收入和受教育年限关系的散点图,共有三十个样本. 通过教育年限来预测收入。然而,函数 f 将输入变量连接到输出变量的关系通常是未知的。在这种情况下,必须根据观察到的点估计 f。由于收入是模拟数据集,因此 f 是已知的,如图 2.2 右侧面板中的蓝色曲线所示。垂直线代表误差项ε。我们注意到大约 30 个观测值在蓝色曲线上方,有些在蓝色曲线下方;总体而言,误差的平均值近似为零。

统计学习导论基于python中文版 统计学导论课程_统计学习_17

图 2.2 收入数据集

红点是样本的收入(万美元)和受教育年限。蓝色曲线代表收入和受教育年限之间的真实潜在关系,这通常是未知的(但在这种情况下,因为数据是模拟的)。黑线代表与每个观察相关的误差。请注意,有些误差是正的(如果观测值在蓝色曲线上方),有些误差是负值(如果观测值低于曲线)。总体而言,这些误差的平均值约为0

一般来说,函数 f 可能涉及多个输入变量。在图 2.3 中,我们将收入绘制为受教育年限和资格的函数 这里 f 是一个二维曲面,必须根据观察到的数据进行估计。

统计学习导论基于python中文版 统计学导论课程_统计学习_18

图 2.3 收入关于教育年限和学历三维图

蓝色表面代表收入与受教育年限和学历之间真正关系,这是已知的,因为数据是模拟的。红点代表观察到的这些量的值。

因此,本质上,统计学习指的是估计 f.在本章中,我们概述了估计中的一些关键理论概念

2.1.1 为什么要估计统计学习导论基于python中文版 统计学导论课程_数据集_11

一般而言,我们估计统计学习导论基于python中文版 统计学导论课程_数据集_11有两个目的:一是做预测,二是做统计推断

预测

在许多情况下,输入变量统计学习导论基于python中文版 统计学导论课程_统计学习_15是容易观察的,但是输出变量统计学习导论基于python中文版 统计学导论课程_数据_16较难获得。在这种情况下,由于平均误差项为零,我们可以预测统计学习导论基于python中文版 统计学导论课程_数据_16通过以下公式:
统计学习导论基于python中文版 统计学导论课程_数据_24
统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25表示统计学习导论基于python中文版 统计学导论课程_数据集_11的估计,统计学习导论基于python中文版 统计学导论课程_数据_27表示统计学习导论基于python中文版 统计学导论课程_数据_16的估计,在这种情况下,我们通常把统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25看做是一个黑匣子问题,我们不关系它具体的形式,只要0他能产生准确的预测

例如,假设统计学习导论基于python中文版 统计学导论课程_统计学习_30 是患者的特征,可以在实验室轻松测量的血样,并且统计学习导论基于python中文版 统计学导论课程_数据_16是患者对特定药物发生严重不良反应的风险的编码变量。用统计学习导论基于python中文版 统计学导论课程_统计学习_15来预测统计学习导论基于python中文版 统计学导论课程_数据_16是很自然的,因为我们可以避免错误地给有不良反应风险的病人(也就是估计统计学习导论基于python中文版 统计学导论课程_数据_16高的病人)药物。统计学习导论基于python中文版 统计学导论课程_数据_27的精确度取决于两个量,我们将其称为可解释误差和不可约误差。一般而言,可解释误差统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25 不会是统计学习导论基于python中文版 统计学导论课程_数据集_11的完美估计 ,这种不准确会引入一些误差。这个误差是可以减少的,因为我们可以通过使用最合适的统计学习技术来地提高其准确性 。但是,即使可以达到完美估计统计学习导论基于python中文版 统计学导论课程_数据集_11,我们的估计变量采用 统计学习导论基于python中文版 统计学导论课程_数据_39 的形式,我们的预测仍然会有一些误差!这是因为统计学习导论基于python中文版 统计学导论课程_数据_16也是一个统计学习导论基于python中文版 统计学导论课程_数据集_13 函数 ,所以ε也会影响我们预测的准确性。这就是不可约误差,因为无论我们统计学习导论基于python中文版 统计学导论课程_数据集_11估计的多好,也无法减少由 ε 引入的误差

为什么不可约误差大于零?统计学习导论基于python中文版 统计学导论课程_数据集_13 可能包含在解释变量中但又未测量的变量, 统计学习导论基于python中文版 统计学导论课程_数据集_11不能将它们用于预测,因为我们不测量它们。$\epsilon $ 也可能包含不可测量的变量。例如,特定的不良风险患者在特定日期可能会有不同的反应,这取决于药物本身制造当天的快乐程度或患者的整体感觉变化。

考虑给定的估计 统计学习导论基于python中文版 统计学导论课程_数据_27 和一组预测变量 统计学习导论基于python中文版 统计学导论课程_统计学习_15,这会产生一个预测 统计学习导论基于python中文版 统计学导论课程_数据_27 ,即 是统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_48 。暂时假设统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25统计学习导论基于python中文版 统计学导论课程_统计学习_15都是固定的,所以唯一的可变性来自于统计学习导论基于python中文版 统计学导论课程_数据集_13

统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_52

其中统计学习导论基于python中文版 统计学导论课程_统计学习_53表示预测值与实际值差的平方的期望,统计学习导论基于python中文版 统计学导论课程_统计学习_54 表示残差项ε的方差。重点学习如何更好的估计统计学习导论基于python中文版 统计学导论课程_数据集_11,最小化可减少的误差。但是,不可约误差总是会提供我们预测准确性的上限

统计推断

我们常常对分析统计学习导论基于python中文版 统计学导论课程_数据_16统计学习导论基于python中文版 统计学导论课程_统计学习_57之间的关系感兴趣。在这种情况下,我们想要估计统计学习导论基于python中文版 统计学导论课程_数据集_11,但我们的目标不是做出预测,而是做统计推断,此时统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25

  • 哪些预测变量与因变量相关?通常,只有少数可用的预测变量是实质性的和统计学习导论基于python中文版 统计学导论课程_统计学习_60相关。根据实际情况,在大量可能的变量确定少量重要的预测变量很有用。
  • 响应与每个预测变量之间的关系是什么?一些预测变量与被解释变量是正向关系的,而其他预测变量可能具有相反的关系。根据统计学习导论基于python中文版 统计学导论课程_数据集_61的复杂度 、响应和一个给定的预测变量之间的关系也可能依赖于其他变量
  • 是否可以使用线性方程来完全概括每个预测变量与统计学习导论基于python中文版 统计学导论课程_统计学习_60的关系,或者这种关系是否更复杂?历史上,大多数估计统计学习导论基于python中文版 统计学导论课程_数据集_61的方法 都采用线性形式。在某些情况下,这种假设是合理的。然而,真正的关系往往更为复杂,此时线性模型可能不能准确地表示输入和输出变量之间的关系。

例如,考虑一家对直接营销活动感兴趣的公司。目标是基于每个人的基本特征来判断哪些人可能会积极响应电子邮件,公司对深入了解每个预测变量与响应之间的关系不感兴趣;相反,公司只是想用预测变量来准确预测响应。这是关于预测的一个例子。

最后,可以同时参考预测和推断进行建模。例如,在研究房地产情况时,人们可能会考虑与房价相关的输入变量,例如犯罪率、区域、与河流的距离、空气质量、学校、社区收入水平、房屋大小等。在这种情况下,人们可能对每个输入变量和房价之间的关系感兴趣 。例如,有江景的房子会额外贵多少?这是一个统计推断问题。或者,人们可能只是对预测房价感兴趣,房价被低估了还是被高估了?此时是一个预测问题

本书会讨论一些列关于预测统计推断、或者两者同时考虑的场景

2.1.2 如何估计统计学习导论基于python中文版 统计学导论课程_数据集_11

有许多线性和非线性的方法估计统计学习导论基于python中文版 统计学导论课程_数据集_11,它们都有相同点,就是假设我们有统计学习导论基于python中文版 统计学导论课程_数据_66个观测数据,这些观测数据称为训练接,我们用这些数据来训练模型估计统计学习导论基于python中文版 统计学导论课程_数据集_11,

我们的目标是将统计学习方法应用于训练数据,以估计未知函数 统计学习导论基于python中文版 统计学导论课程_数据集_11。换句话说,我们希望找到一个函数 统计学习导论基于python中文版 统计学导论课程_数据集_11,使得对于任何观察 统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_70。从广义上讲,用于此任务的大多数统计学习方法都可以分为参数估计或非参数估计。我们现在简要讨论这两种方法。

参数估计

参数估计可以分为两个步骤

  • 1.首先,我们假定统计学习导论基于python中文版 统计学导论课程_数据集_71的函数形式。例如我们假定统计学习导论基于python中文版 统计学导论课程_数据集_71是一个线性函数:
    统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_73
    一旦我们假设统计学习导论基于python中文版 统计学导论课程_数据集_71是线性的,统计学习导论基于python中文版 统计学导论课程_数据集_71的估计问题就大大简化了。我们只需要估计 统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_76个参数,而不是完全估计任意 统计学习导论基于python中文版 统计学导论课程_统计学习_77维函数 统计学习导论基于python中文版 统计学导论课程_统计学习_78
  • 2.模型确定之后,我们需要一个使用训练数据集来拟合模型。对于公式(3)的线性模型,通常使用最小二乘法进行估计,当然,后续也会介绍一些其他的方法进行估计

统计学习导论基于python中文版 统计学导论课程_数据_79

图2.4 最小二乘法估计结果

刚才描述的方法是参数估计;它将估算统计学习导论基于python中文版 统计学导论课程_数据集_11的问题简化为估算一组参数的问题。假设统计学习导论基于python中文版 统计学导论课程_数据集_11的参数形式简化了估计f的问题,因为通常估计一组参数更容易,如线性模型中的统计学习导论基于python中文版 统计学导论课程_数据_82(3),而不是完全任意函数统计学习导论基于python中文版 统计学导论课程_数据集_11。参数估计方法的潜在缺点是,我们选择的模型通常与真实未知形式不完全匹配。如果选择的模型与真实值相差太远,那么我们的估计值就会很差。我们可以通过选择更灵活的模型来解决这个问题,这些模型可以适应许多不同的可能函数形式灵活的形式。但一般来说,拟合更灵活的模型需要估计更多的参数。这些更复杂的模型可能会导致过拟合现象,这本质上意味着它们对模型错误的拟合过度,会导致在新的数据集上的表现较差

对于公式(3)来说,由于我们假设响应与两个预测变量之间存在线性关系,因此整个拟合问题简化为估计统计学习导论基于python中文版 统计学导论课程_统计学习_84,这是我们使用最小二乘线性回归进行的。将图2.3与图2.4进行比较,我们可以看到,图2.4中给出的线性拟合并不十分正确:真实的曲线是一些在线性拟合中无法捕捉到的曲率。

非参数估计:

非参数方法不会对函数形式进行明确假设。相反,他们寻求的是一个尽可能接近数据点的估计值,与参数方法相比,这种方法有一个主要优势:通过避免对统计学习导论基于python中文版 统计学导论课程_数据集_11的特定函数形式的假设,它们有可能精确地拟合统计学习导论基于python中文版 统计学导论课程_数据集_11的更大范围的可能形状。任何参数化方法都会带来一种可能性,即用于估计统计学习导论基于python中文版 统计学导论课程_数据集_11的函数形式与真实的统计学习导论基于python中文版 统计学导论课程_数据集_11非常不同,在这种情况下,模型将无法很好地拟合数据。相比之下,非参数方法完全避免了这种误差,因为基本上并没有对函数形式进行假设。但非参数方法确实有一个主要的劣势:因为它们不能减少估计尽可能多的参数的问题,所以需要大量的观测(远远超过参数方法通常需要的观测值),才能获得对参数的准确估计。图2.5显示了非参数方法拟合的示例。

统计学习导论基于python中文版 统计学导论课程_数据集_89

图2.5 非参数估计结果

统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_90

图2.6过拟合估计结果

图2.6拟合在训练集上0误差。这是一个过度拟合数据的示例,我们在前面讨论过这是一种不理想的情况,因为获得的拟合不会对不属于原始训练数据集的新观测结果产生准确的估计。我们在第5章讨论了选择正确平滑度的方法。样条曲线将在第7章中讨论。正如我们所看到的,用于统计学习的参数和非参数方法各有优缺点。我们在本书中探讨了这两种方法。

2.1.3 预测准确性和模型可解释性之间的权衡

在我们在本书中研究的许多方法中,有些方法不太灵活,或者更具限制性,因为它们只能产生相对较小范围的形状进行估计。例如,线性回归是一种相对不灵活的方法,因为它只能生成线性函数,如图2.1所示的直线或图2.4所示的平面。其他方法,如图2.5和2.6所示的薄板样条,因为它们可以生成更广泛的可能形状以进行估计,所以具有更大的灵活性

统计学习导论基于python中文版 统计学导论课程_数据集_91

图2.7 模型灵活性和模型可解释性之间的关系

一般来说,随着方法灵活性的增加,其可解释性降低。

有人可能会合理地问这样一个问题:为什么我们总是选择使用限制性更强的方法,而不是非常灵活的方法?主要有以下几个原因,如果我们主要对统计推断感兴趣,那么限制性模型就更容易解释。例如,当统计推断是主要关注点时,线性模型可能是一个很好的选择,因为它很容易理解统计学习导论基于python中文版 统计学导论课程_数据_16统计学习导论基于python中文版 统计学导论课程_统计学习_57之间的关系。相比之下,非常灵活的方法,如第7章中讨论的样条曲线和图2.5和2.6中显示的样条曲线,以及第8章中讨论的增强方法,可能会导致很复杂的估计结果,以至于很难理解任何单个预测变量是如何与响应相关联的。

图2.7展示了我们在本书中介绍的一些方法的灵活性和可解释性之间的权衡。第三章中讨论的最小二乘线性回归相对来说是不灵活的,但可以很好地解释。第6章中讨论的LASSO依赖于线性模型(3),对线性模型增加L1正则项,从而使一些预测变量的系数为0,从而处理纬度泛滥的问题。在这个意义上,Lasso是一种不如线性回归灵活的方法。它也比线性回归更易于解释,因为在最终模型中,响应变量只与预测的一小部分相关,即系数估计值非零的预测变量。第7章中讨论的广义加性模型(GAMs)),在线性模型的基础上进行扩展,以考虑某些非线性关系。因此,GAMs比线性模型更灵活。

与线性回归相比,这些模型的解释性更弱,因为每个预测因子和反应之间的关系现在是用曲线建模的。最后,也有一些非线性的方法,如Bagging、boosting、SVM和神经网络(深度学习),他们都很难解释。我们已经确定,当以统计推断为目标时,使用简单且相对不灵活的统计学习方法有明显的优势。然而,在某些情况下,我们只对预测感兴趣,而对预测模型的可解释性并不感兴趣。例如,如果我们试图开发一种算法来预测房价,我们对该算法的唯一要求是它能够准确地预测而可解释性不必担心。在这种情况下,我们可能希望最好使用最灵活的模型。但是 ,情况并非总是如此!我们通常会使用不太灵活的方法获得更准确的预测。因为高度灵活的方法中可能出现的过度拟合有关。

2.1.4 监督学习 与 无监督学习

大多数统计学习问题可分为两类:监督学习和无监督学习,当然还有一些半监督学习问题,本文章不进行讨论。

**监督学习:**到目前为止,我们在本章中讨论的例子都属于有监督学习领域,对于每一次观测,我们都有预测变量统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_94和响应变量统计学习导论基于python中文版 统计学导论课程_数据_95,我们希望拟合一个模型,将响应与预测因素联系起来,目的是准确预测统计学习导论基于python中文版 统计学导论课程_数据集_96,或更好地理解统计学习导论基于python中文版 统计学导论课程_数据集_96统计学习导论基于python中文版 统计学导论课程_数据_98(推断)之间的关系。许多经典的统计学习方法,如线性回归和逻辑回归以及更现代的方法,如GAM、boosting和support Vector Machine,都在监督学习领域中运行。

无监督学习:无监督模型是指对于每一个观测样本,我们只有统计学习导论基于python中文版 统计学导论课程_数据_98,没有统计学习导论基于python中文版 统计学导论课程_数据集_96,无监督学习的统计方法如聚类分析

统计学习导论基于python中文版 统计学导论课程_数据_101

图2.8 聚类分析案例图

图2.8包含三个组的聚类数据集。每组使用不同颜色的符号显示。左图:三组被很好地分开。在这种情况下,聚类方法应该能够成功地识别这三个组。右图:各组之间有一些重叠。此时,聚类任务更具挑战性。

许多问题属于有监督或无监督的学习。然而,有时一个分析应该被视为有监督还是无监督的问题并不那么明确。假设我们有一组观测值共n个。其中m个(m<n)有预测测量和响应测量。而剩下的n-m个观测,我们只有预测测量,没有响应测量。如果可以相对便宜地测量预测值,但收集相应的响应要昂贵得多,则可能出现这种情况。我们将此情况称为半监督学习问题。

2.1.5 回归和分类

回归和分类是统计学习的两大主要主题。变量可以分为数值型变量和类别型变量。数值型变量是以数字形式展示,例如收入,年龄。而类别型变量是分为k个不同的类别,例如性别,学历。

我们倾向于根据相应变量是定量还是定性来选择统计学习方法;例如在回归中,定量时我们可以使用线性回归,定性时我们可以使用逻辑回归。然而,无论预测变量是定性的还是定量的,一般认为都不太重要。因为无论预测变量类型如何,在进行分析之前对任何定性预测变量进行了适当的编码。

2.2 评估模型的准确性

为什么我们需要对不同模型进行评估,因为在统计学中,根据没有免费的午餐理论:没有一种方法可以在所有数据集上优于所有其他方法。在一个特定的数据集上,一种特定的方法可能效果最好,但在一个相似但不同的数据集上,另一种方法可能效果更好。因此,对于任何给定的数据集,确定哪种方法产生最佳结果是一项重要的任务。选择最佳方法可能是统计学习实践中最具挑战性的部分之一。

2.2.1 评估拟合的效果

为了评估统计学习方法在给定数据集上的性能,我们需要某种方法来衡量其预测与观测数据的实际匹配程度。我们需要量化给定自变量的预测响应值与该观测的真实响应值接近的范围。在回归中,最常用的度量是均方误差(MSE)
统计学习导论基于python中文版 统计学导论课程_统计学习_102
注意的是上式MSE是使用用于拟合模型的训练集计算的,因此应更准确地称为training MSE。但一般来说,我们并不真正关心该方法在训练数据上的效果如何。相反,我们感兴趣的是,当我们将我们的方法应用于以前未经验证的数据时,所获得预测的准确性。也就是模型在测试集上的准确性,因此我们需要测算test MSE,假设统计学习导论基于python中文版 统计学导论课程_统计学习_103是测试集上的数据,我们想要得到测试集上最低的MSE,我们需要计算:
统计学习导论基于python中文版 统计学导论课程_数据_104
我们想选择尽可能让统计学习导论基于python中文版 统计学导论课程_统计学习_105最小的模型。在某些情况下,我们可能有一个可用的测试数据集,我们可以简单地对测试集进行评估(5),并选择测试MSE最小的学习方法。但是如果没有可用的测试观察结果呢?在这种情况下,使训练MSE最小化(4)是一种相对合理的方法

统计学习导论基于python中文版 统计学导论课程_数据集_106

图2.9

左:三个拟合模型,线性模型(橙色曲线)和两个平滑样条曲线(蓝色和绿色曲线)。右:所有方法的训练MSE(灰色曲线)、测试MSE(红色曲线)和最小可能测试MSE(虚线)

从右图可以看出,随着模型的灵活性增加,训练集的误差越来越小,测试集的误差先减少后升高,呈现U字型。因此,我们不能保证训练集MSE最低的方法也会有最低的测试MSE。导致了许多统计方法专门估计系数以最小化训练集MSE。对于这些方法,训练集MSE可以很小,但测试MSE通常要大得多,从而影响了模型的泛化能力。

在实践中,通常计算训练MSE,而估计测试MSE要困难得多,因为通常没有可用的测试数据。一个重要的方法是通过交叉验证来估计测试误差

2.2.2 偏差和方差的权衡

对于一个特定的统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_107,我们可以将MSE分为三部分,统计学习导论基于python中文版 统计学导论课程_数据集_108的方差、偏差的平方以及残差项的方差
统计学习导论基于python中文版 统计学导论课程_统计学习_109
统计学习导论基于python中文版 统计学导论课程_数据_110

Variance:

统计学习导论基于python中文版 统计学导论课程_数据集_108的方差是指如果我们使用不同的训练数据集对统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25进行估计,则统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25 将发生的变化量。由于训练数据用于拟合模型,不同的训练数据集将产生不同的统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25。但理想情况下,统计学习导论基于python中文版 统计学导论课程_数据集_11的估计值在训练集之间不应变化太大。然而,如果一种方法具有较高的方差,那么训练数据中的微小变化可能导致统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25

Bias:

相反,随着模型灵活度的增加,Bias会不断下降。

一般来说,当我们使用更灵活的方法时,方差将增加,偏差将减少。这两个量的相对变化率决定了测试MSE是增加还是减少。当我们增加一类方法的灵活性时,偏差在初始阶段的减少速度往往快于方差的增加速度。因此,预期的最大均方误差下降。然而,在某些情况下,增加灵活性对偏差影响不大,但开始显著增加方差。发生这种情况时,测试MSE增加,这也是为什么测试MSE呈现U型。

统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_117

图2.10 偏差,方差和MSE

总的来说,我们需要根据实际情况来确定模型的复杂度,同时考虑Variance和Bias,让统计学习导论基于python中文版 统计学导论课程_统计学习_105达到最小。

2.2.3 分类问题

上述我们讨论许多概念的主要是在回归场景下,但有时统计学习导论基于python中文版 统计学导论课程_数据集_96不再是数值型变量,这时需要考虑分类问题,假设我们有一组数据{统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_120},统计学习导论基于python中文版 统计学导论课程_统计学习_121是类别型数据,量化我们估计的准确性的最常用方法是错误率–通过 统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_25 估计在训练集上所犯错误的比例:
统计学习导论基于python中文版 统计学导论课程_数据_123
统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_124是预测值,统计学习导论基于python中文版 统计学导论课程_统计学习_125是示性函数,当统计学习导论基于python中文版 统计学导论课程_数据集_126时,为0,否则为1,因此上述公式计算的是错误估计的比例被称为训练错误率,因为它是用基于训练分类器的数据计算的训练错误。我们最感兴趣的是将分类器用于测试集中未使用的观察结果所产生的错误率。测试误差统计学习导论基于python中文版 统计学导论课程_数据集_127形式的一组测试观测值相关的测试误差率如下所示:
统计学习导论基于python中文版 统计学导论课程_统计学习_128
一个好的分类器是要让测试误差率最小

贝叶斯分类器

可以证明通过一个非常简单的分类器将测试错误率平均降至最低,该分类器将每个观测值分配给最可能的类,给出其预测值,从概率角度来看,也就是要计算给定统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_107,使得统计学习导论基于python中文版 统计学导论课程_统计学习_130分到第统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_131类可能性最大
统计学习导论基于python中文版 统计学导论课程_数据_132
当问题为2分类时候,如果统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_133,则分到第一类

统计学习导论基于python中文版 统计学导论课程_统计学习_134

图2.11二分类实例图

图2.11由两组各100个观测值组成的模拟数据集,用蓝色和橙色表示。紫色虚线表示Bayes决策边界。橙色背景网格表示将测试观察分配给橙色类的区域,蓝色背景网格表示将测试观察分配给蓝色类的区域。

图2.11的分界线是一个贝叶斯决策边界,在蓝色区域说明在这些区域分类到蓝色类的概率>0.5,当也可以发现有一些错判的现象,我们用贝叶斯错误率来衡量
统计学习导论基于python中文版 统计学导论课程_统计学习导论基于python中文版_135

其中,期望值平均了x的所有可能值的概率。对于我们的模拟数据,Bayes错误率为0.133。

总结:

在回归和分类情形中,选择正确的灵活性水平对于任何统计学习方法的成功都至关重要。偏差-方差权衡,以及由此产生的测试误差中的U形,会使这成为一项困难的任务。之后我们会讨论各种估计测试错误率的方法,从而为给定的统计学习方法选择最佳的灵活性水平。

参考文献:An Introduction to Statistical Learning with Applications in R