在套索更新时,我检查了MSE和非零条目的数量。
但是,在每次迭代中,MSE都会增加,并且系数的零个数会根据lambda波动。
所以,我的问题是:
在每次更新时,为什么MSE会增加?
在每次更新迭代中,系数的零个数可以增加还是减少?
另外,我发现每次更新迭代时,lambda越大,零的数目就会增加,而lambda越小,零的数目就会减少。
最后,我上传了以下几张图片以供理解。
谢谢
答案 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
较小,则目标的第一项将更为重要,因此该模型将专注于修复错误。
选择合适的λ
值通常需要尝试不同的可能性,并在与训练集(称为验证集)不同的数据集上构建不同的模型。有关此的更多信息,应查找“交叉验证”和“模型选择”。