收缩的方法¶
1 概述¶
- 子集选择 (subset selection) 可得到一个可解释的、预测误差可能比全模型低的模型。然而,因为这是一个离散的过程(变量不是保留就是丢弃),所以经常表现为高方差,因此不会降低全模型的预测误差。
- 收缩方法 (shrinkage methods) 更加连续,因此不会受 高易变性 (high variability) 太大的影响.
2 岭回归¶
2.1 概念与公式¶
-
概念:岭回归 (Ridge regression) 根据回归系数的大小加上惩罚因子对它们进行收缩。岭回归的系数使得带惩罚的残差平方和最小
-
公式: 值越大,收缩的程度越大.每个系数都向零收缩。通过参数的平方和来惩罚的想法也用在了神经网络,也被称作权重衰减 (weight decay)
-
拉格朗日等价:
岭回归问题可以等价地写成,而且和有一一对应的关系
-
公式
-
等价的定义
- 正推:对, 都, 使得
- 反推:对, 都, 使得
-
证明(为了简化,这里假设不存在, 即无截距):
-
对于,有
-
对于
-
首先可以化为矩阵形式
-
由拉格朗日函数法
-
根据条件 有
-
首先证明正推:
-
对,可得 的解为
-
只需要使得中
-
即可使得两者解相同
-
然后证明反推:
-
对, 取 是满足 条件的一个值
-
若 即可满足条件,则也取 即可
-
若, 则必有 取取满足下式的一个值即可
-
因为
* 由于函数连续性,所以则必定, 满足式子
此时也取即可
-
-
-
为什么这么做:当在线性回归模型中有许多相关变量,它们的系数可能很难确定且有高方差.某个变量的较大的正系数可以与相关性强的变量的差不多大的负系数相互抵消。通过对系数加入大小限制,问题可以减轻
-
矩阵形式
-
输入标准化:
-
由于对输入按比例进行缩放时,岭回归的解不相等,因此求解前我们需要对输入进行标准化。
-
注意到惩罚项不包含截距 ,因为对截距的惩罚会使得过程依赖于 的初始选择(每个 加上常数 不是简单地导致预测值会偏离同样的量 )
-
可以证明,当对输入进行中心化后(即),的解可以分为两部分
-
使用来估计
- 使用无截距的岭回归,利用中心化的估计剩余部分参数
证明请看习题Ex 3.5
-
-
公式 因此,岭回归可以写作如上,其中是列,每一行都是经过中心化了的输入变量。而也是传统岭回归的中心化的值
解:
-
由岭回归矩阵形式的解可以看到,即使不是满秩的,也是满秩矩阵,这样会使得问题非奇异,而且这是第一次将岭回归引入统计学中的主要动力
- 证明: 因此正定,正定矩阵必定满秩,证毕
2.2 岭回归与后验分布¶
-
当给定一个合适的先验分布,岭回归也可以从后验分布的均值或众数得到
-
假设
-
的先验分布为
- 参数 的前验分布为
-
参数不包含任何前验信息,即前沿分布是均匀分布
-
则 后验分布密度函数的对数值就是
-
证明
-
由后验概率公式,可得
-
取负对数
-
因为后验分布仍然是高斯分布,因此是众数也是均值
2.3 岭回归与奇异值分解¶
-
中心化输入矩阵进行奇异值分解 (SVD) 可以进一步了解了岭回归
-
这是对标准奇异值分解进行矩阵分块得到的,称为Thin SVD(请参考奇异值分解), 张成的列空间,张成的行空间
-
是对角阵,其对角元, 若有,则称为奇异的。其实若列满秩,则也是非奇异对角阵
-
利用奇异值分解,通过简化我们可以把最小二乘拟合向量
-
这与满秩分解十分相似,其实和都是列空间两个不同的正交基(请参考习题Ex 3.8)
-
得到岭回归的解为 其中是的列向量,因为, 所以上式的含义为
-
首先算出在上的坐标,然后使用进行收缩基向量的坐标
- 越小,收缩基向量的坐标的程度越高
2.4 岭回归与特征值分解¶
-
对于中心化后,样本协方差矩阵是
-
而对 带入奇异值分解可以得到的特征值分解,特征向量(的列向量)是的主成分方向
-
对第一主成分方向, 有在的列线性组合中方差最大(参考主成分分析), 且方差为
-
事实上,由于奇异值分解(请参考奇异值分解),有
-
因此 是标准化的第一主成分.后面的主成分 在与前一个保持正交的前提下有最大的方差 , 因此最后一个主成分有最小的方差。
证明:
-
越小的奇异值 对应 列空间中方差越小的方向,并且岭回归在这些方向上收缩得最厉害
- 奇异值越小,对应的的方差越小,
- 其中就相当于经过正交基旋转后的属性,这个属性之间也是相互正交的
- 求时只需要求在列空间的投影,也就是, 但是岭回归的公式是, 也就是说,岭回归在方差较小的属性(X在也是 方向的投影)的系数进行了缩放,而且对低方差成分的系数比高方差收缩得更厉害
2.5 自由度¶
-
岭回归的有效自由度 (effective degrees of freedom)定义为
-
其关于 单调递减,若, 若
-
对截距还有一个额外的自由度,但是事先以及通过中心化去掉了
-
这里自由度的定义,其实可以理解为对列向量投影系数的缩放程度,自由度越低,说明缩放程度越大,对各个属性的约束也越大,概念与子集选择方法系非0变量个数类似
-
若输入变量列正交,则
-
当惩罚参数 不同时,前列腺癌例子岭回归的变化曲线
-
曲线
-
可以看到随着自由度减少,大部分系数是呈现趋近于0的趋势
-
但是有部分系数如等等,先趋近于0,然后变为正,然后再趋近于0也是完全可以解释的
- 可能是有(两种属性的线性组合)
- 的系数可能是正的,是系数负的且绝对值更大,自由度是8是的系数是负的
- 随着自由度减少,由于的方差更小,收缩更快,导致系数变正
- 当自由度为0时,系数变变为0
-
当输入变量列正交时,岭回归估计仅仅是最小二乘估计的缩小版本,也就是
3 Lasso¶
3.1 概念与公式¶
-
lasso 像岭回归一样是个收缩方法,有微妙但很重要的区别
-
公式
-
估计定义
-
等价拉格朗日形式
-
如在岭回归中一样,我们可以通过标准化预测变量来对常数 再参量化, 的解为 ,并且后面拟合相对于无截距的模型(见习题Ex 3.5)
3.2 标准化参数¶
-
定义标准化参数
-
若, 则
- 若, 比如, 最小二乘系数平均收缩 50%,充分小会造成一些参数恰恰等于 0(类似于子集选择)
-
应该自适应地选择 使预测误差期望值的估计最小化
-
曲线
- 上图现实了前列腺癌例子中,取不同时的 lasso 系数
- 该下降不总是严格单调的,尽管例子中确实是
- lasso 曲线会达到 0,然而岭回归不会.曲线是分段线性的
4 子集的选择,岭回归,Lasso¶
4.1 正交情况显式解¶
-
在正交输入矩阵的情况下,三种过程都有显式解
-
最优子集
-
由于输入矩阵正交,最优秀子集的解为
-
注意到最小二乘的解是
-
又因为是相同的,且是的某些列,所以最小子集选择的系数和最小二乘系数一定相同
-
又因为预测值是
-
由于是可以对应到正交基下的坐标,因此新选择一个作为时,要选择未选择的中最大的,这样才能使得误差最少。
-
所以大小的最优子集系数为(是第大的系数)
-
岭回归
-
由岭回归公式
-
得到
-
Lasso
-
Lasso公式为
-
求导得,这里需要引入次梯度概念,请参考次梯度
-
另
-
由于 $$ \frac{\partial |\beta|_{1}}{\partial \beta_i}= \left{
\right} $$
-
因此分情况讨论得知
-
若, 有, 因此有
-
若, 有,因此有
-
若, 使用反证
-
若, 则有
- 若,则有
- 因此可以得到,,
-
-
最后,总结情况可知(其中指)
-
总结
-
曲线
-
岭回归做等比例的收缩,lasso 通过常数因子来变换每个系数,在0处截去,称为软阈限
-
最优子集选择删掉所有小于第M大的系数,是硬阈限的一种
4.2 非正交情况¶
- 下图:lasso (左)和岭回归(右)的估计图象.图中显示了误差的等高线和约束函数。实心蓝色区域为约束区域,红色椭圆为最小二乘误差函数的等高线
* 两种方式都寻找当椭圆等高线达到约束区域的第一个点 * 圆盘是和等高线相切的时候的点,具体可以参考正则化 * 而lasso 的菱形 (diamond) 有角;如果解出现在角上,则会出现某个。当时均如此,对于参数估计有更多的可能为 0(稀疏性)
-
一般情况
-
公式:把岭回归和 lasso 一般化,并且可以看成是贝叶斯估计
-
其中,对应的等高线如下
-
最大后验分布
-
可以看作的先验分布的对数值,因此上面的等高线也可以看作参数先验分布的等高线
-
时,只有顶点上可以有值,因此对应的是变量子集选择
-
时,对应的是,此时参数的先验分布是服从相互独立的Laplace分布,即 这是是使得约束区域为凸的最小 值,非凸约束区域使得优化问题很困难
-
,对应岭回归,先验分布是独立正态分布
-
lasso、岭回归和最优子集选择是有着不同先验分布的贝叶斯估计。它们取自后验分布的众数,即最大化后验分布
-
-
的选择
-
表明在 lasso 和岭回归之间进行权衡
-
当 时,尽管 在 0 处可导,没有lasso()的令系数恰巧为零的性质
-
弹性惩罚
-
公式
-
这是一种岭回归和 lasso之间的平衡
-
弹性惩罚像 lasso 一样选择变量,同时像岭回归一样收缩相关变量的系数,其与图像十分相似,但是可以选择变量(因为0处不可导)
-
5 最小角回归¶
5.1 概念¶
- Lasso和向前逐步回归(forward stagewise selection)都是最小角回归(Least angle regression)的变体
- 主体思想:
- 第一步确定与响应变量最相关的变量。使得该变量的系数向最小二乘值连续变化 ,只要其他变量与残差的相关性与该变量和残差的相关性相等,则该过程暂停。
- 第个变量加入活跃集后有,然后它们的系数一起以保持相关性相等并降低的方式变化,直到找到新的第个变量,其与残差的相关性与前个相等
- 这个过程一直继续直到所有的变量都在模型中,然后在全最小二乘拟合处停止
5.2 算法¶
-
对预测变量进行标准化处理得到零均值和单位范数,以残差向量,
-
找到与最相关的变量(相关系数绝对值最大)
-
向相关系数移动,并计算当前残差直到存在新的变量使得其与当前残差的相关性相等
不需要走很小的步以及重新检查的相关系数;应用预测变量的协方差和算法的分段线性性质,我们可以在每一步开始计算出确切的步长;具体请查看习题Ex3.25
-
再由当前残差联合最小二乘系数上移动, 直到存在,其和与当前残差的相关性相等(即相关系数绝对值相同)
-
按这种方式继续直到所有的 个预测变量加入到模型中.经过 步达到最小二乘解
-
几何角度去理解
-
以在二维数据下的选择过程为例(其中都经过中心化和归一化,即)
-
由于可以被分解为空间的投影以及与该空间正交的,因此其与的相关系数可以看作和的相关性
-
因此可以计算相关性向量
-
初始化, 计算残差,其与角度更小,即, 因此LAR选择向走一步,即
-
如果是stagewise的话,就是选择很小的
-
如果是forward selection,就是选择一个足够大, 使得, 即在方向的投影
-
而LAR则是两者的中间结果,选择一个适当的使得平分的夹角,即
-
-
接下来,因为坐落在方向,所以下一步更新方向是 选择合适的使得,得到线性回归的结果
- 如果维度更多,其会探索更多方向,例如三维情况,其会选择合适的使得与的夹角都相等,之后向方向跟新
-
图中蓝色阶梯线表示Incremental Stagewise (见增长的逐渐回归)的一个迭代过程,最后也攀爬到。因此,其实LAR和stagewise的区别就在于,LAR可以计算出在一个方向上需要走多远的,而stagewise是选择相关性最高,并且系数增加
-
更新方向
-
设是第步开始时的变量活跃集合,则是这一步中变量的系数向量,有个非0值,最新加入活跃集变量的系数是0
-
设残差 则当前步的方向为
-
系数迭代是
-
可以证明,这种方式下选择的方向满足保持(各个预测变量与残差间的)相关系数相等和递减(tied and decreasing), 具体证明见习题 Ex3.23
-
这个方向是残差到列空间的投影坐标,就是残差在投影后点的空间坐标,也是新的拟合方向,则拟合向量的拟合公式为 容易得到,使得中预测变量间角度最小, 具体证明见习题 Ex3.24
-
相关性变化曲线
-
图:通过 6 个预测变量的拟合数据集,每一步 LAR 过程中的相关性绝对值的变化.图象上方的标签表示在每一步哪些变量加进了活跃集.步长是用单位弧长
弧长( arc length):对可到曲线的弧长为, 对于分段函数(LAR函数曲线来说,其系数弧长就是各个段系数范数变换的和。
-
看到这里的y轴是绝对相关系数,其实可以看出LAR 算法第三步的相关性相同指的是相关系数绝对值相同
5.3 LAR和LASSO¶
- LAR系数随着 Arc Length的变化
- 左图显示了随着其长度的函数在模拟数据的图像
- 右图左图显示了随着其长度的函数在模拟数据的图像
- 两者在18之前(深蓝色曲线通过0之前)是完全相同的
-
同时可以看出,这里系数同时变换时,有的是增长的,有的是减小的,但是斜率一致,这是因为LAR这里相关性相同指的是相关系数绝对值相同,所以系数增长方向能是相反的
-
LAR的lasso修正
-
如果一个非零的系数达到0,则从变量的活跃集中删除该变量并且重新计算当前的联合最小二乘方向
-
经过 lasso 修正的LAR算法是计算任何一个lasso 问题的有效方式,他们称为同伦 (homotopy) 算法
-
启发式论据
-
加入输入特征是标准化的,则相关系数与内积等价
-
假设是LAR某些步的变量活跃集,则有
-
其中是其绝对值,表示内积符号
-
则有
-
假设是lasso在给定 下的活跃集,此时,对于这些变量可导,则有平稳条件
-
当和相同时,式和才相等,这也就是为什么 LAR 算法和 lasso 当一个活跃系数经过零开始出现不同。
-
随着增大,若 不被满足,则被踢出活跃集。习题Ex3.23证明了这些等式表明随 减小的分段线性系数曲线.对于不活跃的变量的平稳条件要求 这与 LAR 算法一致
-
-
MSE比较
-
曲线
- 可以看到增长性更快的向前逐步很快地过拟合(10 个变量加入模型中之前是很好的),最终比增长性较慢的向前逐渐回归表现得更差
- LAR 和 lasso 的行为与向前逐渐回归相似.增长的向前逐渐回归与 LAR 和 lasso 类似
5.4 LAR 和 Lasso 自由度公式¶
-
问题:通过最小角回归过程拟合了线性模型,在某步 停止,或者等价地用 lasso 的界 得到约束情况下的全最小二乘拟合.我们需要多少参数,或者自由度
-
对k个特征的线性回归,如果这个子集是没有通过训练数据而事先确定好的,然后在该拟合模型中的自由度定义为k
- 经典统计学中,线性独立参数的个数也就是自由度
-
用一个最优子集选择确定了最优的 k 个预测变量
-
定义:对于自适应拟合模型的有效自由度的一般定义,拟合向量 的自由度为 当拟合数据越困难,协方差会越大,从而自由度越大
-
根据此定义的自由度
-
对于有 个固定预测变量的线性回归模型,可以简单地证明 (TODO)
- 对于岭回归,自由度为
- 对大小为的最优子集选择,显然有会大于 , 但是没有必型解(closed-form expression)
- 对于LAR,可以证明经过 k 步 LAR 过程,拟合向量的有效自由度恰巧是 k
- 对于lasso
- 在LAR(lasso)角度,LAR 过程经常需要多余 k 的步骤,因为可以删去预测变量。
- 在任一小步 近似等于模型中预测变量的个数.这种近似在 lasso 路径中的任何地方都表现得很好