岭回归算法

岭回归算法概述

岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。其实就是降低精度来提高泛化性,这种方法较适合用于病态数据的拟合。

在用高阶多项式拟合数据时,有可能会拟合出系数特别大的表达式,即每个特征对输出的影响都很大。除了在训练集上的表现,我们希望模型在测试集上同样具有较好的拟合效果(泛化性),此时就希望训练的模型的系数尽可能地小(趋向于0)。而岭回归就是对拟合的表达式的系数附加上约束,在岭回归中用到的这种约束称为L2正则化。通过参数 alpha 来实现系数的调节,而系数的变化其实也就是模型的训练精度和泛化性能之间的权衡。

线性回归的局限性

线性回归通过一个或者多个自变量与因变量之间进行建立线性模型,以尽可能准确地预测实值输出标记。目的是来找到一条函数表达式,从而能够最好的拟合给定的数据集。

通用公式:

y=k_{0}+k_{1}x_{1}+k_{2}x_{2}+...+\varepsilon

 替换为y=W^{T}X

其中W为

\begin{pmatrix} k_{0}\\ k_{1}\\ ...\\ k_{n} \end{pmatrix}

X为

\begin{pmatrix} 1\\ x_{1}\\ ...\\ x_{n} \end{pmatrix}

T为矩阵的转置。

线性回归需要考虑可能存在的多重共线性问题。多重共线性可能会造成线性回归估计式变得不确定或不精确,线性回归估计式方差变得很大,标准误差增大。当多重共线性严重时,甚至可能使估计的回归系数符号相反,得出错误的结论,削弱特征变量的特征重要性。

岭回归与线性回归的区别

线性回归用的最小二乘法的正规方程为

w=(X^{T}X)^{-1}X^Ty

X为特征值矩阵,y为目标值矩阵。

当某些列之间的线性相关性比较大时,也就是X^TX行列式接近于0的时候,计算逆矩阵误差会很大传统的最小二乘法缺乏稳定性与可靠性。

所以岭回归在X^TX​中加一个正常数矩阵kI,原来的表达式为

w=(X^{T}X+kI)^{-1}X^Ty

w为岭回归估计,k为岭参数,当k=0时,岭回归估计就是普通的最小二乘估计。

L2正则化

从机器学习角度来看,岭回归对应着L2正则化。正则化是防止模型过拟合、降低模型泛化误差的一类方法。

训练集上训练一个模型,目标是希望模型能够归纳学习出训练集中存在的普遍规律,从而应用到未知的数据集当中。然而数据集可能存在噪声、误差、错误等情况。模型很有可能把这些噪声、错误的也学进去,也就是模型把当前训练集的特有规律学了,反而没有学到普遍规律,那么假如我们重新采样一批数据来训练,模型可能学到的又是别的东西,这将导致模型预测的结果非常不稳定,也就是具有很高的方差。这样情况下训练出的模型可能在训练集中有非常拟合甚至误差为零,但是应用于在测试集中,效果可能就非常的差。

解决方法就是在原有的损失函数基础上增加一项对模型参数的惩罚项。可以看作是我们提前对模型的参数应该具有的样子做了一个假设或者说是约束,L2正则化下,我们期望模型的参数应该是很小,接近于0的。大多情况下,过拟合主要是因为数据太少或者是模型过于复杂,解决方法要么增加数据,要么精简模型。参数惩罚相当于后者,它通过参数衰减(极端情况下衰减为0)的方式来使得数据中那些不重要的特征几乎不起作用,这样间接就实现了精简模型参数的效果。

岭回归即对应着在最小二乘法基础上增加了一个L2正则化。

公式为:

J(\theta )=(X\theta-Y^{T})(X\theta-Y)+\lambda \theta^{T}\theta

求使得该式值最小的θ

最终得到

\theta =(X^{T}X+\lambda kI)^{-1}X^Ty

岭参数选择

岭迹图法

就是对所有的解释变量x_{i}绘制岭回归估计\check{\beta_{i}} (k)的变化曲线,这里的\check{\beta_{i}} (k)是随k值变化的。岭迹图法的直观目的是当自变量之间存在着多重共线性时,如果最小二乘法的估计有看似不合理的情况时,比如估计值与实际内容不符或者符号违背了实际意义等情况,那么人们希望通过岭估计的方法对这些情况加以改善,对问题的解决有所帮助。选择岭参数的一般准则是: 

1.各回归系数的岭估计基本稳定。
2.用最小二乘估计时符号不合理的回归系数,其岭估计的符号变得合理。
3.回归系数没有不合乎经济意义的绝对值。
4.残差平方和增大不太多。

残差平方和法

岭估计在减小均方误差的同时增大了残差平方和,我们希望在岭回归的残差平方和SSE(k)的增加幅度控制在一定范围内,可以给定一个大于1的C值,要求SSE(k)<CSSE

岭回归选择变量的原则

1.在岭回归中设计矩阵 X 已经中心化和标准化了,这样可以直接比较标准化岭回归系数的大小。可以易 除掉标准化岭回归系数比较稳定且绝对值很小的自变量。

2.随着 k 的增加,回归系数不稳定,震动趋于零的自变量也可以易除。

3.如果依照上述去掉变量的原则,有若干个回归系数不稳定,究竞去掉几个,去掉哪几个,这并无一般原则可循,这需根据去掉某个变量后重新进行岭回归分析的效果来确定。

岭回归算法的优缺点

优点:

1.综合权衡了误差和方差。能够随着参数λ的增加,对岭回归的拟合结果、方差降低,偏差产生影响。

2.岭回归相对于线性回归的优势,就在于它能有效减少数据过拟合,对于未知数据的预测更加稳健。

3.回归得到的回归系数更符合实际,更可靠。另外,能让估计参数的波动范围变小,变的更稳定。在存在病态数据偏多的研究中有较大的实用价值。

缺点:

1.岭回归相比普通的线性回归模型, 训练集的拟合能力被限制住了。岭回归模型确实不容易过拟合,但是有可能欠拟合。

2.在建模时,同时引入p个预测变量,罚约束项可以收缩这些预测变量的待估系数接近0,但并非恰好是0。这个缺点对于模型精度影响不大,但给模型的解释造成了困难。

3.岭参数计算方法太多,差异太大。

岭回归算法代码

from sklearn.linear_model import RidgeClassifier #岭回归的分类器
clf = Ridge(alpha=0.1) #建立岭回归模型
clf.fit(x_train, y_train)
res = clf.predict(x_test)

代码函数及参数说明见

https://scikit-learn.org.cn/view/385.html

  • 18
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值