权重衰退及代码

一、硬性限制

1、通常不限制偏移b,因为限制不会有区别;seta越小,意味着正则项强

2、优化的是最小化的损失函数

3、后部的限制条件,每个项的平方和小于一个值;极端情况下,当seta等于0,意味着所有的w为0,即只有一个偏移,比如seta为1 ,每个w都不会大于1,并且当w越多,每个w就相当于越小。

二、柔性限制

1、损失函数后面的那一块又叫做罚函数,可以当成惩罚因子

2、正则项也称为岭回归中的正则化项,向损失函数中添加L2范数(参数向量的平方和),有助于防止模型过度拟合训练数据,通过惩罚较大的参数值来促使模型更加简单(限制w的取值)且泛化能力更强。

三、中心点是最优解但是容易过拟合 ,所以要拉动它,就是用这个平方项它往左下角拉

四、参数更新

权重衰退的称呼是因为,先在权重减小的基础上,再做梯度下降。

五、总结

六、代码

1、生成数据:略,但生成数据可以考虑生成过拟合的数据,比如我们训练数据很小

2、初始化模型参数:略

3、定义𝐿2范数惩罚

def l2_penalty(w):return torch.sum(w.pow(2)) / 2

4、定义训练代码实现

def train(lambd):#初始化模型参数w, b = init_params()net, loss = lambda X: d2l.linreg(X, w, b), d2l.squared_lossnum_epochs, lr = 100, 0.003animator = d2l.Animator(xlabel='epochs', ylabel='loss', yscale='log',xlim=[5, num_epochs], legend=['train', 'test'])for epoch in range(num_epochs):for X, y in train_iter:# 增加了L2范数惩罚项,# 广播机制使l2_penalty(w)成为一个长度为batch_size的向量l = loss(net(X), y) + lambd * l2_penalty(w)l.sum().backward()d2l.sgd([w, b], lr, batch_size)if (epoch + 1) % 5 == 0:animator.add(epoch + 1, (d2l.evaluate_loss(net, train_iter, loss),d2l.evaluate_loss(net, test_iter, loss)))print('w的L2范数是:', torch.norm(w).item())

5、lambd往大了调,是为了降低w的l2 norm,达到避免过拟合的效果;随着 𝜆λ 增大,模型在优化过程中会更加倾向于减小参数 wi​ 的值,以减少正则项的值。因此,为了最小化整体损失函数,参数的平方和(即L2范数)会变小。

6、总结

  • 正则化是处理过拟合的常用方法:在训练集的损失函数中加入惩罚项,以降低学习到的模型的复杂度。

  • 保持模型简单的一个特别的选择是使用𝐿2惩罚的权重衰减。这会导致学习算法更新步骤中的权重衰减。

  • 权重衰减功能在深度学习框架的优化器中提供。

  • 在同一训练代码实现中,不同的参数集可以有不同的更新行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果笔记本双系统怎么安装

想要在mac电脑上装双系统,首先需要确认您的电脑是否支持。苹果电脑自带的boot camp工具可以帮助您在mac上安装windows系统,只需按照步骤进行操作即可。另外,您也可以使用虚拟机软件,如parallels desktop或vmware fusion&#xff0…

统信UOS 安装二级制版MySQL8.4

统信UOS 安装二级制版MySQL8.4 建立MySQL用户和用户组 sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysql下载MySQL安装包 wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz解压缩MySQL安装包 sudo tar -xvf m…

在Ubuntu22.04 使用stable-diffusion-webui 秋叶整合包

背景 众所周知,赛博菩萨已经发布了windows下的整合包,开箱即用,且集成度较高。 那我为啥非要在Ubuntu下使用呢? 当然是因为主力机就是Ubuntu系统啦。而且涉及到sd webui API 的调用,在Ubuntu 下调试更加方便一点。 那…

ZS-20H型水泥胶砂振实台

一、 概述 水泥胶砂振实台是为我国水泥胶砂强度检验方法等同采ISO679国际标准而设计。该仪器符合 JC/T 682《水泥胶砂试体成型振实台》要求,适用于水泥强度检验所用试样的制备。 二、 技术数据 1、台盘(包括臂杆、压模框等)的总质量 13.75 …

Redis 面试题完整指南:深度解析基础、进阶与高级功能

基础知识 1. 什么是Redis? Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,既可以用作数据库、缓存,也可以用作消息中间件。它支持多种数据结构,如字符串、哈希、列表、集合、…

基于Java的在线编程考试系统【附源码】

毕业设计(论文) 题目:基于 二级学院: 现代技术学院 专业(方向): 计算机应用技术 班 级: 计科B2015 学 生: 指导教师: 2024年1月 29 日 本科毕业论文(设计)学术诚信声明 本人郑重…

excel字符串列的文本合并

excel表有两列,第一列是“姓名”,第二列是“诊断”,有高血压、糖尿病等。我想出一个统计表,统计“姓名”,把某一个姓名的诊断不重复的用、拼接起来,比如“张三”的诊断为“点高血压”、糖尿病。我们可以用T…

基于STM32+华为云IOT设计的智能冰箱(华为云IOT)

文章目录 一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】摘要 1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发 二、部署华为云物联网平台2.1 物联网平台介绍2.2 开通物联网服务2.3 创建产品&#xff08…

C#语言+前端框架uni-app+后端框架net全套【线上预约挂号流程】先一步预约,快一步诊疗 预约挂号系统源码

C#语言前端框架uni-app后端框架net全套【线上预约挂号流程】先一步预约,快一步诊疗 预约挂号系统源码 随着互联网的不断发展,人们的生活方式也在不断发生着变化。在医疗领域,传统的看病方式已经不能满足人们的需求,越来越多的人开…

Qt C++调用libssh2实现sftp传输文件,界面部分采用QML

文章目录 1.重点说明2.测试环境搭建3.代码具体实现步骤1:安装libssh2步骤2:创建C++类处理SFTP文件传输步骤3:将C++类与QML绑定步骤4:创建QML界面步骤5:配置项目文件总结1.重点说明 FTP、FTPS、SFTP不要混淆,我们这里是SFTP 1.1SFTP SFTP(SSH File Transfer Protocol,…

仓颉编程语言 -- 初识(一)

官网 文档 原生智能化 内嵌AgentDSL的编程框架,自然语言&编程语言有机融合;多Agent协同,简化符号表达,模式自由组合,支持各类智能应用开发。 天生全场景 轻量化可缩放运行时,模块化分层设计&#xf…

Nuxt3: 强制删除__NUXT_DATA__的一种方式

一、问题描述 环境:Node 18.14.0,Nuxt 3.12.2 with Nitro 2.9.6 后台粉丝提问,能否在Nuxt3的页面中不要生成__NUXT_DATA__,因为里面包含了接口返回的数据,感觉数据暴露并且加大了页面的html内容的大小: &l…

Core ML 简介:构建简单的图像识别应用程序

在 2017 年的 WWDC 上,苹果发布了许多令人兴奋的框架和 API 供我们开发人员使用。在所有新框架中,最受欢迎的框架之一肯定是Core ML。Core ML 是一个可用于将机器学习模型集成到您的应用程序中的框架。Core ML 最好的部分是您不需要有关神经网络或机器学…

mac配置修改host文件

1command 空格 输入 terminal 选中回车进入终端控制台. command 空格 2 sudo vi /etc/hosts 输入密码,进入vi编辑器修改文件 sudo vi /etc/hosts3修改内容,:wq保存退出,重启项目即可 :wq

linux中Sticky粘滞位

对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除和改名自己的文件或目录;只能作用在目录上.普通文件设置无意义,且会被linux内核忽略,用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限 权限设定方法&a…

自动抓取cpu消耗率高java 线程dump信息

# 设置参数 $DumpDir "C:\gcDump\dump" $CpuThreshold 80 $LogFile "C:\gcDump\log\monitor_log.txt" # 循环监控 Java 进程 while ($true) { # 获取当前时间 $CurrentTime Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff" Write-…

InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用

白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作,重点围绕生物多样性、生态系统服务与价值等,构建生物地球化学模型和评价指标体系,为城市、区域和自然保护区的可持续发展和生态环…

2024年【山东省安全员B证】最新解析及山东省安全员B证操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年【山东省安全员B证】最新解析及山东省安全员B证操作证考试,包含山东省安全员B证最新解析答案和解析及山东省安全员B证操作证考试练习。安全生产模拟考试一点通结合国家山东省安全员B证考试最新大纲及…

一文读懂RSTP流媒体传输原理

什么是流? 流(Streaming):近年在Internet上出现的新概念,定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。 流式传输分为两种:顺序流式传输 (Progressive Streaming)和实时流式传输 (R…

Revit插件|建模助手「综合模块」30+个功能全面免费

噢~我的伙计们,快来猜猜是谁快满三岁了?没错,咱们的得力干将——Revit插件「建模助手」!这三年里,【综合】模块就像那个超受欢迎的小兄弟,帮了大家大忙。说起来都激动,到今年5月底,它…