岭回归和Lasso回归

article/2025/9/13 0:35:16

偏差和方差

机器学习算法针对特定数据所训练出来的模型并非是十全十美的,再加上数据本身的复杂性,误差不可避免。说到误差,就必须考虑其来源:模型误差 = 偏差(Bias)+ 方差(Variance)+ 数据本身的误差。其中数据本身的误差,可能由于记录过程中的一些不确定性因素等导致,这个我们无法避免,能做的只有不断优化模型参数来权衡偏差和方差,使得模型误差尽可能降到最低。
偏差:导致偏差的原因有多种,其中一个就是针对非线性问题使用线性方法求解,当模型欠拟合时,就会出现较大的偏差
方差:产生高方差的原因通常是由于模型过于复杂,即模型过拟合时,会出现较大的方差
通常情况下,我们降低了偏差就会相应地使得方差提高,降低了方差就会相应地提高了偏差,所以在机器学习的模型中,我们总是希望找到一组最优的参数,这些参数能权衡模型的偏差和方差,使得模型性能达到最优。我在知乎上找到这样一张图方便各位理解。
在这里插入图片描述


岭回归

针对高方差,即过拟合的模型,解决办法之一就是对模型进行正则化:限制参数大小(由于本篇博客所提到的岭回归和Lasso都是正则化的特征选择方法,所以对于其他解决过拟合的方法不多赘述)当线性回归过拟合时,权重系数wj就会非常的大,岭回归就是要解决这样的问题。岭回归(Ridge Regression)可以理解为在线性回归的损失函数的基础上,加,入一个L2正则项,来限制W不要过大。其中λ>0,通过确定λ的值可以使得模型在偏差和方差之间达到平衡,随着λ的增大,模型的方差减小,偏差增大。
在这里插入图片描述
我们可以像线性回归一样,利用最小二乘法求解岭回归模型的参数,对W求导,令倒数等于0,可求得W的解析解,其中I为m x m的单位矩阵,所以也可以说岭回归就是在矩阵X^TX上加一个λI使得矩阵非奇异,进而能对XTX+λI求逆:
在这里插入图片描述
为了可视化,我们还引用上篇博客的测试用例,使用Pipeline封装多项式特征,归一化,线性回归方法,为了说明问题并将PolynomialFeatures的参数degree调整到40,此时模型很明显得出现了过拟合,产生了高方差:

poly_reg = Pipeline([("poly", PolynomialFeatures(degree=40)),("std_scaler", StandardScaler()),("lin_reg", LinearRegression())])

在这里插入图片描述
使用sklearn封装的岭回归方法进行测试,详情请见

poly_reg = Pipeline([("poly", PolynomialFeatures(degree=40)),("std_scaler", StandardScaler()),("ridge_reg", Ridge(alpha=0.01))])

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对比图中红线可以看到,λ=0.01时,虽然多项式特征的degree=40,相较于直接使用线性回归,岭回归已经很好的解决高方差的问题,但λ不能过大,当λ=1000时明显的出现了欠拟合,相应的模型的偏差也增大了,我们的目的就是要权衡偏差和方差,使模型达到最优。


Lasso

Lasso回归和岭回归类似,不同的是,Lasso可以理解为在线性回归基础上加入一个L1正则项,同样来限制W不要过大。其中λ>0,通过确定λ的值可以使得模型在偏差和方差之间达到平衡,随着λ的增大,模型的方差减小,偏差增大。
在这里插入图片描述
Lasso趋向于使得一部分w值变为0,所以可以作为特征选择用,因为这里的L1正则项并不是处处可导的,所以并不能直接使用基于梯度的方法优化损失函数,若要从底层实现,可以使用拟牛顿法的BFGS算法,逐步向前回归,我这里直接用sklearn封装的Lasso,请参见
在这里插入图片描述
任然使用Pipeline封装

poly_reg = Pipeline([("poly", PolynomialFeatures(degree=40)),("std_scaler", StandardScaler()),("ridge_reg", Lasso(alpha=0.01))])

在这里插入图片描述
在这里插入图片描述
可以看到,Lasso的收敛速度要比岭回归要快的,当λ=10的时候红线就已经近乎和坐标轴平行了,产生了很大的偏差。


总结

Lasso由于使用L1正则项,所以具有一定的特征选择功能,因为L1正则倾向于产生稀疏稀疏,它可以将一些“对标签没有用处”的特征对应的系数压缩为0,进而将对结果有较大影响的特征突显出来,而岭回归中L2正则项不具备这个功能,它只会讲一些无关特征的系数降到一个较小的值,但不会降为0。并且L2正则有解析解,L1没有,所以还有一种对岭回归和Lasso折中的方法------弹性网络(Elastic Net)
在这里插入图片描述


http://chatgpt.dhexx.cn/article/GwdOrV2j.shtml

相关文章

基于Python的岭回归模型

本文是使用Python进行岭回归模型分析,消除多重共线性 一、岭回归原理 自变量之间存在多重共线性,当时,加上一个正的常数矩阵(K>0),岭回归估计定义公式: (k为岭参数) 的奇异程度比奇异程度小&…

用SPSS进行岭回归分析

打开SPSS将数据输入到SPSS中。 点击左上角文件->新建->语法 输入 * Encoding: UTF-8. INCLUDE D:\Program Files\IBM\SPSS\Statistics\27\Samples\Simplified Chinese\Ridge regression.sps. ridgereg enter x1 x2 x3 x4 x5 x6 x7 x8 x9 x10/depy.include内容需要自己寻找…

R语言与岭回归

岭参数的一般选择原则 选择k(或lambda)值,使得:各回归系数的岭估计基本稳定用最小二乘估计时符号不合理的回归系数,其岭回归的符号变得合理回归系数没有不合乎实际意义的绝对值残差平方和增大的不多 用R语言进行岭回归…

岭回归(Ridge Regression)及实现

岭回归(Ridge Regression)及实现 https://blog.csdn.net/google19890102/article/details/27228279 一、一般线性回归遇到的问题 在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: 在处理复杂的数据的回归问题时&…

岭回归(R语言)

代码实现如下&#xff1a; data3.3<-read.csv("C:/Users/Administrator/Desktop/data3.3.csv",headTRUE) datas<-data.frame(scale(data3.3[,1:6])) # 对样本数据进行标准化处理并转换为数据框的存储格式 library(MASS) ridge3.3<-lm.ridge(y~.-1,datas,l…

多元线性回归-岭回归

目录 1.精确相关关系 2.高度相关关系 3.多重共线性与相关性 4.岭回归 5.linear_model.Ridge 5.1.案例1&#xff1a;加利福尼亚房屋价值数据 5.2.案例2:波士顿房价数据集 6.选取最佳正则化参数取值 1.精确相关关系 精确相关关系&#xff0c;即完全相关。如矩阵A并不是满…

回归——岭回归

1、作用 岭回归是一种专用于共线性数据分析的有偏估计回归方法&#xff0c;实质上是一种改良的最小二乘估计法&#xff0c;通过放弃最小二乘法的无偏性&#xff0c;以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法&#xff0c;对病态数据的拟合要强…

【机器学习04】岭回归

4 岭回归 4.1 简介 普通线性回归模型使用基于梯度下降的最小二乘法&#xff0c;在最小化损失函数的前提下&#xff0c;寻找最优模型参数&#xff0c;在此过程中&#xff0c;包括少数异常样本在内的全部训练数据都会对最终模型参数造成程度相等的影响&#xff0c;异常值对模型…

机器学习——岭回归

岭回归的简单介绍 什么是岭回归&#xff1f;什么时候要用到岭回归&#xff1f;岭回归是一种解决标准方程法不能求逆矩阵时的办法。我们都知道&#xff0c;用标准方程法最大的一个缺点就是当数据的特征多于数据的样本时&#xff0c;标准方程法是不能使用的&#xff0c;因为不能…

数学建模学习:岭回归和lasso回归

线性回归 在多元线性回归模型中&#xff0c;估计回归系数使用的是OLS&#xff0c;并在最后讨论异方差和多重共线性对模型的影响。事实上&#xff0c;回归中自变量的选择大有门道&#xff0c;变量过多可能会导致多重共线性问题导致回归系数不显著&#xff0c;甚至造成OLS估计失…

python机器学习| 岭回归介绍及实现

岭回归介绍及实现 1 岭回归的引入2 岭回归的原理2.1 原理介绍2.2 原理代码实现 3 API 实现 1 岭回归的引入 在线性回归-正规方程和梯度下降中&#xff0c;我们介绍了基于正规方程或者梯度下降的优化算法&#xff0c;来寻找最优解。 在正规方程解中&#xff0c;它是基于直接求导…

岭回归与lasso回归算法

模型压缩与正则化主要包含岭回归&#xff08;Ridge regression&#xff09;和Lasso两种方法&#xff0c;二者的主要原理是将系数往等于0的方向压缩。 岭回归 lasso 全称&#xff1a;Least absolute shrinkage and selection operator最小绝对缩减和选择算子 一、岭回归示…

岭回归-回归实操

python 岭回归算法之回归实操 基本概念 正则化 正则化是指对模型做显式约束&#xff0c;以避免过拟合。本文用到的岭回归就是L2正则化。&#xff08;从数学的观点来看&#xff0c;岭回归惩罚了系数的L2范数或w的欧式长度&#xff09; 正则化的具体原理就不在这里多叙述了&a…

线性回归与岭回归

目录 一、什么是线性回归 1.线性回归简述 2.数组和矩阵 3.线性回归的算法 二、权重的求解 1.正规方程 2.梯度下降 三、线性回归案例 1.案例概述 2.数据获取 3.数据分割 4.数据标准化 5.模型训练 6.回归性能评估 7.梯度下降与正规方程区别 四、岭回归Ridge 1.过拟…

什么是岭回归?

问题引出&#xff1a; 当使用最小二乘法解决一下线性回归&#xff1a; 假设:已知x1,x2与y的关系服从线性回归模型&#xff1a; y102x13x2c 当x1和x2存在线性相关性时&#xff0c;使用最小二乘法来预测回归模型&#xff0c;就变得困难起来&#xff0c;因此物品们必须使用逐步回…

岭回归总结

岭回归存在的目的&#xff1a; 解决多重共线性下&#xff0c;最小二乘估计失效的问题 岭回归的作用&#xff1a;(在引入变量太多&#xff0c;又存在多重共线性&#xff0c;难以抉择去留哪个变量时可以通过该方法筛选变量) 1.找出多重共线性的变量&#xff0c;并提剔除部分 2…

岭回归(ridge regression)

岭回归&#xff08;ridge regression&#xff09; 在处理回归问题时&#xff0c;常遇到的问题 在处理复杂的数据的回归问题时&#xff0c;普通的线性回归会遇到一些问题&#xff0c;主要表现在&#xff1a;   预测精度&#xff1a;这里要处理好这样一对为题&#xff0c;即样…

【回归分析】一文读懂岭回归,附案例教学

1、作用 岭回归是一种专用于共线性数据分析的有偏估计回归方法&#xff0c;实质上是一种改良的最小二乘估计法&#xff0c;通过放弃最小二乘法的无偏性&#xff0c;以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法&#xff0c;对病态数据的拟合要强…

人工智能——岭回归(Python)

目录 1 概述 1.1 线性回归 1.2 岭回归 1.3 过拟合 2 sklearn中的岭回归 3 案例 3.1 数据介绍&#xff1a; 3.2 实验目的&#xff1a; 3.3 数据特征如下&#xff1a; 4 Python实现 4.1 代码 4.2 结果 5 正则化 1 概述 1.1 线性回归 对于一般地线性回归问题&am…

岭回归(Ridge Regression)和Lasso回归

1、岭回归&#xff08;Ridge Regression&#xff09; 标准线性回归&#xff08;简单线性回归&#xff09;中&#xff1a; 如果想用这个式子得到回归系数&#xff0c;就要保证(X^TX)是一个可逆矩阵。 下面的情景&#xff1a;如果特征的数据比样本点还要多&#xff0c;数据特征…