LASSO的解法

本文详细探讨了LASSO(Least Absolute Shrinkage and Selection Operator)的求解方法,从单变量的软阈值法出发,通过分类讨论和次梯度的概念,解释了LASSO的解析解。接着,介绍了在多变量情形下,如何使用循环坐标下降法来解决LASSO问题。此外,还提到了其他解法如homotopy method和LARS算法,并强调了正交基在简化计算中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LASSO非常实用,但由于它的惩罚项不可以常规地进行求导,使得很多人以为它无法显式地求出解析解。但其实并不是这样的。

1 单变量情形:软阈值法

1.1 软阈值的分类讨论

NNN个样本的真实值记为NNN维向量yyy,将NNN个样本的自变量记为zzz,假设我们已经将自变量做过标准化,即z′ℓN=0z' \ell_N=0zN=0z′z/N=1z'z/N=1zz/N=1,这也意味着在LASSO模型中截距项为000。系数β\betaβ是要优化的参数,惩罚项参数为λ>0\lambda\gt 0λ>0

LASSO就是要求解
arg min⁡β12N(y−zβ)′(y−zβ)+λ∣β∣(1) \argmin_\beta \dfrac{1}{2N}(y-z\beta)'(y-z\beta)+\lambda |\beta| \tag{1} βargmin2N1(yzβ)(yzβ)+λβ(1)

忽略常数项后,上式等价于
arg min⁡β12β2−y′zNβ+λ∣β∣ \argmin_\beta \dfrac{1}{2}\beta^2 -\dfrac{y'z}{N}\beta+ \lambda |\beta| βargmin21β2Nyzβ+λβ

将损失函数写成分段函数形式:
f(β)={ f1(β)=12β2−(y′zN+λ)β,β<0f2(β)=12β2−(y′zN−λ)β,β≥0 f(\beta)=\begin{cases} f_1(\beta) = \dfrac{1}{2}\beta^2 -\left(\dfrac{y'z}{N} + \lambda\right)\beta , \beta \lt 0\\ f_2(\beta) = \dfrac{1}{2}\beta^2 -\left(\dfrac{y'z}{N}- \lambda\right)\beta, \beta \geq 0 \end{cases} f(β)=f1(β)=21β2(Nyz+λ)β,β<0f2(β)=21β2(Nyzλ)β,β0

分类讨论:

  • y′zN>λ\dfrac{y'z}{N}\gt \lambdaNyz>λ,则f1(β)>0f_1(\beta) \gt 0f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值