最小角回归法(Least Angle Regression)求解Lasso 回归算法


引用:http://www.cnblogs.com/pinard/p/6018889.html

最近在学习机器学习的相关框架,看到最小角回归理解了一下:

在介绍最小角回归算法前,我们需要了解两个相关算法,一个是前向选择算法(Foward Selection),一个是前向梯度算法(Forward Statgewise)。

1.前向选择算法(Foward Selection)

  假设有Y=Xθ,X为m*n的矩阵,Y为m*1的矩阵,我们要找到一个θ,最大程度的拟合输入和输出。

  这里把X看成n个m*1的的向量Xi

  第一步:选择和目标Y最为接近的Xi(余弦相似度),记为Xk

  过Y向Xk向量做投影,投影的长度便作为Xk对应的系数,记为θk

  第二步:定义(残差)Y=Y-XkK

  若Y把所有的自变量都投影完毕,或者Y'为0,结束算法。

  否则投影后的Y被设为新的目标Y,重复第一步。

  图示引荐如下:

  

上图为Y在X1,X2上的分解,对应的θ即为要求解的系数。

2.前向梯度算法(Forward Stagewise)

  同前向选择方法不同的一点是,θk的取值是人为设定的,每次θk会有一个初始值设为w,

  计算残差Y=Y-Xk*w,再根据Y’去找相似度最大的向量Xi。

  引图如下:

如上图Y沿着x1方向,行走εx1时,就会停下来计算残差,再判断究竟与x1的相似度还是与x2的相似度大,然后继续走下去。

 

3.最小角回归(Least Angle Regression, LARS)算法

首先,还是找到与因变量Y最接近或者相关度最高的自变量Xk,使用类似于前向梯度算法中的残差计算方法,得到新的目标Y',此时不用和前向梯度算法一样小步小步的走。而是直接向前走直到出现一个Xt,使得Xt和Y'的相关度和Xk与Yyes的相关度是一样的,此时残差Y'就在Xt和Xk的角平分线方向上,此时我们开始沿着这个残差角平分线走,直到出现第三个特征Xp和Yyes的相关度足够大的时候,即Xp到当前残差Yyes的相关度和θt,θk与Yyes的一样。将其也叫入到Y的逼近特征集合中,并用Y的逼近特征集合的共同角分线,作为新的逼近方向。以此循环,直到Yyes足够的小,或者说所有的变量都已经取完了,算法停止。此时对应的系数θ即为最终结果。

引图如下:

2017-09-16
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM