我想知道轻型GBM中L1 & L2正则化是如何工作的,以及如何解释特性的重要性。
场景是:我在包含400000个观测量和160个变量的数据集上使用了RandomizedSearchCV (cv=3,iterations=50)的LGBM。为了避免过度拟合/反求,我为alpha/L1 & lambda/L2参数提供了以下范围,并且根据随机搜索的最佳值分别为1& 0.5。
'reg_lambda':0.5、1、3、5、10 'reg_alpha':0.5、1、3、5、10
现在我的问题是:使用reg_lambda=1和reg_alpha=0.5的优化值的特性重要性值与没有为reg_lambda和alpha提供任何输入的特性重要性值有很大的不同。正则化模型只考虑最重要的5-6个特征,并使其他特征的重要性值达到零(参考图像)。这是LGBM中L1/L2正则化的正常行为吗?
进一步解释了L1/L2的LGBM输出:在两种情况下(有或没有正则化),前5个重要特征是相同的,但在前2个特征被L1/L2正则化模型显著缩小后,正则化模型使重要性值达到零(参考两种情况下特征重要性值的图像)。
任何帮助都将不胜感激。
维卡兰特


发布于 2019-08-08 10:12:50
通过正则化,LightGBM“收缩”了一些没有“帮助”的特性。因此,这实际上是正常的,特征的重要性在正则化或无正则化时是完全不同的。您不需要排除任何特性,因为收缩的目的是根据其重要性使用特性(这是自动发生的)。
在您的例子中,前两个特性似乎具有很好的解释能力,因此它们被用作“最重要”的特性。其他功能不那么重要,因此模型“缩小”了。
您还可能会发现,当您多次运行模型时,列表的顶部会弹出不同的特性(通常情况下,列表看起来可能不一样)。这是因为(如果不修复种子),模型将采用不同的路径来获得最佳匹配(因此整个过程并不是确定性的)。
总的来说,您应该更好地适应正则化(否则几乎不需要它)。
我想知道同时使用(l1和l2)!?L1 (又名reg_alpha)可以将特性缩小到零,而l2 (又名reg_lambda)则不能。我通常只使用其中一个参数。不幸的是,文档在这里没有提供太多的细节。
发布于 2020-08-11 21:32:14
下面链接到后续问题“您应该同时使用L1和L2正则化术语吗?”在此简要总结如下:
https://datascience.stackexchange.com/questions/57206
复制相似问题