sklearn Lasso在小alpha值下的系数异常行为探究
Lasso系数与OLS差异的原因解析
结论:这种现象完全是Lasso模型的预期行为,核心源于L1正则化的固有特性和数值优化限制
1. L1正则化的稀疏性偏好
Lasso的目标函数为:损失函数 + α * ||w||₁。只要α>0,哪怕取值极小(比如0.00001),L1惩罚项都会对系数施加稀疏性压力——它会主动将高度冗余的特征系数压缩至0。
- 多项式高次项(如X⁴及以上)和低次项(X、X²、X³)本身存在极强的线性相关性,属于冗余特征。Lasso会优先保留信息密度更高的低次项,直接将高次项系数压到0,这是L1正则化的核心设计目标,和α的大小无关,只是α越小,压缩的阈值越宽松,但稀疏性偏向始终存在。
- 而OLS没有正则化约束,会为所有特征分配系数,哪怕特征冗余,因此两者结果必然存在差异。
2. 数值优化的固有局限
即使调整了max_iter=1e6、tol=1e-16,Lasso的优化算法(默认坐标下降或LARS)在处理高度共线性特征时,也很难精确收敛到OLS的解:
- 共线性会导致目标函数出现“平坦区域”,优化器可能在接近OLS解之前就满足收敛条件,或者无法精准定位到OLS的系数值。
- 官方文档建议α=0时使用
LinearRegression,本质就是因为Lasso的优化器并非为无正则化场景设计,即使α极小,其数值稳定性也远不如OLS的直接求解方法(如QR分解)。
3. 额外建议
如果想验证“正则化强度趋近于0时回归系数趋近于OLS”的理论,建议改用Ridge回归(L2正则化):
- Ridge的L2惩罚不会产生稀疏性,当α→0时,系数会平滑趋近于OLS的结果,更符合你对“正则化强度归零等价于OLS”的预期。
- 只有当特征之间不存在强共线性时,Lasso在α→0时的系数才会逐渐接近OLS,但这种场景在多项式回归中几乎不存在。
内容的提问来源于stack exchange,提问作者Mateusz
相关产品推荐
相关产品推荐

