L1 和 L2 正则化显示 MSE 随着增加的变量增加(最终减少)

机器算法验证 套索 正则化 岭回归 弹性网
2022-03-26 15:59:15

我正在尝试运行 Ridge、LASSO 和 Elastic Net 回归,因为正则化方法通常用于我正在解决的问题中。

我已经使用“swiss”数据示例成功运行了 glmnet() 和 cv.glmnet(),并且 lambda x MSE 图看起来很正常(即它们在在线代码示例中的样子)。

然而,当我使用我的实际数据时,lambda x MSE 图如下所示(无论预测变量是否标准化或 alpha 的值是多少,它往往是相同趋势的变化):

MSE 作为 lambda 和预测变量数量的函数

这篇文章表明,导致这种趋势的一个潜在问题是我的预测变量与标准的相关性很低。在这种特殊情况下,几个预测变量与标准相关 r>.2。然而,在那篇文章中,随着更多预测变量的添加,错误会增加,而我的数据最终会随着大量预测变量的添加而开始减少错误。

我特别想知道是否有人可以解释为什么 MSE 在随着更多预测因子的进一步添加而下降之前会如此急剧地增加?

这是一个类似 alpha=1 的图(即 LASSO): 在此处输入图像描述

1个回答

这可以通过偏差和方差之间的权衡来解释。我们知道,mse = bias^2 + var,所涉及的预测变量数量的递减函数 (bias) 和递增函数 (var) 的总和。

事情,我们对mse(训练mse)的行为没有特定的作用,但通常它会随着更多的预测因素而减少,但情况并非总是如此。

在这种情况下,您的 mse 移动是合理的,因为与方差上升的方式相比,偏差正在缓慢下降(图表的第一部分)。并且当它达到其复杂度(var)的最大值时,添加的任何预测器都只会降低偏差,因此 mse 会下降。

您的数据集可能还有其他解释。例如目标的大方差。如果是这样,您的模型 var 将需要更多的预测变量,直到它在开始减少之前达到最大 mse