前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >回归,岭回归。LASSO回归

回归,岭回归。LASSO回归

作者头像
学到老
发布于 2018-03-16 06:17:28
发布于 2018-03-16 06:17:28
2.5K0
举报

矩阵表示多元线性回归

Y=BX+a

Q(B)=(Y-BX)T(Y-BX)达到最小时的B值。

也即是残差平方和最小时。B(Bi)的值。可以证明B的最小二乘估计=(XTX)-1XTy

其中(XTX)-1为广义逆。

如果X存在线性相关的话,XTX没有逆:

1.出现多重共线性2.当n<p,变量比样本多时,出现奇异

岭回归(Ridge Regression)---------共线性问题

先对数据做标准化

B(K)=(XTX+kI)XTY为B的岭回归估计,其中K为岭参数,I为单位矩阵,KI为扰动。

岭迹图帮助我们发现多重共线性,以及取那个K值。在图中,k很小时,B很大,k稍微增大,B迅速变小,肯定有多重共线性。多重共线性的岭迹图一般呈喇叭口状。选喇叭附近的k值。

岭迹图可以筛选变量,有个变量的系数长期很接近于0,可以剔除这些变量。

选择k或者lambda使得:

(1)各岭回归系数的岭基本稳定

(2)正负直接穿梭时,不合乎实际意义

(3)残差平方和增大不太多。

用R语言进行岭回归:

lm.ridge(y~.,longley)

R中的ridge包(需要下载安装)

LASSO回归

(Least absolute shrinkage and selectionator operaterator)

最小的绝对收缩通过构造一个一阶惩罚函数获得一个精炼的模型,通过最终确定一些指标(变量)的系数为0(岭回归估计系数等于0的机会微乎其微),解释力很强。擅长处理具有多重共线性的数据,与岭回归一样是有偏估计。

弹性网

LAR(最小角回归Least Angel Regression)

类似于逐步向前回归的形式

R语言中有lars的包

各个算法的区别

一、引 言

1、lasso族的功效

在建立模型之初,为了尽量减小因缺少重要自变量而出现的模型偏差,通常会选择尽可能多的自变量。然而,建模过程需要寻找对因变量最具有强解释力的自变量集合,也就是通过自变量选择(指标选择、字段选择)来提高模型的解释性和预测精度。指标选择在统计建模过程中是极其重要的问题。Lasso算法则是一种能够实现指标集合精简的估计方法。

Lasso(Least absolute shrinkage and selection operator, Tibshirani(1996))方法是一种压缩估计。它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。

Lasso 的基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0 的回归系数,得到可以解释的模型。R的Lars 算法的软件包提供了Lasso编程,我们根据模型改进的需要,可以给出Lasso算法,并利用AIC准则和BIC准则给统计模型的变量做一个截断,进而达到降维的目的。因此,我们通过研究Lasso可以将其更好的应用到变量选择中去。[]

lasso estimate具有shrinkage和selection两种功能,shrinkage这个不用多讲,本科期间学过回归分析的同学应该都知道岭估计会有shrinkage的功效,lasso也同样。关于selection功能,Tibshirani提出,当t值小到一定程度的时候,lasso estimate会使得某些回归系数的估值是0,这确实是起到了变量选择的作用。当t不断增大时,选入回归模型的变量会逐渐增多,当t增大到某个值时,所有变量都入选了回归模型,这个时候得到的回归模型的系数是通常意义下的最小二乘估计。从这个角度上来看,lasso也可以看做是一种逐步回归的过程。[]

模型选择本质上是寻求模型稀疏表达的过程,而这种过程可以通过优化一个“损失”十“惩罚”的函数问题来完成。

2、与普通最小二乘法的区别

使用最小二乘法拟合的普通线性回归是数据建模的基本方法。其建模要点在于误差项一般要求独立同分布(常假定为正态)零均值。t检验用来检验拟合的模型系数的显著性,F检验用来检验模型的显著性(方差分析)。如果正态性不成立,t检验和F检验就没有意义。

对较复杂的数据建模(比如文本分类,图像去噪或者基因组研究)的时候,普通线性回归会有一些问题:

(1)预测精度的问题 如果响应变量和预测变量之间有比较明显的线性关系,最小二乘回归会有很小的偏倚,特别是如果观测数量n远大于预测变量p时,最小二乘回归也会有较小的方差。但是如果n和p比较接近,则容易产生过拟合;如果n

(2)模型解释能力的问题 包括在一个多元线性回归模型里的很多变量可能是和响应变量无关的;也有可能产生多重共线性的现象:即多个预测变量之间明显相关。这些情况都会增加模型的复杂程度,削弱模型的解释能力。这时候需要进行变量选择(特征选择)。

针对OLS的问题,在变量选择方面有三种扩展的方法: (1)子集选择 这是传统的方法,包括逐步回归和最优子集法等,对可能的部分子集拟合线性模型,利用判别准则 (如AIC,BIC,Cp,调整R2 等)决定最优的模型。 (2)收缩方法(shrinkage method) 收缩方法又称为正则化(regularization)。主要是岭回归(ridge regression)和lasso回归。通过对最小二乘估计加入罚约束,使某些系数的估计为0。 (3)维数缩减 主成分回归(PCR)和偏最小二乘回归(PLS)的方法。把p个预测变量投影到m维空间(m

3、岭回归、lasso回归和elastic net三种正则化方法[]

(1)岭回归[]

最小二乘估计是最小化残差平方和(RSS):

岭回归在最小化RSS的计算里加入了一个收缩惩罚项(正则化的l2范数)

这个惩罚项中lambda大于等于0,是个调整参数。各个待估系数越小则惩罚项越小,因此惩罚项的加入有利于缩减待估参数接近于0。重点在于lambda的确定,可以使用交叉验证或者Cp准则。

岭回归优于最小二乘回归的原因在于方差-偏倚选择。随着lambda的增大,模型方差减小而偏倚(轻微的)增加。

岭回归的一个缺点:在建模时,同时引入p个预测变量,罚约束项可以收缩这些预测变量的待估系数接近0,但并非恰好是0(除非lambda为无穷大)。这个缺点对于模型精度影响不大,但给模型的解释造成了困难。这个缺点可以由lasso来克服。(所以岭回归虽然减少了模型的复杂度,并没有真正解决变量选择的问题)

(2)lasso

lasso是在RSS最小化的计算中加入一个l1范数作为罚约束:

l1范数的好处是当lambda充分大时可以把某些待估系数精确地收缩到0。

关于岭回归和lasso,在[3]里有一张图可以直观的比较([3]的第三章是个关于本文主题特别好的参考):[]

关于岭回归和lasso当然也可以把它们看做一个以RSS为目标函数,以惩罚项为约束的优化问题。

(3)调整参数lambda的确定

交叉验证法。对lambda的格点值,进行交叉验证,选取交叉验证误差最小的lambda值。最后,按照得到的lambda值,用全部数据重新拟合模型即可。

(4)elastic net

elastic net融合了l1范数和l2范数两种正则化的方法,上面的岭回归和lasso回归都可以看做它的特例:

elastic net对于p远大于n,或者严重的多重共线性情况有明显的效果。 对于elastic net,当alpha接近1时,elastic net表现很接近lasso,但去掉了由极端相关引起的退化化或者奇怪的表现。一般来说,elastic net是岭回归和lasso的很好的折中,当alpha从0变化到1,目标函数的稀疏解(系数为0的情况)也从0单调增加到lasso的稀疏解。

LASSO的进一步扩展是和岭回归相结合,形成Elastic Net方法。[]

(5)岭回归与lasso算法[]

这两种方法的共同点在于,将解释变量的系数加入到Cost Function中,并对其进行最小化,本质上是对过多的参数实施了惩罚。而两种方法的区别在于惩罚函数不同。但这种微小的区别却使LASSO有很多优良的特质(可以同时选择和缩减参数)。下面的公式就是在线性模型中两种方法所对应的目标函数:

公式中的lambda是重要的设置参数,它控制了惩罚的严厉程度,如果设置得过大,那么最后的模型参数均将趋于0,形成拟合不足。如果设置得过小,又会形成拟合过度。所以lambda的取值一般需要通过交叉检验来确定。

岭回归的一个缺点:在建模时,同时引入p个预测变量,罚约束项可以收缩这些预测变量的待估系数接近0,但并非恰好是0(除非lambda为无穷大)。这个缺点对于模型精度影响不大,但给模型的解释造成了困难。这个缺点可以由lasso来克服。(所以岭回归虽然减少了模型的复杂度,并没有真正解决变量选择的问题)

4、LARS算法对lasso的贡献[]

LAR把Lasso (L1-norm regularization)和Boosting真正的联系起来,如同打通了任督二脉。LAR结束了一个晦涩的时代:在LAR之前,有关Sparsity的模型几乎都是一个黑箱,它们的数学性质(更不要谈古典的几何性质了)几乎都是缺失。

近年来兴起的Compressed sensing(Candes & Tao, Donoho)也与LAR一脉相承,只是更加强调L1-norm regularization其他方面的数学性质,比如Exact Recovery。我觉得这是一个问题的多个方面,Lasso关注的是构建模型的准确性,Compressed sensing关注的是变量选择的准确性。

5、变量选择

当我们使用数据训练分类器的时候,很重要的一点就是要在过度拟合与拟合不足之间达成一个平衡。防止过度拟合的一种方法就是对模型的复杂度进行约束。模型中用到解释变量的个数是模型复杂度的一种体现。控制解释变量个数有很多方法,例如变量选择(feature selection),即用filter或wrapper方法提取解释变量的最佳子集。或是进行变量构造(feature construction),即将原始变量进行某种映射或转换,如主成分方法和因子分析。变量选择的方法是比较“硬”的方法,变量要么进入模型,要么不进入模型,只有0-1两种选择。但也有“软”的方法,也就是Regularization类方法,例如岭回归(Ridge Regression)和套索方法(LASSO:least absolute shrinkage and selection operator)。

6、展望

将Lasso应用于时间序列。将Lasso思想应用于AR(p)、ARMA(p)等模型,利用Lasso方法对AR(p)、ARMA(p)等模型中的变量选择,并给出具体的算法。

将Lasso方法应用到高维图形的判别与选择以及应用于线性模型的变量选择中,以提高模型选择的准确性。

二、文献综述

在做LASSO,他们都是大牛,你可以直接GOOGLE他们的主页,看他们在这块发了什么文章。yu bin, zhu ji, zhang tong, hui zou, yuan ming, Nicolai Meinshausen, Peter Bühlmann, Martin J. Wainwright, jianqing fan, Liza Levina, Peter Bickel,Tibshirani(Lasso的提出者)。

三、R语言包——glmnet和lars

1、glmnet包与算法

glmnet包是关于Lasso and elastic-net regularized generalized linear models。 作者是Friedman, J., Hastie, T. and Tibshirani, R这三位。

这个包采用的算法是循环坐标下降法(cyclical coordinate descent),处理的模型包括 linear regression,logistic and multinomial regression models, poisson regression 和 the Cox model,用到的正则化方法就是l1范数(lasso)、l2范数(岭回归)和它们的混合 (elastic net)。

坐标下降法是关于lasso的一种快速计算方法(是目前关于lasso最快的计算方法),其基本要点为: 对每一个参数在保持其它参数固定的情况下进行优化,循环,直到系数稳定为止。这个计算是在lambda的格点值上进行的。 关于这个算法见[5][]。 关于glmnet包的细节可参考[4],这篇文献同时也是关于lasso的一个不错的文献导读。[]

cv.glmnet函数利用交叉检验,分别用不同的lambda值来观察模型误差。

左边线对应最佳lamda,右侧线对应一个SE内最佳模型。上图横轴是lambda值的对数,纵轴是模型误差。从上面的图可以看到,最佳的lambda取值就是在红色曲线的最低点处,对应着变量个数是11个。它右侧的另一条虚线是在其一倍SE内的更简洁的模型(变量个数为9)。由于这两个lambda对应的模型误差变化不大,而我们更偏好于简洁的模型,选择对应的lambda值为0.025。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
理论:正则化-Lasso规约
图中,红色的线存在明显的过拟合,绿色的线才是合理的拟合曲线,为了避免过拟合,我们可以引入正则化。
sladesal
2018/08/27
1.3K0
理论:正则化-Lasso规约
独家 | 为你介绍7种流行的线性回归收缩与选择方法(附代码)
本文讨论了几种子集和收缩方法:最佳子集回归, 岭回归, LASSO, 弹性网, 最小角度回归, 主成分回归和偏最小二乘。
数据派THU
2019/05/16
1.6K0
独家 | 为你介绍7种流行的线性回归收缩与选择方法(附代码)
机器学习算法之岭回归、Lasso回归和ElasticNet回归
作者:biaodianfu https://www.biaodianfu.com/ridge-lasso-elasticnet.html
统计学家
2019/07/17
1.6K0
机器学习算法之岭回归、Lasso回归和ElasticNet回归
线性回归中的多重共线性与岭回归
上篇文章《简单而强大的线性回归详解》(点击跳转)详细介绍了线性回归分析方程、损失方程及求解、模型评估指标等内容,其中在推导多元线性回归使用最小二乘法的求解原理时,对损失函数求导得到参数向量 的方程式
数据STUDIO
2021/06/24
2.2K0
回归分析技术|机器学习
原文:http://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/ 回归分析是建模和分析数据的重要工具。本文
陆勤_数据人网
2018/02/28
9970
回归分析技术|机器学习
常见的七种回归技术
介绍 根据受欢迎程度,线性回归和逻辑回归经常是我们做预测模型时,且第一个学习的算法。但是如果认为回归就两个算法,就大错特错了。事实上我们有许多类型的回归方法可以去建模。每一个算法都有其重要性和特殊性。 内容 1.什么是回归分析? 2.我们为什么要使用回归分析? 3.回归有哪些类型 ? 4.线性回归 5.逻辑回归 6.多项式回归 7.逐步回归 8.岭回归 9.Lasso回归 10.ElasticNet回归 什么是回归分析? 回归分析是研究自变量和因变量之间关系的一种预测模型技术。这些
智能算法
2018/04/02
1.2K0
常见的七种回归技术
机器学习 | 深度理解Lasso回归分析
上篇《线性回归中的多重共线性与岭回归》(点击跳转)详细介绍了线性回归中多重共线性,以及一种线性回归的缩减(shrinkage)方法 ----岭回归(Ridge Regression),除此之外另一种线性回归的缩减方法----Lasso回归亦可解决多重共线性问题,但是不一样的是Lasso回归针对不同的自变量,会使其收敛的速度不一样。有的变量就很快趋于0了,有的却会很慢。因此一定程度上Lasso回归非常适合于做特征选择。
数据STUDIO
2021/06/24
12.4K0
回归分析
在一些问题中,常常希望根据已有数据,确定目标变量(输出,即因变量)与其它变量(输入,即自变量)的关系。当观测到新的输入时,预测它可能的输出值。这种方法叫回归分析(确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法)。
爱编程的小明
2022/09/05
9180
回归分析
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归,又称L2正则化,是一种用于解决多重共线性问题的线性回归技术。多重共线性是指自变量之间存在高度相关性的情况,这会导致普通最小二乘法(OLS)估计的不稳定性,使得模型的预测性能下降。岭回归通过在损失函数中添加一个正则化项来解决这个问题,其数学表达式如下:
小馒头学Python
2023/11/23
6.7K0
岭回归与LASSO回归:解析两大经典线性回归方法
机器学习损失函数、L1-L2正则化的前世今生
前言: 我们学习一个算法总是要有个指标或者多个指标来衡量一下算的好不好,不同的机器学习问题就有了不同的努力目标,今天我们就来聊一聊回归意义下的损失函数、正则化的前世今生,从哪里来,到哪
机器学习算法工程师
2018/03/06
2K0
机器学习损失函数、L1-L2正则化的前世今生
你应该掌握的七种回归技术
【编者按】回归分析是建模和分析数据的重要工具。本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归、逻辑回归、多项式回归、逐步回归、岭回归、套索回归、ElasticNet回归等七种最常用的回归技术及其关键要素,最后介绍了选择正确的回归模型的关键因素。 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归
用户1737318
2018/06/05
7680
详解:7大经典回归模型
来源:csdn 深度学习爱好者本文约2900字,建议阅读5分钟本文给大家介绍机器学习建模中7大经典的回归分析模型。 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。我会在接下来的部分详细
数据派THU
2023/04/18
1.2K0
详解:7大经典回归模型
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据|附代码数据
最近我们被客户要求撰写关于高维数据惩罚回归方法的研究报告,包括一些图形和统计输出。
拓端
2023/04/12
8580
七种回归分析方法 个个经典
什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。我会在接下来的部分详细解释这一点。 我们为什么使用回归分析? 如上所述,回归分析估计了两个或多个变量之间的关系。下面,让我们举一个
小莹莹
2018/04/18
1.1K0
七种回归分析方法 个个经典
【学习】让你欲罢不能的回归分析
本文解释了回归分析及其优势,重点总结了应该掌握的线性回归、逻辑回归、多项式回归、逐步回归、岭回归、套索回归、ElasticNet回归等七种最常用的回归技术及其关键要素,最后介绍了选择正确的回归模型的关键因素 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/
小莹莹
2018/04/20
1.2K0
【学习】让你欲罢不能的回归分析
万字长文,演绎八种线性回归算法最强总结!
回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析、时间序列模型以及发现变量之间的因果关系。
数据STUDIO
2021/06/24
3.5K0
你应该掌握的 7 种回归模型!
线性回归和逻辑回归通常是人们学习预测模型的第一个算法。由于这二者的知名度很大,许多分析人员以为它们就是回归的唯一形式了。而了解更多的学者会知道它们是所有回归模型的主要两种形式。
红色石头
2019/05/25
2.3K0
【机器学习笔记】:解读正则化,LASSO回归,岭回归
在机器学习的学习过程中,我们会经常听到正则化这个词,在开始入门学习的时候还经常与标准化混淆。到底什么是正则化呢?本篇我们将由浅入深详细解读什么是正则化,以及LASSO回归和岭回归的介绍。
Python数据科学
2018/12/28
5K0
【机器学习笔记】:解读正则化,LASSO回归,岭回归
基于正则化的回归:岭回归和套索回归
在多元线性回归中,多个变量之间可能存在多重共线性,所谓多重,就是一个变量与多个变量之间都存在线性相关。首先来看下多重共线性对回归模型的影响,假设一下回归模型
生信修炼手册
2021/02/09
1.3K0
机器学习回归模型的最全总结!
回归分析为许多机器学习算法提供了坚实的基础。在这篇文章中,我们将介绍回归分析概念、7种重要的回归模型、10 个重要的回归问题和5个评价指标。
算法进阶
2023/09/21
1.9K0
机器学习回归模型的最全总结!
相关推荐
理论:正则化-Lasso规约
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档