Lasso的表达形式:$min \Vert \mathrm y - X \mathrm w \Vert_2^2 + \alpha \Vert \mathrm w \Vert_1$,求解Lasso最优值的方法有两种常见方法是坐标下降法和修正的最小角度回归。在是sklearn中,$\alpha$的 取值范围是$[0, 1]$,使用Lars求解时,$\alpha$的内在含义是相关系数值得最小界限。
Lasso的两种形式
对(1)式中任意的$\alpha$,下面的(2)式总存在一个$t$,两者的最优解相同。
Lars的思想
- 每次选取和$\mathrm y$相关系数最大的列向量进入活跃集
- 步长的选取,活跃集中的列向量和残差向量的相关系数会变小,选取使得另一个列向量的相关系数和活跃集列向量的相关系数相等。
- 当残差向量非常小或所有的列向量都加入活跃集中,停止
修正的Lars可以求解所有的lasso路径,修正就是在选取步长时,符合一个准则,不满足时,将该列向量从活跃集中删除。具体可参考Least Angle Regression.
我的理解是实际问题中并不需要求解确定问题的精确解,而只是进行特征选择,需要寻找合适的非零系数的个数。
推荐参考资料:
感慨一下,好的中文资料太难得,这也是一种大国凌霸的一种体现。。。。什么时候全换成中文的。。。。