岭回归可以用于特征选择吗?

数据挖掘 机器学习 特征选择 正则化 岭回归
2021-09-17 22:52:46

我试图弄清楚是否可以使用岭回归进行正则化来产生更稀疏的假设,但对我来说,岭似乎永远不会真正将任何系数归零,只会真正接近它。

那么岭回归会导致任何系数变为零吗?权重向量中零的数量可以从零变为其他值吗?或者简单地说,使用岭回归的零系数的数量是单调增加还是可能减少?

谢谢。

3个回答

与套索不同,岭没有归零系数作为目标,你不应该期望应用岭惩罚会产生这种效果。所以你的标题问题的答案是“不”。

但是,在您的问题正文中,您询问岭惩罚是否有可能产生在未惩罚解决方案中非零的零系数。这里的答案是“是”,但这只是一个令人难以置信的巧合(这解释了为什么标题问题的答案是否定的)。

请参阅此答案中的图像(也在许多其他地方漂浮)。如果(未惩罚的)错误的轮廓恰好在其中一个轴上与约束圆相切,则该变量的系数将变为零。这将是一个令人难以置信的巧合,但理论上是可能的。正则化甚至可以切换系数上的符号!

我已经整理了一个玩具示例来展示这一点。 GitHub/Colab 笔记本。
(在sklearn中,我们习惯于用拉格朗日形式来考虑正则化回归;对于这些类型的图,最好以约束优化形式来考虑。请参见此处的连接)
X=(1155), y=(35). 有一个确切的解决方案,y=X(12),所以未惩罚的损失轮廓是(不是轴对齐的)椭圆,以 (1,2). 当 L2 惩罚系数λ 是 5,解决方案是 (0,0.5). 什么时候0<λ<5,解首先权重为正,当 λ>5 第一个权重是负的(!使这个系数略微为负可以让我们将第二个系数减小得更小,从而降低整体惩罚)。

Ridge 的正则化使其权重变得非常接近于零,但不是零。相比之下,lasso 可以使权重为零,因为它们使用的正则化类型。

如果你有很多特性,我建议使用套索,并且你认为其中只有少数是重要的。否则,即使您的模型变得更简单,您的准确性也会很差。

有 ElasticNet 结合了两者,但它更昂贵,因为它使用两个正则化。

我真的不明白你问的是什么

权重向量中零的数量可以从零变为其他值吗?

如果您事先确定了参数的数量,它们的权重是未知的,而不是零。这就是你想要找到的。

最后一件事,对于特征选择还有其他方法。这些(岭,套索)只是回归的线性模型。如果您想确定哪些功能最有效等。我建议您对此方法进行研究。

正如其他人所提到的,只有 Lasso 可以将参数精确地缩小到零(而 Ridge 或 Elastic Net 不会,请参阅统计学习简介中的第 6.2.2 章)。Lasso 有一些优点,即它可以用来处理高维数据。对于特征选择,有些人使用“双套索”方法。

如果您只想进行特征选择(或最佳子集选择),那么除了 Lasso 之外还有其他可能性,即向前或向后逐步选择

《统计学习简介》(第 6 章:线性模型选择和正则化)一书对模型选择技术进行了非常有启发性的概述。

RPython的代码示例是在线的