理解pytorch中的L2正则项

1 问题

  1. 正则化与偏差-方差分解之间的联系。

  2. Weight decay全值衰减。

2 方法

  1. regularization:减小方差的策略

    误差可分解为:偏差,方差与噪声之和。即误差=偏差+方差+噪声之和偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力

    方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响

    噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差

    方差(Variance)是刻画数据扰动所造成的影响

    偏差是指刻画学习算法的本身拟合能力

    目标函数处理公式:( Objective Function ): Obj = Cost + Regularization Term

  2. 权值衰减代码复现模型搭建

  3. classMLP(nn.Module):

  4. def__init__(self, neural_num):

  5. super(MLP, self).init()

  6. self.linears=nn.Sequential(

  7. nn.Linear(1, neural_num),

  8. nn.ReLU(inplace=True),

  9. nn.Linear(neural_num, neural_num),

  10. nn.ReLU(inplace=True),

  11. nn.Linear(neural_num, neural_num),

  12. nn.ReLU(inplace=True),

  13. nn.Linear(neural_num, 1),

  14. )

  15. defforward(self, x):

  16. returnself.linears(x)

3 总结

针对问题一:对于pytorch模型中存在的过拟合与欠拟合做出明确原因与产生的数据来源的算法做出明确标注,解释清楚了误差的组成成分。

针对问题二:正则化策略的目的就是降低方差,减小过拟合的发生。weight_decay是在优化器中实现的,在代码中构建了两个优化器,一个优化器不带有正则化,一个优化器带有正则化。对与模型的优化有进一步提升。

相关推荐
喝拿铁写前端17 小时前
别再让 AI 直接写页面了:一种更稳的中后台开发方式
前端·人工智能
Swizard18 小时前
别再让你的 Python 傻等了:三分钟带你通过 asyncio 实现性能起飞
python
tongxianchao18 小时前
UPDP: A Unified Progressive Depth Pruner for CNN and Vision Transformer
人工智能·cnn·transformer
塔能物联运维18 小时前
设备边缘计算任务调度卡顿 后来动态分配CPU/GPU资源
人工智能·边缘计算
过期的秋刀鱼!18 小时前
人工智能-深度学习-线性回归
人工智能·深度学习
木头左18 小时前
高级LSTM架构在量化交易中的特殊入参要求与实现
人工智能·rnn·lstm
IE0619 小时前
深度学习系列84:使用kokoros生成tts语音
人工智能·深度学习
欧阳天羲19 小时前
#前端开发未来3年(2026-2028)核心趋势与AI应用实践
人工智能·前端框架
IE0619 小时前
深度学习系列83:使用outetts
人工智能·深度学习
水中加点糖19 小时前
源码运行RagFlow并实现AI搜索(文搜文档、文搜图、视频理解)与自定义智能体(一)
人工智能·二次开发·ai搜索·文档解析·ai知识库·ragflow·mineru