【漫话机器学习系列】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(数据科学家手绘笔记)


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

相关推荐
神经星星3 分钟前
一键部署丨DeepSeek-R1 新版本小幅升级便登顶开源王座,多项评测超越 Qwen3
人工智能·机器学习·编程语言
hao_wujing6 分钟前
在大型中实施访问控制 语言模型
人工智能·语言模型·自然语言处理
明明跟你说过6 分钟前
深入 RAG(检索增强生成)系统架构:如何构建一个能查资料的大语言模型系统
人工智能·语言模型·自然语言处理·embedding·rag
小于小于大橙子11 分钟前
强化学习的前世今生(五)— SAC算法
人工智能·算法·ai·自动驾驶·概率论·强化学习
东东生活33 分钟前
能源领域新兴技术论坛:EMQ 实时数据引擎构建工业智能中枢
人工智能·能源
kyle~39 分钟前
OpenCV---minAreaRect
人工智能·opencv·计算机视觉
敲键盘的小夜猫40 分钟前
LangChain整合Milvus向量数据库实战:数据新增与删除操作
人工智能·python·milvus
敲键盘的小夜猫40 分钟前
MMR搜索和LangChain整合Milvus实战
人工智能·机器学习
小叮当爱咖啡1 小时前
调用Gensim库训练Word2Vec模型
人工智能·自然语言处理·word2vec
无闻墨客1 小时前
数据可视化--使用matplotlib绘制高级图表
python·机器学习·信息可视化·matplotlib·可视化·数据可视化