Lasso的优化条件

lasso的目标函数是
Lasso的优化求解 - 图1
使用坐标下降法求解:
w总共有D维,每次取1维出来Lasso的优化求解 - 图2,让其他D-1维不变
下面对Lasso的优化求解 - 图3进行求导
Lasso的优化求解 - 图4

Lasso的优化求解 - 图5, 则上式Lasso的优化求解 - 图6
Lasso的优化求解 - 图7中的Lasso的优化求解 - 图8表示的是利用D-j维特征得到的预测的残差,
Lasso的优化求解 - 图9即表示的是第j维特征与残差的相关性
上面式子带入正则项,目标函数的子梯度

Lasso的优化求解 - 图10

根据Lasso的优化求解 - 图11的不同,Lasso的优化求解 - 图12有三种情况
Lasso的优化求解 - 图13

soft 即软阈值(Soft Thresholding)的表达式如下

Lasso的优化求解 - 图14

上式中 sign(x)是符号函数,即当x>0时为1,当x0时为-1 x是变量,T是阈值(非负值),符号![](https://cdn.nlark.com/yuque/__latex/3bee0c020dcd7ee8250f841c627bfc1f.svg#card=math&code=%28%7Cx%7C-T%29_%2B&height=20&width=75)表示当(|x|-T)0时则等于|x|-T,当(|x|-T)<0时则等于0。 那么分三种情况来讨论: 第一种情况是x>T>0,则sign(x)=1,|x|=x,(|x|-T)一定大于0,Lasso的优化求解 - 图15=|x|-T,所以soft (x,T)=x-T; 第二种情况是x<-T<0,则sign(x)=-1,|x|=-x,(|x|-T)也一定大于0,Lasso的优化求解 - 图16=|x|-T,所以soft (x,T)=-1*(-x-T)= x+λ; 第三种情况是|x|<T,此时(|x|-T)一定小于0,则Lasso的优化求解 - 图17=0,所以soft (x,T)=0

image.png

lasso求解伪代码

  • 预计算 Lasso的优化求解 - 图19
  • 初始化参数w(全0或随机)
  • 循环直到收敛: for j=1,2,……D
    • 计算Lasso的优化求解 - 图20
    • 计算Lasso的优化求解 - 图21
  • 选择变化幅度最大的维度进行更新

    坐标轴下降法,不需要计算目标函数的导数,在稀疏矩阵上的计算速度 非常快,同时也是Lasso回归最快的解法

参考链接:软阈值(Soft Thresholding)函数解读