机器学习-正则化技术

文章目录

拟合

过拟合:参数(特征)过多(理解为考虑很多因素)或者说过多专注于原来的训练数据,导致模型过于复杂

欠拟合:参数太少,太不专注于原来的训练数据,导致模型过于简单

随着模型复杂度增加(可以认为与训练数据的拟合程度)训练误差越来越小,泛化误差(就是与测试数据的误差)先小后大

复杂度的低中高分别对应 欠拟合 拟合 过拟合

正则化

正则化的方法通常是在损失函数中添加一个正则化项,这个正则化项会根据模型参数的大小来惩罚模型的复杂度

正则项

L1 和 L2 正则化之所以会导致不同的权重效果,主要是由于它们对权重施加的惩罚方式不同(就是让权重变化的方式)

L1 正则化(Lasso)

L1 正则化在损失函数中加入了权重绝对值的和作为惩罚项。这意味着它会惩罚较大的权重值,并且对于较小的权重值也会产生显著的影响。因为它是基于绝对值的惩罚,所以当优化过程试图最小化整个损失函数时,它倾向于将一些权重直接缩小到零。这是因为:

  • 对于非常小的权重 ( w ),L1 惩罚 ( |w| ) 与 ( w ) 成线性关系,即使 ( w ) 接近于0,其导数仍然是一个非零常数。
  • 这导致了优化算法在更新这些权重时有持续的压力使其进一步趋近于0,最终可能达到完全为0的情况。
  • 一旦某个权重被设为0,由于L1惩罚不再对其产生影响(因为0的绝对值还是0),该权重就保持不变,相当于从模型中移除了相应的特征。

L2 正则化(Ridge)

另一方面,L2 正则化在损失函数中加入了权重平方和的惩罚项。这会产生以下效果:

  • 对于任何非零权重 ( w ),L2 惩罚 ( w^2 ) 总是正的,并且随着 ( w ) 的增大而迅速增加。
  • 但是,对于接近零的 ( w ),( w^2 ) 增长得非常缓慢,因此L2惩罚对这些小权重的影响相对较小。
  • 在优化过程中,L2 惩罚会对所有非零权重施加一个趋向于减小但不为零的压力,使得它们都变得比较小,但通常不会变成零。

简而言之,L1 正则化通过绝对值惩罚鼓励稀疏解(即许多权重为0),而L2 正则化通过平方惩罚鼓励所有权重的小值分布,而不是让它们变为零。这种差异来源于两者数学形式的不同以及它们如何影响梯度下降等优化算法的行为。

多元线性回归的正则化回归形式

代码

https://github.com/FULLK/AI_Study/blob/main/机器学习-正则化技术/20newsgroups_logistic_regressuib.py

相关推荐
学编程就要猛5 小时前
RAG(Retrieval Augmented Generation)
人工智能·spring ai
冬奇Lab6 小时前
一天一个开源项目(第259篇):Modern Web Guidance —— Chrome 团队给 AI 编码 Agent 的「现代 Web 最佳实践」外挂
人工智能·开源
飞哥数智坊7 小时前
打造自己的 Personal Agent,从抄大肥鱼作业开始
人工智能·deepseek
对你无可奈何8 小时前
Magpie 实战:把 WorkBuddy、Qoder 的订阅模型接进一个本地池子
人工智能
Csvn8 小时前
每请求到底多少钱?把 Token 成本算成可观测指标(C01)
人工智能·aigc·agent
吴名氏.8 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
老金带你玩AI9 小时前
惊人的一致性!Seedream 5.5实测!
人工智能
数据技术说10 小时前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
jay神10 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计