当前位置: 首页 > news >正文

【机器学习2】正则化regularizaiton(降低模型过拟合)

1 正则化定义

正则化是指通过对模型添加一个惩罚项,降低模型的复杂度,以此解决模型的过拟合问题。

2 常见的正则化方法

2.1 L1正则化(Lasso回归)

L1范式:所有参数的绝对值之和。
a r g m i n ∑ i = 1 N ( y t r u e − ( b + w i x i ) ) + λ ∑ i = 1 N ∣ w i ∣ argmin \sum_{i=1}^N (y_{true}-(b+w_ix_i))+ \lambda \sum_{i=1}^N |w_i| argmini=1N(ytrue(b+wixi))+λi=1Nwi
优化过程中,模型不仅要最小化预测值与真实之间的距离,还要最小化所有参数之间的和.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 L2正则化(Ridge回归)

L2范式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
L2 正则化在反向传播就是对每个权重加一个线性衰减梯度,始终把权重拉向 0,但不会稀疏化到 0。

2.3 Elastic Net

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
L1正则实现

l1_reg = torch.norm(model.parameters(), 1)
loss = loss + lambda1 * l1_reg

Elastic Net

l1_reg = sum(torch.norm(p, 1) for p in model.parameters())
l2_reg = sum(torch.norm(p, 2)**2 for p in model.parameters())
loss = loss + lambda1 * l1_reg + lambda2 * l2_reg

3 其它降低模型拟合的方法

3.1 Dropout

定义:在训练阶段,随机选择某组神经元进行忽略,忽略是指在特定的前向或者后向传播过程中不考虑这些神经元。

训练阶段:对于每个隐藏层,对于每个训练样本,对于每次迭代,忽略(清零)节点(和相应的激活)的随机分数 p
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但在测试阶段如何处理呢?
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
dropout和神经剪枝的区别
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 数据增强

数据增强(Data Augmentation) 是指在 不采集额外真实数据的情况下,通过对现有训练数据进行随机变换,生成更多多样化的训练样本,从而:

✅ 扩充训练集规模
✅ 增加数据多样性
✅ 减少过拟合
✅ 提升模型泛化能力

3.3 早停

当验证集损失在连续若干个 epoch 内不再下降(或指标不再提升)时,就停止训练并恢复到验证集性能最佳时的参数。

3.4 最大范数约束

最大范数约束是一种正则化方法,用于防止神经网络中过拟合和梯度爆炸,通过限制每个神经元的权重向量的范数不超过设定的最大值 c。
对于某一层中与单个神经元相连的权重向量 w(例如全连接层中某一行权重):
在这里插入图片描述
这保证了权重向量长度不会超过阈值 c,稳定网络训练
在这里插入图片描述

for param in model.parameters():if param is weight:norm = param.norm(2)if norm > c:param *= c / norm
http://www.lqws.cn/news/590041.html

相关文章:

  • 设备管理的11个指标、七大误区、六大特征
  • muduo
  • 数据结构——线性表的链式存储
  • QT笔记---环境和编译出现的问题
  • Golang的代码结构设计原则与实践与模式应用
  • helm安装配置jenkins
  • 百度轮岗:任命新CFO,崔珊珊退居业务二线
  • Redis-7.4.3-Windows-x64下载安装使用
  • 时空数据挖掘五大革新方向详解篇!
  • 我认知的AI宇宙系列第三期
  • 强化学习概述及学习流程
  • 3D词云图
  • 虚拟机配置过程中的知识点
  • shardingsphere5.2.1与SpringBoot3.X的版本冲突问题
  • 华为云Flexus+DeepSeek征文 | ​​华为云ModelArts Studio大模型与企业AI会议纪要场景的对接方案
  • 具身智能环境的构建和工作(具身智能入门四)
  • Oracle 进阶语法实战:从多维分析到数据清洗的深度应用​(第四课)
  • 贪心算法在C++中的应用与实践
  • Monorepo+Pnpm+Turborepo
  • 数据结构:链表
  • 认识 Spring AI
  • 华为云Flexus+DeepSeek征文|基于华为云Flexus云服务的Dify 快速构建联网搜索助手
  • Zookeeper安装使用教程
  • 产品背景知识——API、SDK、Library、Framework、Protocol
  • guava限流器RateLimiter源码详解
  • SpringBoot -- 自动配置原理
  • 基于Python的GIS-RS多源数据处理(TIF/SHP/NC/...)【20250630】
  • P1967 [NOIP 2013 提高组] 货车运输
  • Spring生态:云原生与AI的革新突破
  • C++ 快速回顾(五)