在 LASSO 中选择正则化参数的范围和网格密度

机器算法验证 套索 正则化
2022-03-14 04:05:06

与此同时,我正在研究LASSO(最小绝对收缩和选择算子)。我看到可以通过交叉验证选择正则化参数的最佳值。我还在岭回归和许多应用正则化的方法中看到,我们可以使用 CV 来找到最佳正则化参数(比如惩罚)。现在我的问题是关于参数上限和下限的初始值以及如何确定序列的长度。

具体来说,假设我们有一个 LASSO 问题

LogLikelihood=(yxβ)(yxβ)+λ|β|1
我们想找到惩罚的最佳值,λ. 那么我们如何选择下限和上限λ[a=?,b=?]? 以及这两个值之间的分割数(ba)k=??

1个回答

该方法在 glmnet 论文Regularization Paths for Generalized Linear Models via Coordinate Descent中进行了描述。虽然这里的方法是针对两者的一般情况L1L2正则化,它应该适用于 LASSO(仅L1) 也是如此。

最大的解决方案λ在第 2.5 节中给出。

什么时候β~=0,我们从(5)中看到β~j如果1N|xj,y|<λα. 因此Nαλmax=maxl|xl,y|

也就是说,我们观察到 beta 的更新规则强制所有参数估计为零λ>λmax如上所述。

的确定λmin并且网格点的数量似乎不太有原则。在 glmnet 他们设置λmin=0.001λmax,然后选择一个网格100对数刻度上的等距点。

这在实践中效果很好,在我广泛使用 glmnet 时,我从未发现这个网格太粗糙。

在套索 (L1) 仅在情况下效果更好,因为LARS方法为各种预测变量何时进入模型提供了精确计算。真正的 LARS 不会进行网格搜索λ,而是为系数的解路径生成精确表达式。 下面详细介绍了两个预测变量情况下系数路径的精确计算。

非线性模型(即逻辑、泊松)的情况更加困难。在高层次上,首先在初始参数处获得损失函数的二次近似β=0, 然后用上面的计算来确定λmax. 在这些情况下,无法精确计算参数路径,即使仅当L1提供了正则化,因此网格搜索是唯一的选择。

样品重量也使情况复杂化,必须在适当的地方用称重的内积替换内积。