学习中看到有人提到利用 坐标下降法 求解LASSO,但是有个疑问,坐标下降法是每次迭代固定其余维度变化一个维度,然后求拉格朗日函数在当前维度上的最小值,这个求最小化的步骤中岂不是还是要利用到导数?就是在这个轴方向上的导数为零即为最小值取值点,但是LASSO问题中惩罚项决定了其目标函数是不可导的,这样坐标下降法怎么能执行下去呢?再一个,目标下降法需要保证目标函数是可微凸函数才能保证收敛于全局最小值,LASSO的目标函数天然就不是可微的,这样是不是说明使用坐标下降法得到的额LASSO问题的解是不可信的呢?
1个回答
LASSO的正则项只在“数学”的0点才不可微。但因为有round-off error,“数值计算”中的0并不是数学上的0,而是(0-e,0+e),e是浮点能表示的精度。在IEEE 754中有$+0,-0$两个浮点数表示0,分别代表(0,0+e),(0-e,0)。所以当$x=+0/-0$时,$d(|x|_1)/d(x)=+1/-1$,并非不存在。把L1norm当做可微的就可以了。
SofaSofa数据科学社区DS面试题库 DS面经相关讨论
随便看看