【漫话机器学习系列】245.权重衰减(Weight Decay)

权重衰减(Weight Decay)详解 | L2正则化的奥秘

在深度学习和机器学习模型训练中,我们常常面临 过拟合(Overfitting) 的问题。

为了提高模型在未见数据上的泛化能力,正则化(Regularization) 技术应运而生。

其中,最常用的一种正则化方法就是------权重衰减(Weight Decay)

本文将围绕权重衰减的概念、公式推导、作用机制以及应用场景进行详细讲解。


什么是权重衰减(Weight Decay)?

权重衰减 ,又叫作 L2正则化 ,本质上是在原始损失函数(Loss)中,添加一项关于模型参数(权重)大小的惩罚项

简单来说,除了最小化预测误差之外,还希望模型的参数(即权重)本身不要太大。

这样做的目的,是避免模型过度依赖某些特征,提升模型的稳定性和泛化能力。


权重衰减的数学表达式

权重衰减的基本公式如下(也可以参考下方插图展示的内容):

其中:

  • :原始损失函数(如均方误差、交叉熵损失等)

  • w:模型的权重向量

  • :权重向量的L2范数的平方

  • λ:正则化系数,控制惩罚项的强度(通常是一个很小的数,例如 0.001)

简要解释:

  • 第一项是模型原本需要最小化的损失。

  • 第二项是惩罚项,防止权重过大。

  • 两项之和成为新的目标损失。

从直观上理解:

权重衰减会在优化过程中不断"拉回"权重,防止它们无限制地增大,从而控制模型复杂度。


图示解读

来看这张非常直观的手绘图示:

  • 大标题:权重衰减(Weight Decay)

  • 中间公式:

  • 解释:

    • 左侧蓝色部分是原本的损失函数。

    • 右侧红色部分是新增的L2正则化惩罚项。

    • 中间绿色箭头和橙色标注,明确指出了两部分各自的含义。

此外,图中也提到:"在回归中,L2正则化惩罚项的使用称为岭回归(Ridge Regression) "。

这强调了权重衰减在传统统计学习中的经典应用。


权重衰减的作用

权重衰减具有以下几大主要作用:

  • 防止过拟合

    减小权重,降低模型复杂度,使模型更好地在测试集上泛化。

  • 提高数值稳定性

    权重值过大容易导致梯度爆炸,权重衰减可以有效缓解这种情况。

  • 提升训练速度

    较小的权重可以让梯度下降法更快收敛。

  • 提高模型鲁棒性

    权重较小的模型通常对输入噪声更加不敏感,表现更稳健。


权重衰减与其他正则化的区别

项目 权重衰减(L2正则化) L1正则化
惩罚项形式
权重效果 让权重接近0但不为0 让权重稀疏(部分变为0)
应用场景 防止过拟合,控制模型复杂度 特征选择,提升模型可解释性

简而言之:

  • 想让参数都尽量小:用L2正则化(权重衰减)

  • 想让部分参数直接归零:用L1正则化


如何在常见框架中使用权重衰减?

在现代深度学习框架中,设置权重衰减非常简单。

比如在 PyTorch 中,只需要在优化器中设置 weight_decay 参数:

python 复制代码
import torch.optim as optim

optimizer = optim.SGD(model.parameters(), lr=0.01, weight_decay=1e-4)

在 TensorFlow/Keras 中,也可以通过添加 L2正则化器(tf.keras.regularizers.l2)来实现。


总结

项目 内容
定义 在损失函数中增加权重平方惩罚项
目的 防止过拟合,提高泛化能力
数学表达式
常见应用 深度学习模型训练、岭回归

权重衰减是一个简单但非常有效的正则化方法,尤其适合用来改善深度学习模型的训练效果。

掌握权重衰减的原理和使用方法,是迈向深入理解机器学习优化技术的重要一步!


参考资料

  • Deep Learning by Ian Goodfellow

  • 李航《统计学习方法》

  • Chris Albon(数据科学家手绘笔记)


如果你喜欢这类直观易懂的机器学习内容,欢迎点赞、收藏、关注我!

相关推荐
企销客CRM28 分钟前
CRM管理系统的用户权限设置与管理技巧:构建安全高效的数字化运营体系
大数据·数据库·人工智能·数据分析·企业微信
ClouGence39 分钟前
RAG 升级之路:如何让问答机器人真正“智能”起来
人工智能·ai·机器人
综合热讯1 小时前
爱高集团引领转型浪潮:AI与区块链驱动香港科技资本新机遇
人工智能·科技·区块链
Mindtechnist1 小时前
等等等等等等
机器学习
熊猫_luoul1 小时前
空间数据挖掘 期末复习
数据库·人工智能·数据挖掘
哲讯智能科技1 小时前
无锡哲讯科技:助力纺织业搭乘 SAP 数字化快车
大数据·人工智能
陈壮实的搬砖生活1 小时前
激活函数为何能增强神经网络的非线性表达能力?
人工智能·深度学习·神经网络·激活函数
prinTao1 小时前
【代码解析】opencv 安卓 SDK sample - 1 - HDR image
android·人工智能·opencv
Chef_Chen1 小时前
从0开始学计算机视觉--Day1--计算机视觉的起源
人工智能·计算机视觉
许泽宇的技术分享1 小时前
终端里的AI黑魔法:OpenCode深度体验与架构揭秘
人工智能·aicode