导论
统计学习是一套以理解数据为目的的庞大工具集。一般有两个用途:一是面向预测的统计模型的建立,二是对一个或多个给定的输入估计某个输出。
预测:运用线性回归模型来预测数据
分类:预测一个非数据变量,即分类或定性的输出
聚类:不打算预测变量,而是对输入变量的属性进行分类聚合,形成一个个族群
统计学习
拟合效果检验
在回归中,最常用的评价准则是均方误差(MSE):
$\hat{f}(x_i) $为预测值
如果预测的响应值与真实的响应值存在实质上的差别,则均方误差会非常大
用训练数据计算的均方误差称为训练均方误差
但我们更在意测试点的测试均方误差,可计算如下函数:
这是测试观测点$(x_0,y_0)$的均方测试误差。
过拟合
过拟合:当模型的光滑度增加时,训练均方误差将降低,但测试均方误差不一定会降低。当所建的模型产生一个较小的训练均方误差,但却有一个较大的测试均方误差,就称该数据过拟合。
出现过拟合的原因:
- 训练集的数据太少
- 训练集和新数据的特征分布不一致
- 训练集中存在噪音。噪音大到模型过分记住了噪音的特征,反而忽略了真实的输入输出间的关系。
偏差-方差均衡
期望测试方差能分解成三个基本量的和,分别为:预测值的方差、预测值偏差的方差和误差项的方差,即:
证明过程:
学习算法的期望预测((数据分布Ɗ)训练出的【所有模型预测输出】的期望值,就是平均值):
(下面的x等同于上式的$\hat{f}(x_0)$,即预测值)
方差(variance)代表的是用一个不同的训练数据集估计$f$时,估计函数的改变量。因为训练数据是用来拟合统计学习方法的,因此不同的数据集会得到不同的$f$。一般来说,光滑度越高的统计模型会有更大的方差。
偏差(bias)指为了选择一个简单的模型逼近真实函数而被带入的误差,其构成可能非常复杂。因为真实的$f$实际上是非线性的,所以使用线性回归不会有太多的精准估计。
Bias是用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。
Variance是不同的训练数据集训练出的模型输出值之间的差异。
下图,蓝色实曲线表示在不同光滑度下偏差的平方,而橙色曲线表示方差,水平曲线表示不可约误差,即$Var(\varepsilon)$。表达测试均方误差的红色曲线是三个量的和。
中图,真实的f接近线性,因此当模型光滑度增加时,偏差只发生了微小的变化,测试均方误差由于方差的迅速增大导致迅速增长
右图,真实的f是非线性的,随着所选模型光滑度的增加,偏差会急剧减小。随着光滑度的增长,方差也有很小的增加。
一般而言,使用光滑度(flexible)越高的方法,所得的模型方差会增加,偏差会减少。这两个量比值的相对变化率会导致测试均方误差整体的增加或变小,所以偏差-方差的权衡是一个重要探讨主题。
分类模型
贝叶斯分类器
可以设计一个非常简单的分类器将每个观测值分配到它最大可能所在类别中,将这个类作为它的预测值即可。将一个待判 $x_0$分配到下面这个式子最大的那个 j 类上是合理的:
上式是一个条件概率,给定了观测向量$x_0$条件下$Y=j$的概率。这类方法称为贝叶斯分类器。
贝叶斯决策边界由那些概率等于50%的点组成
(上图从二分类数据中的每一类中抽取100个观测值组成应该模拟数据集。观测点由蓝色和橙色表示。紫色的虚线表示贝叶斯决策边界。橙色的背景方格表示其中的测试观测值将会归到橙色类中,蓝色背景的方格表示其中的测试观测值将会归到蓝色类中)
K最近邻(KNN)分类器
给定一个正整数$k$和一个测试观测值$x_0$,KNN分类从识别训练集中$k$个最靠近$x_0$的点集开始,从点集中的点估计一个分值作为条件概率的估计,这个值等于$j$:
最后,对KNN方法运用贝叶斯规则将测试观测值$x_0$分到概率最大的类中。
简单讲,比如对一个点进行黑白色分类,选靠近它的K个点,算出黑色和白色的估计概率,判断它是黑色点还是白色点。依此类推,可以绘制出相应的KNN决策边界。
K增加时,会导致方差降低,但偏差增加。
线性回归
简单线性回归
非常简单的根据单一预测变量X预测定量响应变量Y的方法,其线性关系为:
估计系数
我们需要获得系数估计,以使线性模型较好的拟合现有数据。
$e_i=y_i-\hat{y_i}$代表第 i 个残差——第 i 个观测到的响应值和第 i 个用线性模型预测出的响应值之间的差距。
定义残差平方和(RSS)为:
或等价定义为:
通过最小二乘法选择系数使RSS最小,系数即:
上式定义了简单线性回归系数的最小二乘估计
评估系数估计值的准确性
线性回归和随机变量的均值估计之间的类比是一个恰当的基于偏差(bias)概念的类比。如果用样本均值$\hat\mu$来估计总体均值$\mu$,这个估计是无偏的(无偏是指我们期望样本均值等于总体均值)。但往往在不同观测值上,会有偏大偏小的情况出现。所以我们尽量对从大量数据集上得到的估计值求平均,使得接近于真实总体回归直线。
我们通常通过计算$\hat{\mu}$的标准误差(standard error,写作$SE(\hat\mu)^2$,来评价样本均值$\hat\mu$作为总体均值$\mu$的估计有多准确:
其中,$\sigma$是变量$Y$的实现每个实现值$y_i$的标准差。粗略的说,标准误差告诉我们估计$\hat{\mu}$偏离$\mu$的实际值的平均量。
对$\sigma^2$的估计被称为残差标准误(residual standard error),由公式$RSE=\sqrt{RSS/(n-2)}$所定义
评价模型的准确性
量化模型拟合数据的程度
判断线性回归的拟合质量通常使用残差标准误(RSE)和统计量
残差标准误
每个观测都有误差项,因为误差存在,所以不能用X对Y作出完美预测。
RSE是对的标准偏差的估计。
如果RSE值相当小,那么可以认为该模型很好的拟合了数据,如果在多个观测中,相差很大,那么RSE可能是相当大的,表明该模型未能很好的拟合数据
统计量
RSE是以Y为标准衡量的,所以并不清楚构成良好的RSE的要素有哪些。统计量采用比例(proportion)(被解释方差的比例)的形式,值在0到1之间,与Y的量级无关
估计回归系数
类似的如下:
一些重要问题
响应变量和预测变量之间是否有关系?
计算F统计量:
(p为预测变量的个数)
当响应变量与预测变量无关,F统计量应该接近1。
如果F统计量远大于1,那么我们可以认为响应变量与预测变量有关。
那F统计量需要多大才行呢?这取决于样本量n和p的值。如果n很大,即使F统计量略大于1,可能认为有关;如果n较小,需要较大的F统计量证明有关。
似乎,如果任一变量的p值很小,那么至少有一个预测变量与响应变量有关,但当预测变量的数目很大的时候该结论会有缺陷。所以当变量数特别多时,我们甚至不能用最小二乘法拟合多元线性模型,F统计量也无法使用。
预测变量与响应变量的关系
多元回归分析的第一步是计算F统计量并检查相应的p值。
我们确定哪些变量是和响应变量有关,以建立只包含相关预测变量的模型的任务被称为变量选择。(关于变量选择,蓝珲可能讲不到:)
模型的拟合程度
两个常见的衡量模型拟合优劣的指标的RSE和.
若值接近1,则表明该模型能解释响应变量的大部分方差。
- 当更多的变量进入模型时,即时新加入的变量与响应变量的关联很弱,$R^2$也一定会增加
- 变量增加,模型越复杂,拟合的准确性越高,残差平方和减小
当RSE值越高,拟合程度越高。
但注意,预测变量增加,RSS在必然减少(拟合程度降低)的情况下,RSE反而会增加。也就是说,变量较多的模型可能有更高的RSE。
如何预测值,预测的准确程度如何?
一旦拟合出回归模型,就可以预测出响应变量Y,但是预测也有三类不确定性。
第一,系数估计具有不确定性,详见第二章
第二,线性模型是对现实的一种近似,所以存在改进可约误差的机会,线性模型假设是可约误差的来源,称为模型误差。不过我们能忽略这种差异。
第三,模型中不可避免的存在随机误差,称为不可约误差。我们用预测区间来估算预测值和真实值之间的差距。预测区间总是比置行区间宽,因为预测区间既包含f(X)的估计误差(可约误差),也包含单个点偏离总体回归平面程度的不确定性(不可约误差)。
分类
定性变量(比如眼睛的颜色有棕色,蓝色等等,无法定量)
线性回归在定性响应变量情况下是不适用的,因为该响应变量值往往没有自然的程度顺序,顺序改变,预测结果也会改变。
逻辑斯谛回归
逻辑斯谛回归对Y属于某一类的概率建模而不直接对响应变量Y建模。
逻辑斯谛回归模型
整理上式,可得:
其值称为发生比(odd),取值范围为0到无穷大。
对上式同时取对数,得:
等式的左边称为对数发生比或分对数,逻辑斯谛回归可以视为分对数变换下关于X的一个线性模型。
p(x) 和 p 的关系并不是线性关系。
估计回归系数
但是回归模型的系数未知,必须通过有效的训练数据估计这些系数。一般采用极大似然法拟合逻辑斯谛回归模型
基本思想:寻找$\beta_0+\beta_1$的一个估计,使得到的预测概率最大可能的与实际预测情况接近。
似然函数形式如下:
所估计的系数$\hat{\beta_0},\hat{\beta_1}$应使似然函数值最大
多元逻辑斯谛回归
对上面式子进行推广:
但在使用一个预测变量做逻辑斯谛回归时,如果其他预测变量与之有关系,那么预测模型会存在风险。与线性回归一样,只用一个预测变量得到的结果可能与多个预测变量得到的结果完全不一样,尤其当这些因素之间存在相关性时更是如此。这种现象称为混淆现象。
线性判别分析
在这类方法中,分别对每种响应分类(给定的Y)建立预测变量X的分布模型,然后运用贝叶斯定理反过来估计$Pr(Y=k|X=x)$
有了逻辑斯谛回归,为什么要用这种方法?
- 当类别的区分度高的时候,逻辑斯谛回归模型的参数估计不够稳定,但线性判别分析不会。
- 如果样本量N比较小,而且在每一类响应分类中预测变量X近似服从正态分布,那么线性判别分析比逻辑斯谛回归模型更稳定。
- 响应分类多于两类时,线性判别分析应用更普遍。
贝叶斯定理
$K$:观测类别数
$\pi_k$:一个随机选择的观测来自第 k 类的先验概率(即给定观测属于响应变量 Y 的第 k 类的概率)
$f_k(X)=Pr(X=x|Y=k)$:表示第 k 类观测的 X 的密度函数
贝叶斯定理可以表述为:
记:$p_k(X)=Pr(Y=k|X)$
称$p_k(X)$为$X=x$的观测属于第 k 类的后验概率,即给定观测的预测变量值时,观测属于的 k 类的概率。
关键在于找到一个估计 $f_k(X)$的方法,发展出一个与贝叶斯类似的分类方法。
p=1的线性判别分析
$\mu_k$的估计即为第k类观测的均值,而$\hat{\sigma^2}$可以视为K类样本方差的加权平均。
当信息不全时,LDA用属于第 k 类观测的比例估计$\pi_k$,即
$\hat{\pi_k}=n_k/n$
将上面式子代入,将观测$X=x$分入使
最大的一类中。
分类器名称的“线性”一词是由于判别函数中的$\hat{\delta}_k(x)$是 x 的线性函数(而不是 x 的一个复杂函数)
p>1的线性判别分析
例子:
将 LDA 运用于数据上,根据一个人的信用卡余额和学生身份预测其违约情况。LDA 模型对 10000 个训练样本进行拟合,得到训练错误率为2.75%。但需要注意:
- 训练错误率往往比测试错误率低,而后者才是建模的初衷。如果用分类器去预测一个新个体是否违约,可能效果会很糟糕。因为模型参数的调整过程中主要是使模型在训练数据上表现出较好的效果。而参数p与样本总数n的比值越高,模型越容易出现过拟合。
- 一个普通的零分类器(简单但可能完全无用的分类器)也会达到仅比LDA错误率高一点的效果。
表中显示 LDA 一共预测了 104 人会发生违约,但事实上只有 81 人违约而 23 人并没有违约。因此没有违约的 9667 人中只有 23 个人没有被正确地标记,看起来错误率非常低,但是违约的 333 人中,通过的 LDA 后有 252(75.7%)人漏了,所以虽然总的错误率很低,但在违约的人中错误率非常高。所以违约人群 252/333=75.7% 的错误率很可能不被认可。
与假设检验进行结合,将“-”看做零假设,而将“+”看做备择(非零)假设。在例子的背景下,“+”表示违约者,而“-”表示未违约者。
名称 | 定义 | 同义词 |
---|---|---|
假阳性率 | FP/N | 1-特异度 |
真阳性率 | TP/P | 灵敏度 |
预测阳性率 | TP/P* | 精确度,1-假阳性率 |
预测阴性率 | TN/N* |
二次判别分析
QDA分类器也是假设都服从一个高斯分布,把参数估计代入贝叶斯定理进行预测。但是QDA假设每一类观测都有自己的协方差矩阵。
为什么假设K类的协方差矩阵是否相同会有如此大的差异?
如何选择LDA或QDA是一个偏差-方差权衡的问题。
当有$p$个预测变量时,预测协方差矩阵需要$p(p+1)/2$个参数,QDA需要对每一类分别估计协方差矩阵。即需要$Kp(p+1)/2$个参数。
然而通过假设K类的协方差矩阵相同,LDA模型对x来说是线性的,这就意味着有Kp个线性系数需要估计,所以LDA没有QDA分类器光滑,于是拥有更低的方差。
但需要权衡考虑:如果LDA假设K类有相同的方差是一个非常糟糕的假设,那么LDA会产生很大的偏差。一般而言,如果训练观测数据量相对较少,LDA是一个比QDA更好的决策,降低模型的方差很有必要。
相反的,如果训练集非常大,则更倾向于使用QDA,这时分类器的方差不再是是一个主要关心的问题,或者说K类的协方差矩阵相同的假设是站不住脚的。
下图说明LDA和QDA的效果。
左图中,两个类$X_1$和$X_2$有相同的相关系数0.7,且服从高斯分布。因此,贝叶斯决策边界是线性的,而且被LDA决策边界逼近。而QDA决策边界次之,因为其方差较大而偏差没有得到相应的减小。
相反的,右图中橙色部分是变量之间相关系数为0.7的类,蓝色部分是变量之间相关系数为-0.7的类。此时贝叶斯决策边界是二次的,QDA比LDA更接近这个边界。
(左:协方差矩阵相等时两类分类问题的贝叶斯(紫色虚线)、LDA(黑色点线)、QDA(绿色实线)决策边界。由于贝叶斯决策边界是线性的,所以LDA比QDA更加接近真实。右:相关说明与左图一致,但协方差矩阵不相等。由于决策边界不是线性的所以QDA比LDA更加接近真实)
分类方法的比较
比较:
- 虽然原理不同,但是逻辑斯谛回归和 LDA 方法是紧密相连的。
- 由于逻辑斯谛回归和 LDA 只是在拟合过程中有一些差异,所以两者得到的结果应该是接近的。事实上,这一情况经常发生,但并非必然。如果近似满足高斯分布的假设,LDA 效果好;不满足则逻辑斯谛回归效果更好。
- KNN 是一个彻底的非参数方法:对决策边界的形状没有做出任何假设。因此,当决策边界高度非线性是,用该方法会优于 LDA 和逻辑斯谛回归。而另一方面,KNN 并没有给出哪些预测变量是重要的,无法得到系数估计表
- QDA 是非参数 KNN 方法和线性 LDA、逻辑斯谛回归方法之间的一个折中的方法。因为 QDA 得到一个二次的决策边界,所以它比线性方法的应用范围更广。QDA 在固定训练数据量的问题上一般比 KNN 有更好的效果,原因是 QDA 对决策边界的形状做了一些假设
生成100个随机训练集,每种方法进行拟合并在大的测试集中计算出结果的测试错误率。在6种情形中,预测变量个数p=2。情形如下:
情形1:
两类分别有20个训练观测,每一类的观测都是不相关的正态随机变量,且两类变量的均值不同。
LDA 表现良好,因为模型本身假设为 LDA 模型;KNN 效果较差是因为它为了降低方差付出了代价却没有在偏差上获得相应补偿;QDA 表现比 LDA 差,因为 QDA 适合光滑度更高的分类器,但在这里光滑度高的模型并不适用;逻辑斯谛回归也假设线性决策边界,所以效果只比 LDA 略微差一点。
情形2:
与情形1的假设一样,但两个预测变量的相关性为 -0.5。
结果与情形1的情况几乎没有差异。
情形3:
从t分布中产生两类分别 50 个观测。t分布在形状和正态分布很相似,但是它倾向于产生更多的极值点——更多的点远离均值。
不过决策边界仍然是线性的,所以逻辑斯谛回归框架是比较适合的;t分布的假设是于 LDA 的假设是不符的。由于观测并不来自正态分布,所以逻辑斯谛回归和 LDA 这两种方法明显优于其他方法,但逻辑斯谛回归比 LDA 效果要好一点。特别的,QDA 的效果差可以认为是非正态分布导致的结果。
情形4:
数据都由一个正态分布产生,在第一类中预测变量的相关系数为 0.5,在第二类中预测变量的相关系数为 -0.5
这个假设与 QDA 假设契合,并且产生了二次决策边界,所以优于其他方法。
情形5:
每类中,观测来自正态分布,预测变量不相关。然而,响应值来自逻辑斯谛函数,预测变量为$X_1^2,X_2^2,X_1X_2$。所以,这里有二次决策边界。QDA 再次表现最优的结果,KNN-CV 其次,线性模型的效果都很差。
情形6:
条件和情形5一样,但响应值来自更复杂的非线性函数,所以即使是 QDA 的二次决策边界也未能较好的拟合数据
QDA 比线性方法略好点,而光滑度更高的 KNN-CV 方法是最好的。但是 K=1 的 KNN 在所有方法里给出的结果最差。说明即使数据显示出复杂的非线性关系,如果未能选择出一个恰当的光滑系数,非参数方法如 KNN 仍然可能给出糟糕的结果。
重抽样方法
重抽样方法通过反复从训练集中抽取样本,然后对每一个样本重新拟合一个感兴趣的模型,来获取关于拟合模型的附加信息。
主要讨论两种最常用的重抽样方法,即交叉验证法(cross-validation)与自助法(bootstrap)
交叉验证法可以用来估计一种指定的统计学习方法的测试误差,从而来评价这种方法的表现,或者为这种方法选择合适的光滑度。
自助法的应用范围很广,最常用于为一个参数估计或者一个指定的统计学习方法提供关于准确度的测量。
评价一个模型表现的过程被称为模型评价(model assessment),而为一个模型选择合适的光滑度的过程则被称为模型选择(model selection)
交叉验证法
测试误差是一种统计学习方法预测在一个新的预测上的响应值所产生的平均误差。如果一个统计学习方法产生了一个较小的测试误差,那么其可用性值得肯定。
不过我们一般无法事先指定一个测试数据集来计算测试误差,虽然可以计算训练误差,但是训练错误率通常跟测试错误率有很大差别,尤其是表现为前者可能会严重的低估后者。
方法:在拟合过程中,保留(holding out)训练观测的一个子集,然后对保留的观测运用统计学习方法,从而估计其测试错误率。
验证集方法
验证集方法(validation set approach):首先随机的把可获得的观测集分为两部分:一个训练集(training set)和一个验证集(validation set),或者说是保留集(hold-out set)。模型在训练集上拟合,然后用拟合的模型来预测验证集中观测的响应变量。最后得到的验证集错误率——通常用均方误差作为定量响应变量的误差度量——提供了对于测试错误率的一个估计。
(简单讲就是数据分为两部分,一部分用于训练,一部分用于测试)
验证集方法的原理很简单,且易于执行。但它有两个潜在的缺陷:
- 测试错误率的验证方法估计的波动很大,这取决于具体哪些观测被包括在训练集中,哪些观测被包括在验证集中。
- 在验证法中,只有包含在训练集的观测被用于拟合模型。由于被训练的观测越少,统计方法的表现越不好,这意味着,验证集错误率可能会高估在整个数据集上拟合模型所得到的测试错误率。
留一交叉验证法
留一交叉验证法(leave-one-out cross-validation,LOOCV):将一个单独的观测作为验证集,再对余下的观测根据它的值来做预测,然后重复这个步骤。重复方法n次得到n个均方误差,对测试误差的LOOCV估计是这n个测试误差估计的均值:
(简单讲就是数据分出来1个当作预测数据,剩下数据用于训练;每次分出不同的1个数据,重复n次)
相对于验证集方法的优点:
- 它的偏差较小,因为它的观测数几乎与整个数据集中的数据量相等,因此更不容易高估测试错误率。
- 由于训练集和验证集分割的随机性,验证集方法重复运用时会产生不同结果;而多次运用 LOOCV 方法总会得到相同的结果,因为分割上不存在随机性。
k折交叉验证法
k折交叉验证法(k-fold CV)是 LOOCV 方法的一个替代:将观测集随机的分为k个大小基本一致的组,或者说折(fold)。一折作为验证集,然后在剩下折上拟合模型。均方误差由保留折的观测计算得出。重复方法k次得到k个均方误差,从而得到k个测试误差估计的均值。
(简单讲就是数据分成许多组,每次选一组作为预测数据,其余类似留一交叉验证法)
使用交叉验证法时,其目的可能是想评价某一种指定的统计学习方法在独立数据运用上的表现:在这种情况下,感兴趣的是测试均方误差的估计精度。而在其他的一些情况下,可能仅仅对测试均方误差曲线的最小值点(mininum point in the estimated test MSE curve)的位置感兴趣。
(图中蓝色实线为测试均方误差的真值,黑色虚线为 LOOCV 的估计值,橙色实线为 10 折 CV 估计值。用“X”标注的点表示每条均方误差曲线的最小值点)
上图表明,尽管有时会低估测试均方误差的真值,但所以 CV 曲线都非常接近于确认光滑度水平的模型,即对应最小的测试均方误差的模型光滑度水平。
自助法
自助法可以用来衡量一个指定的估计量或统计学习方法中不确定的因素。但在线性回归的情况下,自助法可能不是特别有用。
相比从总体中反复的得到独立的数据集,自助法通过反复的从原始数据集(original data set)中抽取观测得到的结果。
例:
在一个只包含n=3个观测的简单数据集Z上,随机的选择n个观测,来产生一个自助法数据集。抽样通过有放回(replacement)的方式进行,也就意味着同一个观测可能多次出现在自助法数据集中,比如第一个数据集包含了两次第三个观测,一次第一个观测,而没有第二个观测。这个步骤重复B次,其中B是一个很大的值,就可以产生B个不同的自助法数据集和B个相应的$\alpha$估计,然后用下式计算自助法估计的标准误差:
(每一个自助法数据集包含n个观测,从原始数据集中有放回的抽样得到。用每个自助法数据集得到一个包含$\alpha$的估计)
数据集中样本在n次始终不被采样到的概率?
概率是$(1-\frac{1}{n})^n$
取极限为0.368
优缺点:
- 数据集小、难以划分训练\测试集
- 自助法能从初始数据集中产生多个不同的训练集,可以用于集成学习
- 自助法产生的训练集改变了初始数据集的分布,会引入估计偏差
压缩估计方法
我们可以使用对系数进行约束或惩罚的技巧对包含p个预测变量的模型进行拟合。
岭回归(ridge regression)
在线性回归中通过最小化进行估计来拟合最小二乘回归。
岭回归系数估计值$\hat{\beta}^R$通过最小化公式得到:
其中$\lambda\geq0$是一个调节参数(tuning parameter),将单独确定。
与最小二乘相同,岭回归通过最小化RSS寻求能较好的拟合数据的估计量。
$\lambda\sum^p\limits_{j=1}\beta^2_j$称为压缩惩罚
为什么使用岭回归会提升最小二乘的效果?
与最小二乘相比,岭回归的优势在于它综合权衡了误差与方差。随着$\lambda$的增加,岭回归拟合结果的光滑度降低,虽然方差降低,但是偏差在增加。
(图中显示了岭回归在模拟测试集上预测结果的偏差的平方(黑线)、方差(绿线)和测试均方误差(紫线)随着$\lambda$的变化情况。水平的虚线表示 MSE 可能的最低水平。紫线与虚线的交点表示均方误差最低时对应岭回归模型)
lasso
岭回归的一个显著的劣势在于:岭回归的模型包含全部的p个变量,不能剔除不重要的变量。当变量个数非常大时,不便于模型解释。
lasso的系数通过下式得到:
与岭回归相同,lasso也将系数估计值往0的方向进行缩减。然而,当调节参数$\beta$足够大时,惩罚项具有将其中某些系数的估计值强制设定为0的作用。所以lasso也完成了变量选择。
对比lasso和岭回归
如果预测变量都与响应变量有关,lasso的结果和岭回归在性质上类似。
一般情况下,当一小部分预测变量是真实有效的而其他预测变量系数非常小或者等于零时,lasso要更为出色;当响应变量是很多预测变量的函数并且这些变量系数大致相等时,岭回归较为出色。
与岭回归相比,当最小二乘出现较大方差时,lasso以牺牲偏差为代价去降低方差,从而得到更为精确的预测结果。lasso不同于岭回归,它进行变量选择,因此得到的模型更容易解释。
多项式回归
多项式函数:
基于树的方法
主要根据分层和分割的方式将预测变量空间划分为一系列简单区域。对某个给定待预测的观测值,用它所属区域中训练集的平均值或众数对其进行进行预测。由于划分预测变量空间的分裂规则可以被概括为一棵树,所以这类方法被称为决策树(decision tree)方法
决策树基本原理
回归树
通过特征空间分层预测
建立回归树的过程大致可以分为两步
- 将预测变量空间分割成 J 个不重叠的区域
- 对落入区域$R_j$的每个观测值作同样的预测,预测值等于$R_j$上训练集的响应值的简单算术平均
树的剪枝
上述方法会在训练集中取得良好的预测效果,却很有可能造成数据的过拟合,导致在测试集上效果不佳。原因在于树过于复杂。一颗分裂点更少,规模更小的树会有更好的方差和更好的可解释性(以增加微小偏差为代价)。
分类树
分类树用于预测定性变量而非定量变量。
分类树采用递归二叉分裂,但在分类树中,RSS 无法作为确定二叉分裂点的准则。替代指标是分类错误率(classification error rate)既然要将给定区域内的观测值都分到此区域的训练集上最常出现的类中,那么分类错误率的定义为:此区域的训练集中非最常见类所占的比例。
分类错误率:此区域的训练集中非最常见类所占用的比例。表达式如下:
上式中的$\hat{p}_{mk}$代表第 m 个区域的训练集中第 k 类所占比例。但分类错误率在构建树时不够敏感。有另外两个指标更有优势。
基尼系数(Gini index)定义如下:
它衡量的是 K 个类别的总方差。如果$\hat{p}_{mk}$的取值都接近0或1,基尼系数会很小,因此基尼系数被视为衡量结点纯度(purity)指标——如果它较小,就意味着某个包含的观测值几乎都来自同一系列。
可以替代基尼系数的指标是互熵(cross-entropy),定义如下:
基尼系数和互熵都是用于衡量某特定分裂点的分类质量。
这两种方法对结点纯度更敏感。不过若想追求较高的预测准确性,最好选择分类错误率指标。
树与线性模型的比较
哪一种更好,要视具体情况而定。如果预测变量和响应变量间的关系能很好的用线性模型来拟合,那么线性回归通常有不错的效果,拟合效果将优于不能揭示线性结构的回归树。反正,若预测变量和响应变量的关系呈现出复杂的高度非线性,那么树的方法则比传统方法略胜一筹。
树的优缺点
- 决策树解释性强,在解释性方面甚至比线性回归更方便
- 有人认为与传统的回归和分类方法相比,决策树更接近人的决策模式
- 树可以用图形表示
- 树可以直接处理定性的预测变量而不需创建哑变量
- 缺点:树的预测准确性一般无法达到其他回归和分类方法的水平
19年期末考试
回归
第一题画出有一个预测变量的线性回归线(草图即可)。
第二题画出有两个预测变量的多项式回归线(草图即可)。
第三题画出有三个预测变量的多项式回归线(草图即可)。
第四题设计一个模型,使得它的总是等于0
第五题对前三题的模型进行灵活度(Flexibility)排序(1<2<3)
第六题,数据来自二次项式,对前三题的模型进行MSE排序
第七题,画出训练数据点,问不同训练数据对模型拟合出来的预测值的影响(模型存在方差,训练数据集微小的变化会导致预测值改变)
第八题,写出偏差(Bias)和方差(var)的表达式,并用偏差-方差权衡公式解释第六题的排序
第九题,随模型的灵活性变大, train MSE 减小,而 test MSE 反而增加,这种现象叫什么?(过拟合)
第十题,画出测试MSE、方差、偏差随灵活性增加发生的变化,并标注测试MSE最低点位置。
第十一题,写出岭回归和lasso的惩罚项。
第十二题,lasso相对于岭回归的优点,为什么会有这个优点?
第十三题,岭回归的参数是什么?画出测试MSE、方差、偏差的平方随参数的增加的曲线
第十四题,画出KNN回归曲线(应该不考)
分类
第一题,给出五个数据点,画点(送分题)
第二题,画出任意一条分界线把两类完全分开(送分)
第三题,向量机有关
第四题,向量机有关
第五题,向量机有关
第六题,向量机有关
第七题,问逻辑斯谛回归的分类线是直线吗?为什么?
第八题,向量机有关
第九题,向量机有关
第十题,向量机有关
18年期末考试
答案仅供参考,可能有误,且只有部分题目做出。
判断题
- 应该是对的
- 应该是错的,不一定最佳
- 对
- 对,零截距回归模型,又称过原点回归模型
- 应该是对的
- 错,说反了
- 应该是对的
- 错
- 对
- 错,不成线性关系
多项式回归
第一题画出一元线性回归曲线(不需要计算参数,尽量准确画出)
第二题画出多项式曲线(不需要计算参数,尽量准确画出)
第三题数据来源于一元线性模型,比较上面两个模型在某个测试点的Squared Error哪个小(应该差不多吧,不会);测试MSE呢(应该是一元线性回归小,毕竟真实的 f 是线性的,线性回归基本上没有误差)
第四题数据来源于非线性模型,画出训练MSE(training MSE)与模型灵活度的走势图(答案:图参考书P25,图2-12右图)
分类
第一题在图中画出贝叶斯决策边界(参考书P98,图4-4)
第二题画出给出参数值,在0.5下,画出逻辑斯谛回归分界线,算出边界值(根据公式算)
第三题填充混淆矩阵
第四题画出ROC曲线(熟悉特异度,灵敏度,TP,FP,N,P)
交叉验证
考编程(本次考试不考编程)
自举法
第一题抽取学生体重的一个体重样本,算均值(应该就算平均值就行)
第二题获得一个自举样本(详见自助法,应该是随便取,只要符合规则)
第三题问数据集中样本在n次始终不被采样到的概率大于0.5还是小于0.5?并写出公式(概率是$(1-\frac{1}{8})^8=0.3436$,公式是$(1-\frac{1}{n})^n$,极限值为0.368)
18年期中考试
答案仅供参考,可能有误,且只有部分题目做出。
判断题
某学习方法的训练错误率(training error rate)低,那么它的测试错误率(test error rate)也低。
错,训练错误率往往比测试错误率低
用来说明偏差-方差权衡(Bias-Variance trade-off)的公式是这样的,$E[(y_0− \hat{f}(x_0))^2]=Var( \hat{f}(x_0))+[Bias(\hat{f}(x_0))]^2+Var(\epsilon)$。它告诉我们,学习方法越灵活(flexible),测试MSE(Mean Squared Error)的期望就越小。
错,一般而言,使用光滑度(flexible)越高的方法,所得的模型方差会增加,偏差会减少。这两个量比值的相对变化率会导致测试均方误差整体的增加或变小,所以偏差-方差的权衡是一个重要探讨主题。因此不是学习方法越灵活,测试MSE的期望就越小。
即使我们不能确定训练数据是线性的,也照样可以作线性回归。$R^2 = \frac{TSS − RSS}{TSS}$ 代表线性回归所解释的响应变量 Y 的方差的比例。
对
在训练数据${(x_1, y_1),(x_2, y_2), …,(x_n, y_n)}$上做一元线性回归(simple linear regression), 拟合得到的直线$(\hat{Y}= \hat{\beta}_0 + \hat{\beta}_1X)$通过点$(\overline{x}, \overline{y})$。其中$\overline{x}$是所有$x_i$的平均值,即$\overline{x} = \frac{1}{n}\sum^n\limits_{i=1}x_i,\overline{y}$是 所有$y_i$的平均值,即$\overline{y} = \frac{1}{n}\sum^n\limits_{i=1}y_i$。
对
一元线性回归中参数$\beta_1$对应的 $p-value$越小,表明拒绝 $H_a : \beta_1 \neq 0$ 的能力越强。多元 线性回归中$F$值越大,表明拒绝$H_0 : \beta_1 = \beta_2 = · · · = \beta_p = 0$的能力越强。
应该是对的
计算题
一元线性回归与测试MSE(Mean Squared Error)的期望。在非线性数据上作一元线性回归,并且讨论某测试点MSE期望的下界。
用最小二乘法(least squares)方法估算一元线性回归参数,$\hat{\beta}_0 =\overline{y} − \hat{\beta}\overline{x},\hat{\beta}_1 = \frac{\sum^n_{i=1}(x_i-\overline{x})(y_i\overline{y})}{\sum^n_{i=1}(x_i-\overline{x})^2}$。给定$D = {(−0.38, 1.34),(0.93, 1.24),(2.63, 6.94)}$,对应下图中3个加号,求$\hat{\beta}_0与\hat{\beta}_1$的值(精确到小数点后2位数)。
答:根据公式解:
在上图画一条最小二乘法(least squares)拟合的直线,其表达式是 $\hat{f}(X) = \hat{\beta}_0+\hat{\beta}_1X$。
略
计算上述直线在D上的$R^2$的值。$R^2=\frac{TSS-RSS}{TSS}= \frac{\sum(\hat{y}_i-\overline{y})^2}{\sum(y_i-\overline{y})^2}$。
略
图中的3个点来自真正函数$f(X) = 0.5 + 1.5X + 0.25X^2$,见上图灰色曲线。 $\hat{f}$由一 元线性模型$Y = \hat{\beta}_0+\hat{\beta}_1X+\epsilon$在任3个训练点上训练所得。已知$E[ \hat{f}(−1)] = −0.30$。求在测试点$x_0 = −1$处的$|Bias( \hat{f}(−1))|$。
该题应该先根据$E[ \hat{f}(−1)] = −0.30$与前题求得的$\beta$值,求出$\epsilon$值,再求偏差
求MSE期望下界
推导题
- 推导最小二乘法公式
- (不懂)
- 说明一元线性模型得到的残差之和为0
- 无截距模型具备题三个性吗?为什么
附加题
(关于莱特希尔报告)
总结
- 蓝珲说都是重点,应该是对的,因为考试可能都要考:)
- 书上的知识点,结论很重要,可能会考
- 书上的图也很重要,可能会考
- 蓝珲的考试,画图题很多
考后回顾
(蓝珲出成绩真的慢,都快2月份了才出成绩:)
这次蓝珲的考试题型和之前的考试差不多,总分50分,第一大题是判断题,十道题20分,剩下的题目有难有易。
大多数题目比较简单,但要对上课的所有内容有比较清晰的理解,否则还是会做不来。
因为蓝珲基本不给考点,而且学过的内容都会考到,所以一定要好好复习。
不过蓝珲给分还行,不像某老师一样。
最后附上一个资料,很有帮助:
《统计学习导论基于R应用》中英文PDF+习题答案+思维导图+《最优化导论第4版》中英文PDF+题解+学习总结
密码:c3RhdFI5Njg3(base64解码)