admin 管理员组文章数量: 1087139
2024年4月15日发(作者:flexible用法及搭配)
修正的LARS算法和lasso
2011/04/25 郝智恒
在小弟的上一篇文章中,简单的介绍了LARS算法是怎么回事。主要参考的是Efron
等人的经典文章least angle regression。在这篇文章中,还提到了一些有趣的看法,比如
如何用LARS算法来求解lasso estimate和forward stagewise estimate。这种看法将我
对于模型选择的认识提升了一个层次。在这个更高的层次下看回归的变量选择过程,似乎
能有一些更加创新的想法。
lasso estimate的提出是Tibshirani在1996年RSSB上的一篇文章Regression
shrinkage and selection via lasso。所谓lasso,其全称是least absolute shrinkage and
selection operator。其想法可以用如下的最优化问题来表述:
在限制了的情况下,求使得残差平方和
达到最小的回归系数的估值。
我们熟悉如何求解限制条件为等号时,回归方程的求解。也就是用lagrange乘子法
求解。但是对于这种,限制条件是不等号的情况,该如何求解,则有两种想法。第一种,
也是我比较倾向于的方法,是利用计算机程序,对从开始,不断慢慢增加它的值,然后
对每个,求限制条件为等号时候的回归系数的估计,从而可以以的值为横轴,作出一系列
的回归系数向量的估计值,这一系列的回归系数的估计值就是lasso estimation。另外一
种想法,是借助与最优化问题中的KKT条件,用某个黑箱式的算法,求解。(本人对于最
优化方面的东西实在是不很熟悉,故不在此弄斧,只求抛砖引玉,能有高手给出这种想法
的具体介绍。)
lasso estimate具有shrinkage和selection两种功能,shrinkage这个不用多讲,
本科期间学过回归分析的同学应该都知道岭估计会有shrinkage的功效,lasso也同样。
关于selection功能,Tibshirani提出,当值小到一定程度的时候,lasso estimate会使
得某些回归系数的估值是,这确实是起到了变量选择的作用。当不断增大时,选入回归
模型的变量会逐渐增多,当增大到某个值时,所有变量都入选了回归模型,这个时候得到
的回归模型的系数是通常意义下的最小二乘估计。从这个角度上来看,lasso也可以看做是
一种逐步回归的过程。
在我的上一篇文章中,提到了Efron对于逐步回归的一种看法,就是在某个标准之下
(比如LARS的标准就是要保证当前残差和已入选变量之间的相关系数相等,也就是当前
残差在已入选变量的构成空间中的投影,是那些变量的角平分线)选择一条solution path,
在这个solution path上proceed,不断吸收新的变量进入,然后调整solution path 继
续proceed。那么对于求解lasso的算法,也有一个相应的对应。Efron提出了一种修正
的LARS算法,可以用修正的LARS算法来求解所有的lasso estimates。下面我介绍一下
这种修正的LARS算法。
首先假设我们已经完成了几步LARS steps。这时候,我们已经有了一个回归变量集,
我们记这个回归变量集为。这个集合就对应着一个对于的估计,我们记为。这个估
值对应着一个lasso方法对于响应的估值(这里我认为LARS估值和lasso估值应该是一
样的),lasso的估值,对应着回归系数的lasso估值,回归系数向量的lasso估值我们记
为。
为了继续进行下一步,我们先给出一个向量的表达式,然后再解释一下它
版权声明:本文标题:lasso算法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713179405a622729.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论