岭回归个人笔记

一、为什么需要岭回归

先回顾一下普通的线性回归,普通线性回归求回归系数的方法是列出损失函数,对损失函数求关于回归系数的偏导数,即求得当损失函数最小时回归系数的取值,这个取值就是最优的回归系数(大意如此)。但假如说,我们遇到了无法求导的情况那该如何解决呢?函数并非总是可导的。

1.1 标准线性回归的矩阵表达

我们将标准线性回归的这一过程用矩阵的形式来表示,以便于后续理解,文献1

在这里插入图片描述

在这里插入图片描述
(👆手算过,确实如此)

使用矩阵的形式来表达,仍然会遇到我们在最开始提到的问题,即:遇到了无法求导的情况该如何解决呢?转换成矩阵的形式,则为:遇到了矩阵无法求逆的情况该如何解决呢?

在这里插入图片描述

1.1.1 线代知识补课

太久没碰线代了,给自己补个课,该部分可跳过。

知识回顾1:奇异矩阵乃非满秩的方阵,其对应的行列式为0,矩阵不可逆。如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。

知识回顾2:如何求逆矩阵↓

在这里插入图片描述

因为奇异矩阵的行列式|A|为0,所以1 / |A| 无解,逆矩阵无法求得。

更详细的可参考文献2,非常详细,并且区分了完全相关和高度相关两种情况。完全相关就是确实存在不满秩的情况,无法求逆;而高度相关虽然理论上可以求逆,即矩阵的行列式不为0,但会非常接近0,这时求出来的回归系数就会非常大,而且很不稳定:

在这里插入图片描述

很不稳定指的是(文献2.5):

在这里插入图片描述

1.2 岭回归原理(如何解决奇异矩阵无法求逆)

在1.1节的最后提到,当出现多重共线性的时候(矩阵的行与行之间线性相关),或者变量比方程还多的时候就会导致矩阵非满秩,不可逆。
👆
PS:但有点奇怪的是,我们通常说的线性相关指的是行与行之间的关系,但多重共线性是列与列,或者说是特征与特征之间的相关,那这种相关也会导致非满秩吗?初步测试了一下,应该是会的,并且矩阵的行秩等于列秩

当出现矩阵不可逆的情况,这时我们就需要通过岭回归来帮忙解决了,那岭回归具体是怎么做的呢?

从标量表达式出发,岭回归做的事就是给损失函数加上一个惩罚项(正则项);从线代的角度出发,就是给原先无法求逆的奇异矩阵加上一个单位阵,使其变成非奇异矩阵,从而可以求逆:

在这里插入图片描述

文献3

在这里插入图片描述

加上惩罚项的这一操作,和过去学过的解决文献:过拟合问题采取的方法是一样的,但当时理解的不是很透彻,此处重新、彻底地再学习一下。

1.2.1线代/矩阵角度

我们先从线代的角度出发来理解一下。为什么给奇异矩阵加上一个单位阵后,就会变成非奇异矩阵,从而可以求逆呢?文献4中这样提到:

在这里插入图片描述

我们可以举例来说明,比如一个奇异矩阵为[1,3;2,6],此时加上一个单位阵[1,0;0,1]就变成了
[2,3;2,7]这样一个非奇异矩阵。这也正是文献3提到的“加入了一些噪音信息,使特征的线性相关减弱”。当然需要注意的是,奇异矩阵+单位阵不一定能得到一个非奇异矩阵,例如给[-3,6;-1,2]加上[1,0;0,1]后仍然是奇异的。但由于我们存在一个正则化参数λ,可以进行灵活调整,所以我们基本上可以认为,加上λI后,就能解决矩阵的无法求逆问题。

因此,岭回归引入正则项的办法,尽管带来了一些小问题(降低了数据精度),但避免了大问题(多重共线性导致矩阵无法求逆/损失函数无法求导)。所以说虽然不是最优解(不是无偏估计),但也接近了最优解

————————————————————————————————————————————

1.2.2 标量表达式的角度

接下来我们从标量表达式的角度尝试进行理解。岭回归给标量表达式加入了一个惩罚项(正则项)在这里插入图片描述,这个惩罚项由两部分组成,一部分是正则化参数λ,可以根据实际情况进行调整(后续会介绍),另一部分是各回归系数的平方和。我们追求的是要让损失函数在这里插入图片描述尽可能地小,所以一方面,残差平方和在这里插入图片描述要尽可能地小;另一方面,惩罚项中的回归系数ω也要尽可能地小。因此,惩罚项的作用在于限制回归系数的大小,不让回归系数过大。

PS:看着看着突然了解到,这个和在高数里面学的拉格朗日乘数法是一回事,将约束最优化问题变成无约束最优化问题,知识串联起来了XD

但是这到底和多重共线性有什么关系呢?我们接着往下看。文献5中这样提到:

​ 岭回归的目标函数在一般的线性回归的基础上加入了正则项,在保证最佳拟合误差的同时,使得参数尽可能的“简单”,使得模型的泛化能力强。

也就是说,惩罚项中残差平方和越小,每个回归系数ω就会越小,模型也就越简单,而模型越简单,模型的泛化能力也就越强。例如我们有这样三个式子:
在这里插入图片描述
模型②的图像肯定是最简单的。再比如,吴恩达机器学习——过拟合这一课中给出这样的图像:
在这里插入图片描述
当一个预测函数的系数越复杂,幂次越多的时候,函数的图形或者说决策边界也会变得越复杂(扭曲),这样固然可以对训练集的拟合程度很高,但不太具有推广能力,也就是泛化能力很弱,出现了过拟合的问题。因此我们让参数尽可能地简单,也就会让模型的泛化能力越强。

泛化能力强弱与否,跟多重共线性又有什么关系呢?以下是我个人的理解,不一定正确:

我认为无法通过标量表达式的角度来解释为什么加入了正则项可以解决多重共线性的问题(或者说我也不知道为啥,查了半天都没查到),这只能从矩阵的角度来解释。加入正则项/单位阵,让矩阵求逆成为可能——从矩阵的角度才能解释可行性问题。👉可见2.1.1部分,搞清楚了标量表达式角度的意义!!!

但是从标量表达式的角度出发,正则项还能解决过拟合问题,以及解决异常样本点的问题→文献:异常样本点。我们在矩阵角度解释的最后有提到:

因此,岭回归引入正则项的办法,尽管带来了一些小问题(降低了数据精度),但避免了大问题(多重共线性导致矩阵无法求逆/损失函数无法求导)。所以说虽然不是最优解(不是无偏估计),但也接近了最优解这里是引用

同样地,利用正则项来解决异常样本点/过拟合的思路也是类似,通过加入了噪音和干扰来让降低拟合精度(也就是稍微欠拟合一点),从而避开或者说减轻强势样本的影响。
————————————————————————————————————————————
总结:
为了解决多重共线性→为了让奇异矩阵能求逆→加入单位阵,增加噪音,让原本线性相关的方程组变得不再线性相关,虽然降低了精度,但能求出解<=>加入单位阵等价于加入惩罚项→通过惩罚项还能限制回归系数的大小,因为回归系数越简单,模型泛化能力越强→泛化能力越强,就能解决过拟合问题,以及减轻异常样本点的影响

1.2.3 几何角度

文献3有提到过:

在这里插入图片描述
也就是说我们可以把惩罚项不加在损失函数中,单独拎出来作为一个条件在这里插入图片描述

在这里插入图片描述
以二元回归为例,我们可以将惩罚项看作是w1²+w2²< t ,这在二维平面上是一个圆。而普通线性回归的损失函数通常被看作一个椭圆。
等等,惩罚项是圆可以理解,为啥残差平方和(损失函数)是带有等值线的椭圆呢?→文献:损失函数的形状

上述文献提到,由于不同维度数据间的尺度差异较大,目标函数的等高线是椭圆形的。形状为何如此我现在能理解了,但为啥“最小化目标函数,寻求最优解”的过程的图形表现是从椭圆的外部逐渐向中心移动?以下为解释:

一维的梯度下降算法是这样的,逐渐从损失函数的两侧向偏导数为0的点,即损失函数的极小值处下降:
在这里插入图片描述
如果有了两个参数θ0和θ1,再加上损失函数J(θ0,θ1),从而变成一个三维的图形:
在这里插入图片描述
如果我们要把三维的图形降维到二维,同时不损失信息,就可以采用等值线(等高线)的方式来表达损失函数J(θ0,θ1)的大小。三维图形中下降到蓝色处(极小值点),等价于二维图形中从椭圆边缘下降到椭圆的等值线中心处。

把岭回归的二维图形变成三维就是这样的:
在这里插入图片描述
在普通线性回归中,我们只需要找到损失函数的极小值点;但在岭回归中,由于多了一个约束w1²+w2²<t,所以就变成了“在圆柱范围内,求抛物面的最小值”。上图中黄点处即为所求。

二、如何进行岭回归

明白了岭回归的原理之后一切都明朗起来了。岭回归与线性回归相比只是多加了一个正则项,而正则项内部只有一个参数是新多出来的,即正则化参数λ。所以我们要做的事情就只是求出一个合适的正则化参数,之后就跟普通线性回归一样求回归系数就完事了。

2.1 如何求正则化参数(岭回归参数)

GPT老师告诉了我有以下的方法:
在这里插入图片描述

另外,《例解回归分析》P207还提到了迭代法,但说实话没看懂,问了GPT也没搞懂,就暂时不管了。而且据说迭代法是一种相对较早的方法,目前好像不太常用。

2.1.1 岭迹图的特征

以下两张图出自《例解回归分析》P206~207:

在这里插入图片描述
在这里插入图片描述

为什么共线性会使岭迹图中的曲线表现出比较明显的波动性/不稳定性?或者换一个说法,为什么存在共线性问题的变量会随着正则化参数的变化而表现出较大的波动?
👆
询问Chat-GPT老师的结果:
在这里插入图片描述

其实不稳定性和膨胀性我们在1.1.1的结尾中也有提到过,即由于矩阵的行列式接近于0,因此矩阵的逆接近于∞,回归系数也接近于无穷,从而导致了膨胀性和不稳定性。因此在受到正则项的约束后,该系数也会下降得非常明显。而原本大小就比较正常的系数,尽管也会因为正则项的原因而变小,但变小的幅度是相对平稳的。

在与GPT老师的交谈过程中,我好像突然将标量表达式角度的意义与线代/矩阵角度的意义连接起来了:
“模型无法确定将效应分配给哪个自变量”放到线代里面来,就相当于非满秩的方程组有无穷个解,既然这些自变量都相关,那我既可以把效应分配多一些到A变量上(让A的回归系数更大),也可以选择多分配到B变量上(让B的系数更大),所以系数是不稳定的。

此外,根据GPT老师所说,如果有膨胀的系数,那必然有缩小的系数:

在这里插入图片描述

2.1.2 岭迹法

我们先介绍比较普遍提到的方法——岭迹法。这是一种图形方法,通过对岭迹图的观察,选择出合适的正则化参数。选取标准如下:

在这里插入图片描述
(上图来自文献6

一般来说,最重要的标准为两条:①各回归系数趋于稳定(取图中喇叭口) ②预测值与真实值尽可能接近(与普通的线性回归相比,残差平方和不要增大太多)

虽然我们是利用这种方法来选择合适的正则化参数,但其实也可以帮助进行变量的取舍(不过做了取舍其实就不是进行岭回归了,而是删除掉多余的共线性变量或是一些效应不太明显的变量,进行标准线性回归):
👇来自文献7
在这里插入图片描述

上图中,以及《例解回归分析》P208中都有提到,选取的正则化参数K要使VIF值小于10。但需要注意的是,此处的VIF值应该和我们平时在标准线性回归中使用的VIF值不太一样。通常我们用的VIF值是这么计算的:

在这里插入图片描述

其中R²的计算只受到数据集中各自变量取值的影响。但我们一路学下来,发现岭回归并没有改变变量的取值,也没有进行变量的取舍,而只是对模型的形式进行了修改。如果我们仍然用上面的公式去计算VIF值的话,那各变量在标准线性回归和岭回归的VIF值不会有变化。也就是说,我们无法用“常规的”VIF值来判断多重共线性是否得到了改善。

在文献7的图中,以及《例解回归分析》P216有给出一个新的VIF值的公式:

在这里插入图片描述
在这里插入图片描述

说实话我没看懂,先搁置一下,暂且知道有这么个情况就好了。

2.1.3 广义交叉验证(Generalized Cross-Validation,GCV)

根据GTP老师所说,交叉验证是目前最常用的方法之一。当然,广义交叉验证和比较传统、常规的交叉验证不太一样,但此处就不再赘述差别了,直接介绍GCV。

先给出结论,GCV是关于λ的函数,令GCV这个函数取得最小值时的λ值是最佳的正则化参数。(关于原因,我研究了很长时间都没搞懂,理论上这个公式并不复杂,但我最终还是没能完全搞明白)

以下是GPT对于GCV的一些解释,但我无法分辨是否存在问题:
在这里插入图片描述
在这里插入图片描述

关于GCV的公式我们可以将其看作两部分,第一部分是均方误差,用来表示模型对训练数据的拟合误差:在这里插入图片描述;第二部分是修正项:在这里插入图片描述,其中tr(H)是岭迹矩阵H的迹(主对角线元素之和),而岭迹矩阵H是这么个东西👇

在这里插入图片描述
其实我们在先前也有提到过,它就是求岭回归系数的矩阵表示,只是少了个y👇

在这里插入图片描述

回到修正项上面来,我原本认为当λ增加时,岭迹矩阵的迹就会增加,因为λI正好是加在主对角线上的。但现在看来好像没有那么简单,毕竟除了在这里插入图片描述之外,岭迹矩阵H还有一些其他部分。

总之,GPT说随着λ的提高,tr(H)反而会变小,那么整个修正项会变小;但与此同时,λ的提高还意味着均方误差越大——这我们在前面讨论过,λ=0时就是普通线性回归,此时的R²才是最大的,随着λ的增加,模型的泛化能力得到增强,但对原始训练集的拟合程度也会减少。GCV由修正项和均方误差两个部分组成,两个部分与λ的关系一个成正比一个成反比,我们可以在GCV(λ)的函数图像中找到一个最小值,这个最小值意味着同时考虑了模型的拟合程度与复杂性,此时的λ取值就是我们想要的正则化参数。

2.2 后续

求出正则化参数后,就和普通线性回归一样了。我们前面提到之所以要进行岭回归,是因为矩阵求导来计算回归系数时,存在矩阵不可逆的情况。现在加入了正则项后,矩阵就能求逆了,回归系数自然也能计算出来了。所以本质上岭回归只是多了这么一个步骤。

文献8提到:

应用回归分析有一种实际情况是:研究者希望在回归方程内包含2个或几个高度相关的共线性自变量。这在医学研究中有时会遇到,例如有些生理指标,特别是生长发育指标(比如身高和体重),明知是高度相关的,有时却希望把它们都引入回归方程,以便作专业解释。这时用逐步回归法不合适,用一般回归分析法所求得的各回归系数值不稳定、难于解释。

所以其实岭回归更像是一种不得已而为之的方法,实际上出于预测用途的话,删除共线性变量似乎是一种更好的办法。

此外,关于岭回归的回归系数的意义,基本上可以认为和普通线性回归是一致的。虽然在正则化的影响下岭回归系数会更小一些。不过我认为有时也需要考虑具体情况和语境,比如文献8中身高、体重的例子,把保留身高、体重两个变量称为情况1,把只保留身高成为情况2,理论上身高对某个因变量的影响是比较固定的,但此时情况2中身高的回归系数肯定要比情况1的大得多。这种时候就要根据具体的情况对回归系数的意义进行解释了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值