为什么套索错误在更新时会增加? (+评估)

时间:2019-06-05 05:20:50

标签: python machine-learning regression lasso

在套索更新时,我检查了MSE和非零条目的数量。

但是,在每次迭代中,MSE都会增加,并且系数的零个数会根据lambda波动。

所以,我的问题是:

  1. 在每次更新时,为什么MSE会增加?

  2. 在每次更新迭代中,系数的零个数可以增加还是减少?

另外,我发现每次更新迭代时,lambda越大,零的数目就会增加,而lambda越小,零的数目就会减少。

  1. 对Lasso的总体评价是什么? 我以为也可以使用MSE。

最后,我上传了以下几张图片以供理解。

谢谢

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

假设您要使用模型X拟合y表示要素,f(X,w)表示标注的数据集,其中{{1} }是模型的参数。

LASSO将尝试最小化以下目标函数:

w

在此目标中,||y-f(X,w)||^2 + λ|w|_1 表示模型所有误差的平方和,||y-f(X,w)||^2表示|w|_1的所有分量的总和。因此,对于大型w,模型将非常努力地使λ具有许多零分量,因此整体w将很小。这就解释了为什么在lambda增加时零数目会增加。如果|w|_1较小,则目标的第一项将更为重要,因此该模型将专注于修复错误。

选择合适的λ值通常需要尝试不同的可能性,并在与训练集(称为验证集)不同的数据集上构建不同的模型。有关此的更多信息,应查找“交叉验证”和“模型选择”。