正则化方法:L1/L2如何防止过拟合

admin 2026-04-30 05:48:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档系统解析了正则化方法L1/L2防止过拟合的机制。L2正则化通过权重衰减使参数温和缩小,增强泛化能力;L1正则化利用几何特性产生稀疏解,实现特征选择。文章对比了二者的适用场景,并指出在深度学习中权重衰减、Dropout等技术本质是正则化的体现。核心结论是适当的约束能提升模型泛化性能,建议根据特征稀疏性选择L1或L2。 综合评分: 85 文章分类: 技术标准,解决方案,AI安全,安全开发,其他


cover_image

正则化方法:L1/L2 如何防止过拟合

原创

代码小铺 代码小铺

代码小铺

2026年4月29日 12:04 湖北

在小说阅读器读本章

去阅读

为什么给模型”加点约束”,反而能让它表现得更好?

引言

想象一下这样的场景:一位学生为了期末考试,把历年考题和答案背得滚瓜烂熟。考试那天,题目和往年几乎一样,他拿了满分。但第二年换了新题型,他却傻眼了——因为背的东西完全不适用了。

这就是过拟合(Overfitting)最生动的写照。

在机器学习中,过拟合指的是模型对训练数据”记得太清楚”,以至于捕捉到了数据中的噪声和偶然模式,反而丧失了泛化能力。就像一个死记硬背的学生,训练集上表现完美,遇到新数据却一败涂地。

怎么解决这个问题?数学家们给出了一个优雅的答案:正则化(Regularization)。

核心概念:给模型戴上”紧箍咒”

正则化的核心思想其实很简单——在训练模型时,额外施加一个”惩罚”,限制模型参数不要变得太大

为什么参数变大就有问题?直觉上,当模型参数非常大时,模型会对训练数据中的微小波动极其敏感,就像用高倍显微镜观察世界,看到了太多不该看到的细节。

正则化通过在损失函数中添加一个额外的”惩罚项”,迫使模型在拟合数据和保持简单之间找到平衡。这就像给模型戴上紧箍咒——它不能为所欲为,但也正因为有了约束,反而学得更扎实。

标准损失函数可以写成:

其中 L 是损失函数, 是模型预测, 是真实标签。

加入正则化后,损失函数变为:

这里的关键是 这个正则化项,以及控制惩罚力度的超参数 。不同的 选择,就是我们熟知的 L1 和 L2 正则化。

L2 正则化(Ridge):让参数温和地变小

L2 正则化也被称为 岭回归(Ridge Regression),它的惩罚项是所有权重的平方和:

加入 L2 正则化后,完整的损失函数是:

L2 正则化有什么效果?我们来看梯度下降时的参数更新:

注意这个 项——每次更新时,参数都会被按比例缩小一点点。这就是所谓的权重衰减(Weight Decay)。

用一个形象的比喻:L2 正则化像是在参数空间里放了一个弹簧,把所有参数都往零的方向拉。但它不会把参数完全拉到零,只是让它们”温和地变小”。

关键性质:L2 正则化会让所有权重趋于较小的值,但不会让它们变成精确的零。

L1 正则化(Lasso):真正的特征选择器

L1 正则化的惩罚项是权重的绝对值之和:

完整损失函数为:

L1 最神奇的地方在于:它能让很多权重精确地变成零

为什么?从几何角度看,L2 正则化的约束区域是一个圆(或高维球体),而 L1 正则化的约束区域是一个菱形(或高维多面体)。在高维空间中,菱形的”尖角”恰好落在坐标轴上,这意味着最优解很可能出现在某个坐标轴上——也就是某个参数精确为零。

这意味着 L1 正则化天然具有特征选择的能力。它会把不重要的特征对应的权重直接清零,自动帮你筛选出真正有用的特征。

L1 vs L2:什么时候用哪个?

| 特性 | L1 (Lasso) | L2 (Ridge) | | — | — | — | | 惩罚项 | | | | 特征选择 | ✅ 能产生精确的零 | ❌ 只会缩小,不会归零 | | 对异常值 | 更鲁棒 | 较敏感 | | 计算效率 | 次梯度法稍慢 | 有解析解,计算更快 | | 适用场景 | 高维稀疏数据 | 大多数情况通用 |

一个实用的建议:如果你怀疑只有少数特征真正重要,用 L1;如果你觉得所有特征都有贡献,用 L2

当然,你还可以把两者结合起来——这就是 弹性网络(Elastic Net):

它同时享受 L1 的特征选择和 L2 的稳定性。

实际应用:正则化在深度学习中的身影

正则化不仅仅是经典机器学习的专利,在现代深度学习中同样无处不在:

Dropout 可以理解为一种隐式的 L2 正则化。每次训练时随机”关闭”一部分神经元,相当于迫使网络不依赖特定的神经元组合,从而降低过拟合风险。

权重衰减(Weight Decay)直接就是 L2 正则化。在 PyTorch 中,你只需要在优化器中设置 weight_decay 参数:

这就是为什么 AdamW 优化器比 Adam 更受欢迎——它正确地实现了权重衰减。

实际案例:在一个房价预测模型中,有 100 个特征(面积、房龄、学区、距地铁站距离……)。使用 L1 正则化后,模型自动将其中 60 个特征的权重归零,只剩下真正影响房价的关键特征。不仅预测更准确,模型也更容易解释。

总结

正则化的精髓可以用一句话概括:约束即是自由

L2 正则化像一个温和的老师,让所有参数都保持谦逊,避免任何参数过度膨胀。L1 正则化则像一个严格的面试官,直接淘汰不重要的特征。

下次当你的模型在训练集上”表现太好”时,别急着高兴——它可能正在过拟合。加上一个正则化项,给你的模型一点约束,它反而会走得更远。

数学的优雅之处,往往就在于:最强大的工具,常常是最简单的那个。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:代码小铺 代码小铺 代码小铺《正则化方法:L1/L2 如何防止过拟合》

咋骂人呢 网络安全文章

咋骂人呢

文章总结: 该文档内容来源于小说阅读器的无关抓取片段,仅包含零星的口语化对话文本、时间地点信息以及阅读跳转引导,整体无任何实质性内容、技术价值或可分析的信息要点
评论:0   参与:  0