岭回归(Ridge Regression)辨析

关键词:L2 正则、病态矩阵、偏差--方差权衡、共线性、凸优化、闭式解


1. 从最小二乘谈起

普通最小二乘(OLS)目标:
β^OLS=arg⁡min⁡β∥y−Xβ∥22 \hat{\beta}{\text{OLS}} = \arg\min{\beta} \|\mathbf{y} - \mathbf{X}\beta\|_2^2 β^OLS=argβmin∥y−Xβ∥22

当设计矩阵 XTX\mathbf{X}^T\mathbf{X}XTX 接近奇异(共线性、高维小样本)时,解的方差爆炸,预测不稳定。岭回归在损失函数里加上 L2 惩罚,把奇异矩阵"拽"回正定。


2. 目标函数:带 L2 正则的二次规划

岭回归目标:
J(β)=∥y−Xβ∥22⏟数据拟合+λ∥β∥22⏟L2 惩罚,λ≥0 J(\beta) = \underbrace{\|\mathbf{y} - \mathbf{X}\beta\|2^2}{\text{数据拟合}} + \underbrace{\lambda \|\beta\|2^2}{\text{L2 惩罚}}, \quad \lambda \geq 0 J(β)=数据拟合 ∥y−Xβ∥22+L2 惩罚 λ∥β∥22,λ≥0

  • λ\lambdaλ:调谐参数,越大 → 参数压缩越狠,方差↓偏差↑
  • 惩罚项不含截距(通常中心化处理,可证截距不收缩)

3. 闭式解:一步到位的"岭估计量"

令 Aλ=XTX+λIp\mathbf{A}_\lambda = \mathbf{X}^T\mathbf{X} + \lambda \mathbf{I}pAλ=XTX+λIp,则
β^ridge=(XTX+λIp)−1XTy \hat{\beta}
{\text{ridge}} = (\mathbf{X}^T\mathbf{X} + \lambda \mathbf{I}_p)^{-1} \mathbf{X}^T\mathbf{y} β^ridge=(XTX+λIp)−1XTy

对比 OLS:β^OLS=(XTX)−1XTy\hat{\beta}_{\text{OLS}} = (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T\mathbf{y}β^OLS=(XTX)−1XTy

  • 加上 λI\lambda \mathbf{I}λI 保证严格正定,逆矩阵永远存在 → 数值稳定
  • 特征值视角:eig(XTX)→eig(XTX)+λ\text{eig}(\mathbf{X}^T\mathbf{X}) \to \text{eig}(\mathbf{X}^T\mathbf{X}) + \lambdaeig(XTX)→eig(XTX)+λ,小特征值被"抬"离零

4. 偏差--方差权衡图示

情形 偏差 方差 总误差
λ=0\lambda = 0λ=0(OLS) 极高
λ↑\lambda \uparrowλ↑ ↓↓ 先↓后↑
λ→∞\lambda \to \inftyλ→∞ 极高(≈0) 0

最优 λ\lambdaλ 存在于偏差--方差曲线最低点,需借助交叉验证选取。


5. 贝叶斯视角:高斯先验 = L2 惩罚

假设参数先验 β∼N(0,σ2/λI)\beta \sim \mathcal{N}(0, \sigma^2/\lambda \mathbf{I})β∼N(0,σ2/λI),则后验众数恰好是岭解。

岭回归 ≈ 最大后验估计 (MAP) ,λ\lambdaλ 反映先验置信度。


6. 岭回归 vs. L2 正则化:说法不同,本质相同

维度 岭回归 (Ridge Regression) L2 正则化 (L2 Regularization)
语境 统计学习、计量经济 机器学习、优化社区
强调 一个具体模型:闭式解、推断、贝叶斯解释 一种通用技术 :在任意损失上添加 λ∣w∣2\lambda|\mathbf{w}|^2λ∣w∣2
数学形式 最小二乘 + λ∣β∣2\lambda|\beta|^2λ∣β∣2 任意损失 + λ∣w∣2\lambda|\mathbf{w}|^2λ∣w∣2
解的存在 永远有闭式解 可能需数值迭代(如深度学习)
可解释性 收缩路径可解析推导 通常作为黑盒惩罚项

一句话总结:
L2 正则化是"思想",岭回归是"思想 + 闭式解 + 统计推断"的完整模型。


7. 与 Lasso、Elastic Net 的关系

方法 惩罚形式 特性 解路径
Ridge λ∣β∣22\lambda |\beta|_2^2λ∣β∣22 连续收缩,不稀疏 闭式
Lasso λ∣β∣1\lambda |\beta|_1λ∣β∣1 自动特征选择 分段线性
Elastic Net λ1∣β∣1+λ2∣β∣22\lambda_1 |\beta|_1 + \lambda_2 |\beta|_2^2λ1∣β∣1+λ2∣β∣22 兼具稀疏与分组效应 数值

8. 快速代码:NumPy 一行实现

python 复制代码
import numpy as np

def ridge_closed_form(X, y, lam=1.0, fit_intercept=True):
    if fit_intercept:
        X = np.column_stack([np.ones(X.shape[0]), X])
    A = X.T @ X + lam * np.eye(X.shape[1])
    beta = np.linalg.solve(A, X.T @ y)   # 比inv更稳定
    return beta

9. 小结一句话

岭回归 = 最小二乘 + L2 约束,用可控的"偏差"换取巨大的"方差"下降,是高维、共线性场景下最稳健、最可解释的线性模型之一。

相关推荐
山海青风4 小时前
人工智能基础与应用 - 数据处理、建模与预测流程 7 基础模型之回归模型
人工智能·数据挖掘·回归
6666v66 小时前
Android Kotlin(3) Flow异步流
android·kotlin
智算菩萨8 小时前
【Python机器学习】回归模型评估指标深度解析:MAE、MSE、RMSE与R²的理论与实践
python·机器学习·回归
QING61810 小时前
Kotlin Flow 中 flatMap 与 flatMapLatest 的核心差异 —— 新手指南
android·kotlin·android jetpack
HeDongDong-12 小时前
Kotlin Lambda 表达式详解
android·开发语言·kotlin
aqi001 天前
FFmpeg开发笔记(九十六)采用Kotlin+Compose的视频编辑器OpenVideoEditor
android·ffmpeg·kotlin·音视频·流媒体
Lei活在当下2 天前
【日常知识积累】Kotlin let 函数、inline 函数以及 DSL
android·kotlin·编程语言
橙子199110162 天前
Scaffold
android·kotlin·android jetpack
程序员老刘3 天前
Kotlin vs Dart:当“优雅”变成心智负担,我选择了更简单的 Dart
flutter·kotlin·dart