Chapter 2 – ISL

读书笔记之
An Introduction to Statistical Learning with R
Chapter 2     Statistics Learning概述

 

dependent variable Y 和 predictors X 的very general关系表达式如上。其中,f 是某个固定的但未知的、关于 X 的函数;f  提供关于 Y 的systematic information;ε 是独立于 X 的、mean zero的随机误差。


 statistical learning 指的是一系列估计函数 的方法。


Why estimate f ?

  • Prediction(侧重对 的预测)

因为随机误差项 ε averages to zero,所以我们用上式来预测 Y。其中,f^ 是对 的估计,Y^ 是对 的估计;f^ 通常被看做黑盒(我们不需要知道 f^ 的具体表达式),在这个层面上 f^ 不能完美代表 f f^ is often treated as a black box, in the sense that one is not typically concerned with the exact form of f, provided that it yields accurate predictions for Y.)。

Y^ 的精度取决于两个因素:reducible error 和 irreducible error
1、reducible error:由预测函数 f^ 不能完美表达 f 而引入,可通过使用最合适的概率估计方法去减小。
2、irreducible error:由随机误差产生。为什么irreducible error的绝对值大于0?ε 可能包含对于预测有用的变量,但因为我们无法观测这些变量,所以 f 无法将这些变量一同表达;同时,ε 还可能包含不可观测的变化,比如根据病人血液的某种指标去估计其服用某种药物后产生副作用的风险,这里不可观测的变化有药物本身成分的微小不同和服药时间,我们无法保证生产过程中每粒药片都是完全相同的,也无法保证不同天或一天中不同时段病人的身体状况不发生微小变化。

E(Y − Yˆ)2 表示 Y   的方差,分解后得到方差包含两部分误差,即上文所说的reducible error和irreducible error。

  • Inference(侧重分析 X 的相互关系)

Inference侧重分析 和 X 的相互关系,理解 是如何随着 的变化而变化的(这种情况下 f^ 就不能看成黑盒),我们想要回答以下几个问题:
1、哪些 predictors 和 Y 相关?
2、那他们之间具体是怎样的相关关系?正相关还是负相关?
3、我能用线性关系去表达吗?还是用更复杂的非线性关系?

(很多情况是prediction和inference都需要)


How Do We Estimate f ?

大多数统计学习方法可以分为 parametric 和 non-parametric。

  • Parametric methods:

包含两个步骤:
1、首先我们假设 是什么样的函数形式( the functional form, or shape, of f)。 举个最简单的例子,我们假设是线性函数,就把问题化简为求解 p+1 个系数 β0, β1, …, βp
2、当选好模型(即函数)后,我们需要一种方法利用训练集去训练(fit or train)模型,也就是求解函数系数的方法,如最小二乘法。

为什么将其称为参数估计方法,因为它将估计 这个问题化简为求解我们假设的模型的系数,由此也带来潜在的误差:我们所选择的模型不一定是最合适的,一旦模型与 true 相差巨大,我们的估计结果就会非常不可靠;当然我们可以选择更flexible的模型,但那样意味着计算量巨大(需要估计更多的系数)和可能产生overfitting。

  • Non-parametric methods

非参数估计方法不对 套用既定的模型,而是去fit尽可能多的training data,让预测函数非常“精确”(they seek an estimate of f that gets as close to the data points as possible without being too rough or wiggly),虽然得到的预测函数很完美地贴合训练数据,但该方法需要的训练数据量非常巨大,而且可能产生overfitting。


The Trade-off Between Prediction Accuracy and Model Interpretability

一般地,more restrictive method意味着模型可解释性越强,more flexible approach意味着预测精度越高。下图是各方法的interpretation和flexibility的排序。有时候我们为什么偏好more restrictive method而不是a very flexible approach?当我们的目标是inference时,线性模型可能是更好的选择,因为它能让我们容易理解因变量 Y 和 predictors X1X2,…, Xp 之间的关系,相反地,如果用splines或boosting方法,难以理解到底有多少个predictor和结果相关。
当我们的目标是prediction时,更想要得到一个精确的预测结果,可能会选择a very flexible approach,但这不是绝对的,有时候一个 less flexible的方法也能得到更准确的预测,所以我们需要做权衡。


Supervised versus Unsupervised Learning

大多数统计学习问题都可归为两类:监督和非监督。

  • 监督学习:对于每一个predictor X 的观测值都有对应的response Y(或者说每个训练样本都有明确的标签)。
  • 非监督学习:因为对于每一个predictor X 的观测值没有对应的response Y,所以我们缺少response variable去监督学习过程。 有时是因为样本数据真的没有对应标签;有时是因为特征太多,人工去标记标签太耗时耗力不现实。最典型的例子就是聚类。
  • 半监督学习:有一部分数据有标签,另一部分数据没标签(一般地,有标签的数据量<没标签数据量)。数据的分布必然不是完全随机的,可以通过有标签数据的局部特征和没标签数据的整体分布,说不定可以得到更好的预测结果。

Regression versus Classification Problems

回归问题或者分类问题的区分要看因变量是定量的(quantitative)还是分级的( qualitative or categorical)。


Assessing Model Accuracy

  • Measuring the Quality of Fit

一般用均方误差(mean squared error, MSE;又可以称为mean squared deviation, MSD)去评价预测结果与真实值之间的接近程度,也就是预测的精度(we need to quantify the extent to which the predicted response value for a given observation is close to the true response value for that observation)。

均方误差再细分为training MSE和test MSE。
顾名思义,training MSE是对训练数据去计算,而test MSE是对测试数据(没有参与模型构建的数据)。可想而知,training MSE即使再小,也不能说明我们构建的模型的好坏,而且两者并没有相关性,书里作者分别用三个实验向我们证明。

三幅图中,左边的图上黑线表示构造模拟数据的真实函数图像,而橙线、蓝线和绿线分别表示flexibility由小到大的统计学习方法构造的函数;右边的图上红线是test MSE,灰线是training MSE,其上不同颜色的点分别对应三个函数的MSE值。
我们可以发现:
(1)随着学习方法的flexibility的提高,training MSE一定是越来越小的(但容易造成overfitting),但test MSE不一定;
(2)training MSE和test MSE没有相关性;
(3)针对不同数据集,不同学习方法的预测效果不同。

我们更关心选择一种针对特定数据集,test MSE尽可能小的统计学习方法。

值得注意的是,基本上大多数统计方法计算得到的training MSE都要比test MSE小,因为most statistical learning methods either directly or indirectly seek to minimize the training MSE。

  • The Bias-Variance Trade-Off

这里的bias和variance是怎么来的?它们之间又是什么样的关系?见下式:等式左边是test MSE的期望,其推导过程如下(摘自wiki):这里有两点疑问(待解决):
(1)Var(ε)去哪了。。。
(2)为什么 E(θ^) – θ 是常数?:因为 E(θ^) 是根据构造的模型可以计算得到的一个常数,然后 θ 是真实的模型,虽然我们不知道真实模型到底是什么,但它的确是存在而且唯一的,所以它也是个常数。

因为variance和bias都是非负数,所以test MSE的期望永远大于 Var(ε)

这里的variance指的是当使用相同规模的不同训练数据去构造模型,得到的预测结果之间有多大变化,也即模型的稳定性(the amount by which fˆ would change if we estimated it using a different training data set)。理想情况下,不同训练数据构造出的模型不应该有太大变化。一般地,more flexible statistical methods have higher variance。

bias指的是模型预测结果的期望与真实值之间的差值,即模型本身的精确度。同理,一般地,more flexible methods result in less bias。

上文说到,要找到一个最合适的学习方法,就是要使其test MSE最小,那这里也就可以理解为要使variance和bias之和最小。

针对上文的三个模拟数据集和三个不同flexibility的模型,计算的test MSE期望、variance和bias如下:

图中,横着的虚线表示 Var(ε) ,竖着的虚线表示test MSE最小的情况。
我们可以发现:
(1)三幅图中,当flexibility上升时,variance随之上升,bias随之下降;
(2)针对不同的训练数据,得到最小的test MSE的模型flexibility level差别很大。

在一个实际系统中,Bias与Variance往往是不能兼得的。如果要降低模型的Bias,就一定程度上会提高模型的Variance,反之亦然。造成这种现象的根本原因是,我们总是希望试图用有限训练样本去估计无限的真实数据。当我们更加相信这些数据的真实性,而忽视对模型的先验知识,就会尽量保证模型在训练样本上的准确度,这样可以减少模型的Bias。但是,这样学习到的模型,很可能会失去一定的泛化能力,从而造成overfitting。相反,如果更加相信我们对于模型的先验知识,在学习模型的过程中对模型增加更多的限制,就可以降低模型的variance,提高模型的稳定性,但也会使模型的Bias增大。

三者的关系也可用下图来解释:靶心为某个真实模型,离靶心越远,则准确率越低。靶上的点代表某次对某个数据集学习得到的某个模型。纵向,高低的bias:高的Bias表示离靶心较远,低bias表示离靶心越近;横向,高低的variance,高的variance表示多次的“学习过程”越分散,反之越集中。

 

  • Accuracy Accessing in The Classification Setting

之前讲的bias和variance的trade-off是针对回归问题,那分类问题下的模型准确率要怎么度量呢?上式为错误率(error rate)的计算公式(其实,准确率 = 1 – 错误率)。其中,I 是指示变量(indicator variable),当 yi ≠ y^i 时,I = 1,否则 I = 0。

错误率像上文的MSE一样也分为training error rate和test error rate,两者的关系和training MSE与test MSE类似,不赘述。

 

Leave a Reply

Your email address will not be published. Required fields are marked *