老饼讲解:一步一步上手学习
由于Lasso回归在损失函数中引入了一范正则项,无法像线性回归、岭回归一样直接用公式求解,因此Lasso的求解算法一般使用的是坐标下降法,本文展示使用坐标下降法求解Lasso回归的算法流程和相关公式。
与线性回归、岭回归不同,Lasso以1范数作为正则项,因此不再用线性方程求解求得精确解,Lasso用得更多的是“坐标下降法”求解。
什么是坐标下降法
坐标下降法简单来说,就是每次只调整一个参数,在其它参数不变的情况下,将该参数调整到最优的位置,然后不断迭代,直到满足迭代条件。
使用坐标下降法求解Lasso回归的算法流程如下:

1、初始化解全为 0
2、循环迭代,每次将一个调整到当前驻点(可按顺序选择,也可随机)
的驻点即当前的最优位置,第i个的驻点公式为:
或
其中 ,
,且要求
驻点公式的详细推导见《Lasso回归-迭代公式-推导》。
3、直到满足终止训练条件,退出迭代
终止条件为:
(1)达到最大迭代次数
(2)最大的 或者的变化率极微小,且对偶间隙极小
备注:流程描述只描述主要思想,具体落地仍需参考代码。
总的来说,Lasso回归使用坐标下降法来训练,也就是先初始化w,然后逐个将w迭代到驻点,直到满足退出条件,例如w的变化已经极微小,等等,流程是较简单的,唯一复杂的是驻点的公式。
评论