基础← 返回知识库
正则化
在损失函数后面加一项惩罚,让权重不能太大——相当于"答案越长扣分越多",迫使模型只保留真正有用的规律,防止过拟合。
核心公式
📖 符号说明
| 符号 | 含义 | 说明 | 取值范围 |
|---|---|---|---|
| 原始损失 | 预测值与标签的差距 | [0, +∞) | |
| 惩罚力度 | 控制正则化强度的超参数 | (0, +∞) | |
| 权重平方和 | 所有权重的平方之和,衡量模型复杂度 | [0, +∞) |
前置知识
直觉理解
考试有一条新规则:答案越长扣分越多。这逼你只写核心要点,不堆无关细节。
正则化做的就是这件事:在损失函数后面加一项"惩罚",让模型的权重不能太大。权重大意味着模型在"用力记住"某些细节——正则化让这种行为付出代价。
数学表达
在原始损失后面加上权重的平方和:
Lnew=L+λ∑w2- L:原来的损失(预测和标签的差距)
- ∑w2:所有权重的平方和(衡量"答案有多长")
- λ:惩罚力度(λ 越大,越不允许"长答案")
为什么有效
模型如果想让某个权重变得很大(相当于写了一段很长的答案来"记住"某条数据),就会被惩罚分拖累。模型被迫让权重保持较小——只保留真正有用的规律,放弃死记硬背的部分。
λ 的选择是一个平衡:太小没效果,太大模型又学不到东西(欠拟合)。
代码中的实现
PyTorch 中只需一个参数:optimizer = SGD(params, lr=0.01, weight_decay=0.01)。weight_decay 就是公式中的 λ。