参考资料: The Elements of Statistical Learning An Introduction to Statistical Learning 统计学习导论(ISLR)(二):统计学习概述 统计学习导论(ISLR)(三):线性回归 统计学习导论(ISLR)(四):分类 统计学习导论(ISLR)(五):重采样方法(交叉验证和boostrap) ISLR统计学习导论之R语言应用(二):R语言基础 ISLR统计学习导论之R语言应用(三):线性回归R语言代码实战 ISLR统计学习导论之R语言应用(四):分类算法R语言代码实战 统计学习导论(ISLR) 第四章课后习题
统计学习是指用于理解数据的大量方法 这些方法可以分为有监督的或无监督的, 广义上讲,有监督的统计学习涉及建立一个统计模型,根据一个或多个输入来预测或估计输出,无监督统计学习,有输入但无监督输出;尽管如此,我们还是可以从这些数据中看出相关的关系和结构。
为了激发我们对统计学习的研究,我们从一个简单的例子开始。假设我们是客户聘请的统计顾问,调查特定广告和销售之间的相关产品。这个广告数据集包括产品在200个特定市场的销量,以及三个市场的产品在相关媒体:电视、广播和报纸的广告预算 。
数据如图2.1所示。我们的客户不能直接增加产品的销量。另一方面,他们可以控制三大媒体的广告支出。因此,如果我们确定广告和销售额之间存在相关性,那么我们可以引导我们的客户调整他们的广告预算,从而间接增加销售额。换句话说,是开发一个准确的模型,可用于基于三种媒体预算来预测销售额。在这种情况下,广告预算是输入变量,而销售量输入是输出变量。输入变量通常用变量输出符号表示,用下标来区分。所以 是电视预算, 是广播预算, 是报纸预算。输入变量有不同的名称,例如预测变量、自变量、特征、预测变量、自变量特征,或有时只是变量。输出变量,在当前案例下,销售额是因变量,通常称为响应或因变量,通常用表示输出变量。本书中,我们将交替使用所有这些术语。
该图显示了 200 个不同相关市场的销售量(以千台计)作为电视、广播和报纸预算的函数(以千美元计)。在每幅图中,我们都展示了简单最小二乘法适用于该变量。换句话说,每条蓝线代表一个简单的模型,可用于预测分别使用电视、广播和报纸的销售情况。
更一般地,假设我们研究一个定量应变量和个自变量, 之间存在某种关系,可以写成一般的形式:
这里 是一些固定但未知的关于 和 是随机误差项的函数,随机误差项与 X 无关,均值为零。在这个公式中,代表系统的信息,提供关于的信息
另一个例子,图2.2中的左图是关于收入和受教育年限关系的散点图,共有三十个样本. 通过教育年限来预测收入。然而,函数 f 将输入变量连接到输出变量的关系通常是未知的。在这种情况下,必须根据观察到的点估计 f。由于收入是模拟数据集,因此 f 是已知的,如图 2.2 右侧面板中的蓝色曲线所示。垂直线代表误差项ε。我们注意到大约 30 个观测值在蓝色曲线上方,有些在蓝色曲线下方;总体而言,误差的平均值近似为零。
红点是样本的收入(万美元)和受教育年限。蓝色曲线代表收入和受教育年限之间的真实潜在关系,这通常是未知的(但在这种情况下,因为数据是模拟的)。黑线代表与每个观察相关的误差。请注意,有些误差是正的(如果观测值在蓝色曲线上方),有些误差是负值(如果观测值低于曲线)。总体而言,这些误差的平均值约为0
一般来说,函数 f 可能涉及多个输入变量。在图 2.3 中,我们将收入绘制为受教育年限和资格的函数 这里 f 是一个二维曲面,必须根据观察到的数据进行估计。
蓝色表面代表收入与受教育年限和学历之间真正关系,这是已知的,因为数据是模拟的。红点代表观察到的这些量的值。
因此,本质上,统计学习指的是估计 f.在本章中,我们概述了估计中的一些关键理论概念
2.1.1 为什么要估计
一般而言,我们估计有两个目的:一是做预测,二是做统计推断
预测:
在许多情况下,输入变量是容易观察的,但是输出变量较难获得。在这种情况下,由于平均误差项为零,我们可以预测通过以下公式: 表示的估计,表示的估计,在这种情况下,我们通常把看做是一个黑匣子问题,我们不关系它具体的形式,只要0他能产生准确的预测
例如,假设 是患者的特征,可以在实验室轻松测量的血样,并且是患者对特定药物发生严重不良反应的风险的编码变量。用来预测是很自然的,因为我们可以避免错误地给有不良反应风险的病人(也就是估计高的病人)药物。的精确度取决于两个量,我们将其称为可解释误差和不可约误差。一般而言,可解释误差 不会是的完美估计 ,这种不准确会引入一些误差。这个误差是可以减少的,因为我们可以通过使用最合适的统计学习技术来地提高其准确性 。但是,即使可以达到完美估计,我们的估计变量采用 的形式,我们的预测仍然会有一些误差!这是因为也是一个 函数 ,所以ε也会影响我们预测的准确性。这就是不可约误差,因为无论我们估计的多好,也无法减少由 ε 引入的误差
为什么不可约误差大于零? 可能包含在解释变量中但又未测量的变量, 不能将它们用于预测,因为我们不测量它们。$epsilon $ 也可能包含不可测量的变量。例如,特定的不良风险患者在特定日期可能会有不同的反应,这取决于药物本身制造当天的快乐程度或患者的整体感觉变化。
考虑给定的估计 和一组预测变量 ,这会产生一个预测 ,即 是 。暂时假设 和都是固定的,所以唯一的可变性来自于 .这样就很容易证明:
其中表示预测值与实际值差的平方的期望, 表示残差项ε的方差。重点学习如何更好的估计,最小化可减少的误差。但是,不可约误差总是会提供我们预测准确性的上限
统计推断:
我们常常对分析 和之间的关系感兴趣。在这种情况下,我们想要估计,但我们的目标不是做出预测,而是做统计推断,此时 不能当做黑盒,因为我们需要知道它的确切形式。在这种情况下,我们对下列问题感兴趣:
- 哪些预测变量与因变量相关?通常,只有少数可用的预测变量是实质性的和相关。根据实际情况,在大量可能的变量确定少量重要的预测变量很有用。
- 响应与每个预测变量之间的关系是什么?一些预测变量与被解释变量是正向关系的,而其他预测变量可能具有相反的关系。根据的复杂度 、响应和一个给定的预测变量之间的关系也可能依赖于其他变量
- 是否可以使用线性方程来完全概括每个预测变量与的关系,或者这种关系是否更复杂?历史上,大多数估计的方法 都采用线性形式。在某些情况下,这种假设是合理的。然而,真正的关系往往更为复杂,此时线性模型可能不能准确地表示输入和输出变量之间的关系。
例如,考虑一家对直接营销活动感兴趣的公司。目标是基于每个人的基本特征来判断哪些人可能会积极响应电子邮件,公司对深入了解每个预测变量与响应之间的关系不感兴趣;相反,公司只是想用预测变量来准确预测响应。这是关于预测的一个例子。
最后,可以同时参考预测和推断进行建模。例如,在研究房地产情况时,人们可能会考虑与房价相关的输入变量,例如犯罪率、区域、与河流的距离、空气质量、学校、社区收入水平、房屋大小等。在这种情况下,人们可能对每个输入变量和房价之间的关系感兴趣 。例如,有江景的房子会额外贵多少?这是一个统计推断问题。或者,人们可能只是对预测房价感兴趣,房价被低估了还是被高估了?此时是一个预测问题
本书会讨论一些列关于预测、统计推断、或者两者同时考虑的场景
2.1.2 如何估计
有许多线性和非线性的方法估计,它们都有相同点,就是假设我们有个观测数据,这些观测数据称为训练接,我们用这些数据来训练模型估计,
我们的目标是将统计学习方法应用于训练数据,以估计未知函数 。换句话说,我们希望找到一个函数 ,使得对于任何观察 。从广义上讲,用于此任务的大多数统计学习方法都可以分为参数估计或非参数估计。我们现在简要讨论这两种方法。
参数估计
参数估计可以分为两个步骤
-
1.首先,我们假定的函数形式。例如我们假定是一个线性函数: 一旦我们假设是线性的,的估计问题就大大简化了。我们只需要估计 个参数,而不是完全估计任意 维函数
-
2.模型确定之后,我们需要一个使用训练数据集来拟合模型。对于公式(3)的线性模型,通常使用最小二乘法进行估计,当然,后续也会介绍一些其他的方法进行估计
刚才描述的方法是参数估计;它将估算的问题简化为估算一组参数的问题。假设的参数形式简化了估计f的问题,因为通常估计一组参数更容易,如线性模型中的(3),而不是完全任意函数。参数估计方法的潜在缺点是,我们选择的模型通常与真实未知形式不完全匹配。如果选择的模型与真实值相差太远,那么我们的估计值就会很差。我们可以通过选择更灵活的模型来解决这个问题,这些模型可以适应许多不同的可能函数形式灵活的形式。但一般来说,拟合更灵活的模型需要估计更多的参数。这些更复杂的模型可能会导致过拟合现象,这本质上意味着它们对模型错误的拟合过度,会导致在新的数据集上的表现较差
对于公式(3)来说,由于我们假设响应与两个预测变量之间存在线性关系,因此整个拟合问题简化为估计,这是我们使用最小二乘线性回归进行的。将图2.3与图2.4进行比较,我们可以看到,图2.4中给出的线性拟合并不十分正确:真实的曲线是一些在线性拟合中无法捕捉到的曲率。
非参数估计:
非参数方法不会对函数形式进行明确假设。相反,他们寻求的是一个尽可能接近数据点的估计值,与参数方法相比,这种方法有一个主要优势:通过避免对的特定函数形式的假设,它们有可能精确地拟合的更大范围的可能形状。任何参数化方法都会带来一种可能性,即用于估计的函数形式与真实的非常不同,在这种情况下,模型将无法很好地拟合数据。相比之下,非参数方法完全避免了这种误差,因为基本上并没有对函数形式进行假设。但非参数方法确实有一个主要的劣势:因为它们不能减少估计尽可能多的参数的问题,所以需要大量的观测(远远超过参数方法通常需要的观测值),才能获得对参数的准确估计。图2.5显示了非参数方法拟合的示例。
图2.6拟合在训练集上0误差。这是一个过度拟合数据的示例,我们在前面讨论过这是一种不理想的情况,因为获得的拟合不会对不属于原始训练数据集的新观测结果产生准确的估计。我们在第5章讨论了选择正确平滑度的方法。样条曲线将在第7章中讨论。正如我们所看到的,用于统计学习的参数和非参数方法各有优缺点。我们在本书中探讨了这两种方法。
2.1.3 预测准确性和模型可解释性之间的权衡
在我们在本书中研究的许多方法中,有些方法不太灵活,或者更具限制性,因为它们只能产生相对较小范围的形状进行估计。例如,线性回归是一种相对不灵活的方法,因为它只能生成线性函数,如图2.1所示的直线或图2.4所示的平面。其他方法,如图2.5和2.6所示的薄板样条,因为它们可以生成更广泛的可能形状以进行估计,所以具有更大的灵活性
一般来说,随着方法灵活性的增加,其可解释性降低。
有人可能会合理地问这样一个问题:为什么我们总是选择使用限制性更强的方法,而不是非常灵活的方法?主要有以下几个原因,如果我们主要对统计推断感兴趣,那么限制性模型就更容易解释。例如,当统计推断是主要关注点时,线性模型可能是一个很好的选择,因为它很容易理解和之间的关系。相比之下,非常灵活的方法,如第7章中讨论的样条曲线和图2.5和2.6中显示的样条曲线,以及第8章中讨论的增强方法,可能会导致很复杂的估计结果,以至于很难理解任何单个预测变量是如何与响应相关联的。
图2.7展示了我们在本书中介绍的一些方法的灵活性和可解释性之间的权衡。第三章中讨论的最小二乘线性回归相对来说是不灵活的,但可以很好地解释。第6章中讨论的LASSO依赖于线性模型(3),对线性模型增加L1正则项,从而使一些预测变量的系数为0,从而处理纬度泛滥的问题。在这个意义上,Lasso是一种不如线性回归灵活的方法。它也比线性回归更易于解释,因为在最终模型中,响应变量只与预测的一小部分相关,即系数估计值非零的预测变量。第7章中讨论的广义加性模型(GAMs)),在线性模型的基础上进行扩展,以考虑某些非线性关系。因此,GAMs比线性模型更灵活。
与线性回归相比,这些模型的解释性更弱,因为每个预测因子和反应之间的关系现在是用曲线建模的。最后,也有一些非线性的方法,如Bagging、boosting、SVM和神经网络(深度学习),他们都很难解释。我们已经确定,当以统计推断为目标时,使用简单且相对不灵活的统计学习方法有明显的优势。然而,在某些情况下,我们只对预测感兴趣,而对预测模型的可解释性并不感兴趣。例如,如果我们试图开发一种算法来预测房价,我们对该算法的唯一要求是它能够准确地预测而可解释性不必担心。在这种情况下,我们可能希望最好使用最灵活的模型。但是 ,情况并非总是如此!我们通常会使用不太灵活的方法获得更准确的预测。因为高度灵活的方法中可能出现的过度拟合有关。
2.1.4 监督学习 与 无监督学习
大多数统计学习问题可分为两类:监督学习和无监督学习,当然还有一些半监督学习问题,本文章不进行讨论。
**监督学习:**到目前为止,我们在本章中讨论的例子都属于有监督学习领域,对于每一次观测,我们都有预测变量和响应变量,我们希望拟合一个模型,将响应与预测因素联系起来,目的是准确预测,或更好地理解与(推断)之间的关系。许多经典的统计学习方法,如线性回归和逻辑回归以及更现代的方法,如GAM、boosting和support Vector Machine,都在监督学习领域中运行。
无监督学习:无监督模型是指对于每一个观测样本,我们只有,没有,无监督学习的统计方法如聚类分析
图2.8包含三个组的聚类数据集。每组使用不同颜色的符号显示。左图:三组被很好地分开。在这种情况下,聚类方法应该能够成功地识别这三个组。右图:各组之间有一些重叠。此时,聚类任务更具挑战性。
许多问题属于有监督或无监督的学习。然而,有时一个分析应该被视为有监督还是无监督的问题并不那么明确。假设我们有一组观测值共n个。其中m个(m<n)有预测测量和响应测量。而剩下的n-m个观测,我们只有预测测量,没有响应测量。如果可以相对便宜地测量预测值,但收集相应的响应要昂贵得多,则可能出现这种情况。我们将此情况称为半监督学习问题。
2.1.5 回归和分类
回归和分类是统计学习的两大主要主题。变量可以分为数值型变量和类别型变量。数值型变量是以数字形式展示,例如收入,年龄。而类别型变量是分为k个不同的类别,例如性别,学历。
我们倾向于根据相应变量是定量还是定性来选择统计学习方法;例如在回归中,定量时我们可以使用线性回归,定性时我们可以使用逻辑回归。然而,无论预测变量是定性的还是定量的,一般认为都不太重要。因为无论预测变量类型如何,在进行分析之前对任何定性预测变量进行了适当的编码。
为什么我们需要对不同模型进行评估,因为在统计学中,根据没有免费的午餐理论:没有一种方法可以在所有数据集上优于所有其他方法。在一个特定的数据集上,一种特定的方法可能效果最好,但在一个相似但不同的数据集上,另一种方法可能效果更好。因此,对于任何给定的数据集,确定哪种方法产生最佳结果是一项重要的任务。选择最佳方法可能是统计学习实践中最具挑战性的部分之一。
2.2.1 评估拟合的效果
为了评估统计学习方法在给定数据集上的性能,我们需要某种方法来衡量其预测与观测数据的实际匹配程度。我们需要量化给定自变量的预测响应值与该观测的真实响应值接近的范围。在回归中,最常用的度量是均方误差(MSE) 注意的是上式MSE是使用用于拟合模型的训练集计算的,因此应更准确地称为training MSE。但一般来说,我们并不真正关心该方法在训练数据上的效果如何。相反,我们感兴趣的是,当我们将我们的方法应用于以前未经验证的数据时,所获得预测的准确性。也就是模型在测试集上的准确性,因此我们需要测算test MSE,假设是测试集上的数据,我们想要得到测试集上最低的MSE,我们需要计算: 我们想选择尽可能让最小的模型。在某些情况下,我们可能有一个可用的测试数据集,我们可以简单地对测试集进行评估(5),并选择测试MSE最小的学习方法。但是如果没有可用的测试观察结果呢?在这种情况下,使训练MSE最小化(4)是一种相对合理的方法
左:三个拟合模型,线性模型(橙色曲线)和两个平滑样条曲线(蓝色和绿色曲线)。右:所有方法的训练MSE(灰色曲线)、测试MSE(红色曲线)和最小可能测试MSE(虚线)
从右图可以看出,随着模型的灵活性增加,训练集的误差越来越小,测试集的误差先减少后升高,呈现U字型。因此,我们不能保证训练集MSE最低的方法也会有最低的测试MSE。导致了许多统计方法专门估计系数以最小化训练集MSE。对于这些方法,训练集MSE可以很小,但测试MSE通常要大得多,从而影响了模型的泛化能力。
在实践中,通常计算训练MSE,而估计测试MSE要困难得多,因为通常没有可用的测试数据。一个重要的方法是通过交叉验证来估计测试误差
2.2.2 偏差和方差的权衡
对于一个特定的,我们可以将MSE分为三部分,的方差、偏差的平方以及残差项的方差 是测试集误差的期望
Variance:
的方差是指如果我们使用不同的训练数据集对进行估计,则 将发生的变化量。由于训练数据用于拟合模型,不同的训练数据集将产生不同的。但理想情况下,的估计值在训练集之间不应变化太大。然而,如果一种方法具有较高的方差,那么训练数据中的微小变化可能导致 的较大变化。总的来说,更灵活的统计模型具有较高的方差。
Bias:
相反,随着模型灵活度的增加,Bias会不断下降。
一般来说,当我们使用更灵活的方法时,方差将增加,偏差将减少。这两个量的相对变化率决定了测试MSE是增加还是减少。当我们增加一类方法的灵活性时,偏差在初始阶段的减少速度往往快于方差的增加速度。因此,预期的最大均方误差下降。然而,在某些情况下,增加灵活性对偏差影响不大,但开始显著增加方差。发生这种情况时,测试MSE增加,这也是为什么测试MSE呈现U型。
总的来说,我们需要根据实际情况来确定模型的复杂度,同时考虑Variance和Bias,让达到最小。
2.2.3 分类问题
上述我们讨论许多概念的主要是在回归场景下,但有时不再是数值型变量,这时需要考虑分类问题,假设我们有一组数据{},是类别型数据,量化我们估计的准确性的最常用方法是错误率–通过 估计在训练集上所犯错误的比例: 是预测值,是示性函数,当时,为0,否则为1,因此上述公式计算的是错误估计的比例被称为训练错误率,因为它是用基于训练分类器的数据计算的训练错误。我们最感兴趣的是将分类器用于测试集中未使用的观察结果所产生的错误率。测试误差形式的一组测试观测值相关的测试误差率如下所示: 一个好的分类器是要让测试误差率最小
贝叶斯分类器
可以证明通过一个非常简单的分类器将测试错误率平均降至最低,该分类器将每个观测值分配给最可能的类,给出其预测值,从概率角度来看,也就是要计算给定,使得分到第类可能性最大 当问题为2分类时候,如果,则分到第一类
图2.11由两组各100个观测值组成的模拟数据集,用蓝色和橙色表示。紫色虚线表示Bayes决策边界。橙色背景网格表示将测试观察分配给橙色类的区域,蓝色背景网格表示将测试观察分配给蓝色类的区域。
图2.11的分界线是一个贝叶斯决策边界,在蓝色区域说明在这些区域分类到蓝色类的概率>0.5,当也可以发现有一些错判的现象,我们用贝叶斯错误率来衡量
其中,期望值平均了x的所有可能值的概率。对于我们的模拟数据,Bayes错误率为0.133。
总结:
在回归和分类情形中,选择正确的灵活性水平对于任何统计学习方法的成功都至关重要。偏差-方差权衡,以及由此产生的测试误差中的U形,会使这成为一项困难的任务。之后我们会讨论各种估计测试错误率的方法,从而为给定的统计学习方法选择最佳的灵活性水平。