轻型 GBM 回归器、L1 和 L2 正则化和特征重要性

数据挖掘 特征选择 正则化 lightgbm
2021-10-14 11:41:24

我想知道 L1 和 L2 正则化在 Light GBM 中是如何工作的,以及如何解释特征重要性。

场景是:我在包含 400000 个观测值和 160 个变量的数据集上使用 LGBM Regressor 和 RandomizedSearchCV(cv=3,iterations=50)。为了避免过度拟合/正则化,我为 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 个重要特征在两种情况下都是相同的(有/没有正则化),但是 L1/L2 正则化模型和前 5 个特征后,前 2 个特征之后的重要性值显着缩小特征正则化模型使重要性值为零(在两种情况下均参考特征重要性值的图像)。

我遇到的另一个相关问题是:如何解释重要性值以及当我使用随机搜索 cv 最佳参数运行 LGBM 模型时,我是否需要删除重要性值较低的特征然后运行模型?或者我应该使用所有特征运行吗? LGBM 算法(使用 L1 和 L2 正则化)将处理低重要性特征,并且不会给予它们任何权重,或者在进行预测时可能会给予微小的权重。

任何帮助将不胜感激。

问候维克兰特

L1 和 L2 正则化的特征重要性 没有 L1 和 L2 正则化的特征重要性

2个回答

通过正则化,LightGBM“缩小”那些没有“帮助”的特征。所以实际上是正常的,特征重要性在有/没有正则化的情况下是完全不同的。您不需要排除任何特征,因为缩小的目的是根据其重要性使用特征(这会自动发生)。

在您的情况下,前两个特征似乎具有很好的解释力,因此它们被用作“最重要”的特征。其他特征不太重要,因此被模型“缩小”。

当您多次运行模型时,您可能还会发现不同的功能会在列表顶部弹出(列表通常看起来可能不同)。这是因为(如果您不修复种子),模型将采用不同的路径来获得最佳拟合(因此整个事情不是确定性的)。

总体而言,您应该更好地适应正则化(否则几乎不需要它)。

l1我想知道同时使用 (和)是否有意义l2!?L1(aka reg_alpha) 可以将特征缩小到零,而l2(aka reg_lambda) 则不能。我通常只使用其中一个参数。不幸的是,文档在这里没有提供太多细节。

这是“你应该同时使用 L1 和 L2 正则化术语吗?”的后续问题的一个很好的答案的链接。这里简单总结一下:

  • 这些 lightGBM L1 和 L2 正则化参数是相关的叶子分数,而不是特征权重。正则化项将降低模型的复杂性(类似于大多数正则化工作),但它们与特征的相对权重没有直接关系。
  • 一般来说,L1 惩罚会将小值驱使为零,而 L2 惩罚会减少大异常值的权重。如果这两件事听起来都适合叶子分数,那么你可能会从两者中受益。ElasticNet 使用 L1 和 L2 惩罚,但这是在特征权重上,所以它有些不同。

https://datascience.stackexchange.com/a/57450/102940