线性回归的正则化:岭回归与Lasso回归的原理与优化
我将详细讲解线性回归中两种经典的正则化方法——岭回归和Lasso回归,重点说明它们如何解决过拟合问题以及优化过程。
题目描述
在线性回归中,当特征数量较多或特征间存在多重共线性时,普通最小二乘法容易产生过拟合和系数估计不稳定的问题。岭回归和Lasso回归通过引入正则化项来约束模型参数,提高模型的泛化能力。
解题过程详解
第一步:问题背景与普通线性回归的局限性
普通线性回归的损失函数为:
J(β) = ||y - Xβ||²₂
其中y是目标变量,X是特征矩阵,β是系数向量。最小二乘解为:
β̂ = (XᵀX)⁻¹Xᵀy
当XᵀX接近奇异矩阵时(特征共线性或特征数大于样本数),求逆会变得数值不稳定,导致系数估计方差很大。
第二步:岭回归(Ridge Regression)的原理
岭回归在损失函数中加入L2正则化项:
J(β) = ||y - Xβ||²₂ + λ||β||²₂
其中:
- λ ≥ 0 是正则化参数,控制惩罚强度
- ||β||²₂ = Σβⱼ² 是系数向量的L2范数平方
几何解释:岭回归在系数空间中对系数大小进行约束,相当于在球形区域内寻找最优解。
第三步:岭回归的解析解
对岭回归损失函数求导并令导数为零:
∂J(β)/∂β = -2Xᵀ(y - Xβ) + 2λβ = 0
整理得到:
(XᵀX + λI)β = Xᵀy
因此岭回归的解析解为:
β̂_ridge = (XᵀX + λI)⁻¹Xᵀy
关键性质:
- 加入λI确保矩阵总是可逆的
- 当λ→∞时,所有系数趋向于0
- 当λ→0时,解趋近普通最小二乘解
第四步:Lasso回归的原理
Lasso回归使用L1正则化项:
J(β) = ||y - Xβ||²₂ + λ||β||₁
其中||β||₁ = Σ|βⱼ|是系数向量的L1范数。
几何解释:Lasso在菱形区域内寻找最优解,由于菱形的尖角特性,容易产生稀疏解。
第五步:Lasso回归的求解方法
Lasso没有封闭形式的解析解,常用优化算法包括:
坐标下降法:
对每个系数βⱼ依次优化,保持其他系数固定:
βⱼ = S(Σxᵢⱼ(yᵢ - ŷᵢ⁽⁻ʲ⁾), λ) / Σxᵢⱼ²
其中S(z, λ)是软阈值函数:
S(z, λ) = sign(z)(|z| - λ)₊
近端梯度下降:
β⁽ᵏ⁺¹⁾ = S(β⁽ᵏ⁾ - t∇f(β⁽ᵏ⁾), tλ)
其中t是步长,∇f是平方损失函数的梯度。
第六步:两种方法的比较与选择
系数路径分析:
- 岭回归:系数随λ增加平滑收缩到0
- Lasso:某些系数在λ较小时就精确为0
适用场景:
- 岭回归:特征较多且都可能有贡献,需要稳定性
- Lasso:特征选择,当只有部分特征重要时
第七步:正则化参数λ的选择
常用交叉验证选择最优λ:
- 将数据分为训练集和验证集
- 在训练集上对不同λ值训练模型
- 在验证集上评估性能
- 选择在验证集上表现最好的λ
第八步:实际应用中的注意事项
- 特征标准化:正则化对系数大小敏感,需要先对特征标准化
- λ的范围:通常在对数尺度上搜索,如[10⁻⁴, 10⁴]
- 弹性网络:结合L1和L2正则化,平衡两种方法的优点
这个完整的讲解涵盖了从问题背景到具体实现的关键步骤,帮助你理解正则化在线性回归中的应用价值和实现细节。