免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

【机器学习】线性回归 Ridge 回归 Lasso 回归

【机器学习】线性回归 Ridge 回归 Lasso 回归 一、符号说明符号含义$ n $样本数量$ p $特征数量$ X $$ n \times p $ 的特征矩阵$ y $$ n \times 1 $ 的目标向量$ \beta $$ p \times 1 $ 的系数向量$ \beta_j $第 $ j $ 个特征的系数$ \lambda $正则化强度超参数≥0$ |\beta|_2^2 $L2 范数平方$ \sum_{j1}^p \beta_j^2 $$ |\beta|_1 $L1 范数$ \sum_{j1}^p二、线性回归Linear Regression1. 模型假设最早数学家发明线性回归想法很纯粹“我用所有特征最小化误差平方和找到最优系数。”它确实完美解决了“拟合”问题yXβϵ y X\beta \epsilonyXβϵ2. 损失函数最小二乘法OLSL(β)∑i1n(yi−Xiβ)2∥y−Xβ∥22 L(\beta) \sum_{i1}^{n} (y_i - X_i\beta)^2 \|y - X\beta\|_2^2L(β)i1∑n​(yi​−Xi​β)2∥y−Xβ∥22​为什么不直接用“最短距离”模型预设了“x 无误差y 有误差”的因果关系。线性回归的基本假设是特征 x 是准确测量的、没有误差的只有目标值 y*y* 带有随机误差噪声。因此我们的任务是给定一个 x预测最可能的 y 是多少。所以误差自然应该是“预测的 y 和真实的 y 在纵向上的差距”而不是几何上的最短距离——因为几何距离会把 x 的误差也算进去但我们的假设里 x 没有误差。3. 求解闭式解对 $ \beta $ 求导并令为 0∂L∂β−2XT(y−Xβ)0 \frac{\partial L}{\partial \beta} -2X^T(y - X\beta) 0∂β∂L​−2XT(y−Xβ)0β^(XTX)−1XTy \boxed{\hat{\beta} (X^T X)^{-1} X^T y}β^​(XTX)−1XTy​前提条件$ X^T X $ 可逆即特征之间不存在完全共线性。4. 特点无偏估计模型假设正确时最小化训练集上的 MSE对多重共线性敏感方差大所有系数非零不做特征选择5 致命缺点致命弱点 1它太“玻璃心”——对特征相关性极度敏感多重共线性如果两个特征高度相关比如“房子面积”和“房间数量”线性回归会犯难到底把权重给谁结果就是系数变得极大且正负抵消比如面积系数 10000房间数系数 -9999模型极其不稳定。只要数据稍微变一点系数就剧烈震荡。致命弱点 2它太“贪心”——永远不舍弃任何特征即便你有 10000 个特征其中 9900 个是噪音线性回归也会强行给每个特征分配一个非零系数。结果就是模型极其复杂、过拟合严重放在新数据上一塌糊涂。致命弱点 3它太“脆弱”——特征一多就失效矩阵不可逆当特征数ppp大于样本数nnn时XTX^TXT不可逆连数学公式都算不出来直接“崩溃”。于是统计学家们想我能不能在“追求准确”的同时给模型加一点“规矩”让它稳定一点、精简一点于是Ridge 和 Lasso 应运而生。三、Ridge 回归岭回归1. 模型假设与线性回归相同但增加约束。目的牺牲一点点训练集的准确换来模型的极度稳定。你给模型加一条死规矩“所有系数的平方和不能太大”L2 惩罚。这样一来即便两个特征相关模型也不必把系数搞得极大正负抵消而是大家平摊权重皆大欢喜。同时因为加了λIλIλI矩阵XTXλIX^TX λIXTXλI远可逆特征再多也能算。Ridge 的哲学我承认所有特征都有用但你们谁都别太出格整体温和一点。2. 损失函数L2 正则化L(β)∥y−Xβ∥22λ∥β∥22 L(\beta) \|y - X\beta\|_2^2 \lambda \|\beta\|_2^2L(β)∥y−Xβ∥22​λ∥β∥22​等价形式约束优化min⁡β∥y−Xβ∥22s.t.∥β∥22≤t \min_{\beta} \|y - X\beta\|_2^2 \quad \text{s.t.} \quad \|\beta\|_2^2 \le tβmin​∥y−Xβ∥22​s.t.∥β∥22​≤t3. 求解闭式解求导∂L∂β−2XT(y−Xβ)2λβ0 \frac{\partial L}{\partial \beta} -2X^T(y - X\beta) 2\lambda \beta 0∂β∂L​−2XT(y−Xβ)2λβ0β^(XTXλI)−1XTy \boxed{\hat{\beta} (X^T X \lambda I)^{-1} X^T y}β^​(XTXλI)−1XTy​关键加了 $ \lambda I $ 后即使 $ X^T X $ 奇异矩阵依然可逆数值稳定性大大提高。4. 特点系数被压缩Shrinkage向 0但严格不等于 0在多重共线性下表现稳定保留所有特征适合特征数量多、且都可能有用的场景相当于在目标函数中加入了“系数平方和尽量小”的偏好四、Lasso 回归套索回归1. 模型假设与线性回归相同但增加 L1 约束。目的牺牲一点点准确换来自动特征选择和模型简洁。你给模型加另一条死规矩“所有系数的绝对值之和不能太大”L1 惩罚。这条规矩的奇妙之处在于它强迫一些不重要的特征系数直接变为 0。结果就是模型自动帮你挑出了“核心特征”其余的直接丢弃。模型变得简单、可解释性强。Lasso 的哲学我怀疑大部分特征都是噪音只保留真正关键的少数派。2. 损失函数L1 正则化L(β)∥y−Xβ∥22λ∥β∥1 L(\beta) \|y - X\beta\|_2^2 \lambda \|\beta\|_1L(β)∥y−Xβ∥22​λ∥β∥1​等价形式约束优化min⁡β∥y−Xβ∥22s.t.∥β∥1≤t \min_{\beta} \|y - X\beta\|_2^2 \quad \text{s.t.} \quad \|\beta\|_1 \le tβmin​∥y−Xβ∥22​s.t.∥β∥1​≤t3. 求解无闭式解迭代法常用算法坐标下降法Coordinate Descent逐个更新每个系数其他固定最小角回归LARS一种高效的路径算法Lasso 的系数更新公式坐标下降单变量形式βjS(XjT(y−X−jβ−j),λ)XjTXj \beta_j \frac{S(X_j^T (y - X_{-j}\beta_{-j}), \lambda)}{X_j^T X_j}βj​XjT​Xj​S(XjT​(y−X−j​β−j​),λ)​其中 $ S(z, \lambda) \text{sign}(z) \cdot \max(|z| - \lambda, 0) $ 是软阈值函数。4. 特点产生稀疏解大量系数为 0自动做特征选择适合特征极多$ p \gg n $、且怀疑很多特征无用的场景当特征高度相关时Lasso 会随机选其中一个不如 Ridge 稳定模型更简洁、更可解释五、三者对比总表对比维度线性回归RidgeLasso正则化项无L2: $ \lambda |\beta|_2^2 $L1: $ \lambda |\beta|_1 $损失函数$ |y-X\beta|^2 $$ |y-X\beta|^2 \lambda |\beta|_2^2 $$ |y-X\beta|^2 \lambda |\beta|_1 $闭式解✅ 有✅ 有❌ 无系数结果非零可能很大非零被压缩部分为 0稀疏特征选择❌ 否❌ 否✅ 是处理共线性差方差大好稳定一般随机选一个偏差-方差低偏差高方差较高偏差较低方差较高偏差较低方差适用场景特征少、独立特征多、共线性高特征极多、需稀疏六、超参数 $ \lambda $ 的选择统一方法交叉验证Cross-Validation将训练集分成 K 折如 5 折或 10 折对每个候选 $ \lambda $用 K-1 折训练在剩余 1 折上验证选择验证误差最小的 $ \lambda $常用实现RidgeCVsklearnLassoCVsklearn扩展Elastic Net弹性网结合 Ridge 和 Lasso 的优点L(β)∥y−Xβ∥22λ1∥β∥1λ2∥β∥22 L(\beta) \|y - X\beta\|_2^2 \lambda_1 \|\beta\|_1 \lambda_2 \|\beta\|_2^2L(β)∥y−Xβ∥22​λ1​∥β∥1​λ2​∥β∥22​或等价形式L(β)∥y−Xβ∥22λ(α∥β∥1(1−α)∥β∥22) L(\beta) \|y - X\beta\|_2^2 \lambda \left( \alpha \|\beta\|_1 (1-\alpha) \|\beta\|_2^2 \right)L(β)∥y−Xβ∥22​λ(α∥β∥1​(1−α)∥β∥22​)其中 $ \alpha \in [0,1] $$ \alpha 0 $ → Ridge$ \alpha 1 $ → Lasso
返回列表