【机器学习】正则化到底是什么?

先说结论:机器学习中的正则化主要解决模型过拟合问题。

如果模型出现了过拟合,一般会从两个方面去改善,一方面是训练数据,比如说增加训练数据量,另一方面则是从模型角度入手,比如,降低模型复杂度。

但无论是增加数据量还是降低模型复杂度,都是不容易做到的,这时正则化就是一个唾手可得选择,只要在损失函数中加入正则化项,往往就能得到一个不错的效果提升。

什么是过拟合?

如果模型在训练集上效果好,但在测试集上效果差,这时我们就怀疑模型出现了过拟合。

最左边的是欠拟合,模型过于简单,只能拟合简单的线性关系。

中间的代表刚好拟合,其拟合的是一个2次多项式:

最右边的图就是过拟合的例子,模型过于复杂,也就是说模型考虑的太多了,模型可能使用了与分类无关的特征,或者模型试图去拟合关于特征的M次多项式,最终导致过拟合。

什么是正则化?

以线性回归为例,正常情况下,损失函数是这个样子的:

加入正则化项后:

如果q等于1称为L1正则化,q等于2称为L2正则化。

为什么正则化能防止过拟合?

前面我们说过,降低模型复杂度可以防止过拟合,正则化本质上就是在降低模型复杂度,正则化项其实就是对损失函数达到最小值的最优解w进行了限制。

在SVM的推理过程中,我们接触了带约束的最优化问题,并且知道可以通过拉格朗日乘子法以及对偶问题将带等式约束以及不等式约束优化问题转换成不带约束的优化问题。 所以对于公式(2),可以等价为:

上面的公式可视化为:

上图,蓝色的圆是原始损失函数(1)的等高线,其中心点是最优解,棕色的代表正则化项,有了正则化项约束后,最优解只能在棕色的圆或者正方形内寻找,所以最优解只能是等高线与圆的切点或者与正方形顶点的交点。

那为什么与正则化项相交点的参数能防止过拟合呢?

先来看L1正则化,最优解w一定是在坐标轴上,也就是说w的某些维度一定是0,这就起到了参数稀疏化的作用。

(在神经网络中的Dropout机制不也是一种正则化思想嘛!)

既然参数的某些元素为0,那么就可能把模型拟合的M次多项式高次项或者组合项去掉转换为2次多项式了。

而L2正则化虽然没有使W中的某些元素为0,但却使w的每个元素都很小,也就是限制了某些高次项或者复杂组合项的作用。 所以无论是哪种正则化,都是在约束模型的复杂度。

相关推荐
一点一木2 小时前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
Lee川3 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
weelinking3 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
Agent产品评测局3 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
研华科技Advantech4 小时前
如何用一套实训设备,打通工业AI预测性维护技术全流程?
人工智能
Lab_AI4 小时前
AI for Science: MaXFlow AI Agent+ 报告体验双升级,让AI智能体更高效易用!
人工智能·ai for science·ai agent·ai智能体
李坤4 小时前
让 Codex 和 Claude 互相 Review:告别手动复制
人工智能·openai·claude
南屹川5 小时前
【API设计】GraphQL实战:从REST到GraphQL的演进
人工智能
KJ_BioMed5 小时前
当计算生物学遇上生成式AI:从头设计生物分子的“新范式”初探
人工智能·从头设计·生命科学·生物医药·科研干货·科晶生物
明月醉窗台5 小时前
深度学习(17)YOLO训练中的超参数详解
人工智能·深度学习·yolo