当前位置: 代码网 > 科技>人工智能>机器学习 > Lasso回归系列四:Group Lasso,Sparse Group Lasso

Lasso回归系列四:Group Lasso,Sparse Group Lasso

2024年08月01日 机器学习 我要评论
Lasso变体:Group Lasso,Sparse Group Lasso

lasso变体:group lasso,sparse group lasso

关于lasso回归的讲解可以看我的另一篇博客:lasso回归系列二:lasso回归/岭回归的原理

group lasso

在lasso回归中,是单独地看待每个特征(即假定特征不存在先验的分组),但有些使用场景下,变量本身就存在分组,比如在股市分析问题中,来自同一个商业领域的公司可以划分到一个小组。在2006年【model selection and estimation in regression with grouped variables】论文提出group lasso,通过引入特征先验的分组信息来解决这类问题:数据的变量之间本身就存在一些已知的分组关系。

根据先验的变量之间的分组信息,权重 β \beta β 可以被分成 m m m 组,分组后 β g = β ( 1 ) , β ( 2 ) , ⋯ , β ( m ) β_g={β(1),β(2),⋯,β(m)} βg=β(1),β(2),,β(m) β ( l ) β(l) β(l) 代表一组来自 β β β 的权重,其中 $ 1≤l≤m$ 。进一步我们对数据 x x x 也进行分组, x ( i ) x(i) x(i)代表对应 β ( l ) β(l) β(l) 的子矩阵。这个优化问题就变成了
β ∗ = arg ⁡ min ⁡ β ∣ ∣ y − ∑ l = 1 m x ( l ) β ( l ) ∣ ∣ 2 2 + λ ∑ l = 1 m p l ∣ ∣ β ( l ) ∣ ∣ 2 \beta^* = \underset {\beta}{\arg \min} ||y−∑_{l=1}^mx^{(l)}β^{(l)}||^2_2+λ∑_{l=1}^m \sqrt p_l ||β^{(l)}||_2 β=βargminyl=1mx(l)β(l)22+λl=1mp lβ(l)2
其中 p l p_l pl 代表 β ( l ) β^{(l)} β(l)中权重参数的个数。

group lasso倾向于把一个组的变量当作一个整体,如果这一组变量是有意义的,那么就会选择该组的所有变量,否则,整组变量对应的参数会被设置为0。

在这里插入图片描述

如上图所示, β 11 , β 12 \beta_{11}, \beta_{12} β11β12是一组变量, β 2 \beta_2 β2 是第二组变量,

我们仍旧可以用“不可微分的地方更容易和平方误差等值项相交”的规律来进行分析。在 < β 11 , β 12 > <\beta_{11}, \beta_{12}> <β11β12> 所在的平面上更容易出现不可微的点,此时 β 2 = 0 \beta_2=0 β2=0 ,即第二组变量对应 β β β 的参数为0,第二组变量被抛弃。

此外,我们还可以发现,当m=1时,group lasso就等价于岭回归,当m=n时,group lasso就变成了lasso回归。

sparse group lasso

sparse group lasso是lasso和group lasso的线性结合,最终得到的结果同样也是介于lasso和group lasso的结果之间。

sparse group lasso 是一种非常受欢迎的变量选择方法,能够从最有意义的变量组中选出最有意义的变量

此时,优化问题就变成了:
β ∗ = arg ⁡ min ⁡ β ∣ ∣ y − ∑ l = 1 m x ( l ) β i ∣ ∣ 2 2 + α λ ∑ l = 1 n ∣ ∣ β i ∣ ∣ 1 + ( 1 − α ) λ ∑ l = 1 m p l ∣ ∣ β ( l ) ∣ ∣ 2 \beta^*= \underset {\beta}{\arg \min} ||y−∑_{l=1}^mx^{(l)}β_{i}||^2_2+\alphaλ∑_{l=1}^n ||β_{i}||_1+(1-\alpha)λ∑_{l=1}^m \sqrt p_l ||β^{(l)}||_2 β=βargminyl=1mx(l)βi22+αλl=1nβi1+(1α)λl=1mp lβ(l)2
其中包含两个需要优化的参数: λ \lambda λ α \alpha α λ \lambda λ 控制惩罚力度, α \alpha α 权衡lasso和group lasso的比重,通常可以通过网格搜索确定这两个参数的值。

参考:
group lasso
sparse group lasso in python

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com