引用: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-Xk*θK
若Y‘把所有的自变量都投影完毕,或者Y'为0,结束算法。
否则投影后的Y‘被设为新的目标Y,重复第一步。
图示引荐如下:
上图为Y在X1,X2上的分解,对应的θ即为要求解的系数。
2.前向梯度算法(Forward Stagewise)
同前向选择方法不同的一点是,θk的取值是人为设定的,每次θk会有一个初始值设为w,
计算残差Y‘=Y-Xk*w,再根据Y’去找相似度最大的向量Xi。
引图如下:
如上图Y沿着x1方向