动手学深度学习Pytorch 4.4练习
1.这个多项式回归问题可以准确地解出吗?提⽰:使⽤线性代数。
可以,把多项式问题,用matlab的str2sym表示出来,再用solve求解。
2.考虑多项式的模型选择。
- 1. 绘制训练损失与模型复杂度(多项式的阶数)的关系图。观察到了什么?需要多少阶的多项式才能将训练损失减少到0?
画图代码(阶数1-100):
# 记得把max_degree改为100# 把train改成这个函数
def trainLossComplex(train_features,test_features,train_labels,test_labels,num_epochs=1000):loss=nn.MSELoss(reduction='none')input_shape=train_features.shape[-1]# 不设置偏置,因为我们已经在多项式中实现了它net = nn.Sequential(nn.Linear(input_shape,1,bias=False))batch_size=min(10,train_labels.shape[0])train_features=torch.tensor(train_features, dtype=torch.float32)test_features=torch.tensor(test_features, dtype=torch.float32)train_iter=d2l.load_array((train_features,train_labels.reshape(-1,1)),batch_size)test_iter=d2l.load_array((test_features,test_labels.reshape(-1,1)),batch_size,is_train=False)trainer=torch.optim.SGD(net.parameters(),lr=0.01)for epoch in range(num_epochs):d2l.train_epoch_ch3(net,train_iter,loss,trainer)return evaluate_loss(net,train_iter,loss),evaluate_loss(net,test_iter,loss)
trainLoss=[]
textLoss=[]
x=np.arange(1,100)
for i in np.arange(1,100):train_loss,text_loss=trainLossComplex(poly_features[:n_train, :i], poly_features[n_train:,:i],labels[:n_train],labels[n_train:])trainLoss.append(train_loss)textLoss.append(text_loss)
d2l.plot(x, y, xlabel='degree', ylabel='train_loss', legend=None, xlim=None,ylim=[1e-3+0.007,1*1e-2+0.005], xscale='linear', yscale='linear',fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

从图中看,1-100的阶数的多项式都不能把训练损失减少到0
- 2. 在这种情况下绘制测试的损失图。
d2l.plot(x, textLoss, xlabel='degree', ylabel='train_loss', legend=None, xlim=None,ylim=[1e-3,1.2], xscale='linear', yscale='linear',fmts=('-', 'm--', 'g-.', 'r:'), figsize=(3.5, 2.5), axes=None)

这里的值没有到0,只是图上看着到了
- 3. ⽣成同样的图,作为数据量的函数。
改一改数据量吧,再自己画一下吧,我太懒了,对不起
3. 如果不对多项式特征xi进⾏标准化(1/i!),会发⽣什么事情?能⽤其他⽅法解决这个问题吗?
如果有一个 x大于 1,那么这个很大的 i就会带来很大的值,优化的时候可能会带来很大的梯度值。
4. 泛化误差可能为零吗?
不太可能
相关文章:
动手学深度学习Pytorch 4.4练习
1.这个多项式回归问题可以准确地解出吗?提⽰:使⽤线性代数。 可以,把多项式问题,用matlab的str2sym表示出来,再用solve求解。 2.考虑多项式的模型选择。 1. 绘制训练损失与模型复杂度(多项式的阶数)的关系…...
【计算机视觉 | Kaggle】飞机凝结轨迹识别 Baseline 分享和解读(含源代码)
文章目录 一、导读二、比赛背景三、比赛任务四、比赛数据五、评价指标六、Baseline6.1 Training part6.2 Submission part 一、导读 比赛名称:Google Research - Identify Contrails to Reduce Global Warming https://www.kaggle.com/competitions/google-researc…...
ThinkPHP文件上传:简便安全的解决方案
在现代Web应用程序中,文件上传是一项常见而重要的功能。ThinkPHP是一种流行的PHP开发框架,提供了便捷而安全的文件上传解决方案。本文将介绍ThinkPHP框架中的文件上传功能,并探讨如何使用它来实现安全可靠的文件上传功能。 一、ThinkPHP文件…...
torch.multiprocessing
文章目录 张量共享torch.multiprocessing.spawnmultiprocessing.Pool与torch.multiprocessing.Pool阻塞非阻塞map阻塞非阻塞 starmap torch.multiprocessing是具有额外功能的multiprocessing,其 API 与multiprocessing完全兼容,因此我们可以将其用作直接…...
解决本地代码commit后发现远程分支被更新的烦恼!
解决本地代码commit后远程分支更新的烦恼! 在进行代码开发过程中,当我们准备将本地代码推送到远程分支时,有时会遇到远程分支已经被更新的情况。这给我们的开发工作带来了一些挑战,因为我们需要确保我们的修改与远程分支的更新保持…...
最新AI创作系统ChatGPT程序源码+详细搭建部署教程+微信公众号版+H5源码/支持GPT4.0+GPT联网提问/支持ai绘画+MJ以图生图+思维导图生成!
使用Nestjs和Vue3框架技术,持续集成AI能力到系统! 新增 MJ 官方图片重新生成指令功能同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom out 1.5x新增GPT联网提问功能、手机号注…...
910数据结构(2014年真题)
算法设计题 问题1 已知一个带头结点的单链表head,假设结点中的元素为整数,试编写算法:按递增次序输出单链表中各个结点的数据元素,并释放结点所占的存储空间。要求:(1)用文字给出你的算法思想;(2)不允许使…...
Idea创建maven管理的web项目
如果你想在项目中添加一个传统的 src 目录来存放源代码,可以按照以下步骤操作: 1. 在项目视图中,右键单击项目名称,选择 “New” -> “Directory”。 2. 在弹出的对话框中,输入目录名称为 “src”,然后…...
Java并发编程(一)多线程基础概念
概述 多线程技术:基于软件或者硬件实现多个线程并发执行的技术 线程可以理解为轻量级进程,切换开销远远小于进程 在多核CPU的计算机下,使用多线程可以更好的利用计算机资源从而提高计算机利用率和效率来应对现如今的高并发网络环境 并发编程…...
D. Strong Vertices - 思维 + 二分
分析: 首先找到边的指向很容易,但是暴力是o(n2),超时,可以将给定的式子变形,au - av > bu - bv即au - bu > av - bv,可以将两个数组转变为一个数组中的任意两个值之间的关系,因…...
8月9日上课内容 nginx负载均衡
负载均衡工作当中用的很多的,也是面试会问的很重要的一个点 负载均衡:通过反向代理来实现(nginx只有反向代理才能做负载均衡) 正向代理的配置方法(用的较少) 反向代理的方式:四层代理与七层代…...
为何我们都应关心算法备案?
随着技术的日新月异,算法成为现代生活的核心组成部分,从社交媒体推荐、在线广告到智能交通管理,几乎无处不在。然而,如此普及的技术给我们带来了一个新的挑战:如何确保算法的透明度、公正性和道德性?答案可…...
[IDEA]使用idea比较两个jar包的差异
除了一些小工具外,idea自带了jar包比较的功能。 把需要比对的jar包放到任意目录下,然后选中两个需要比较的jar包,右键,选择Compare Archives,然后就可以比较了。 这次疏忽了,每次打包前需要commit界面看一下…...
HTML笔记(2)
列表标签 项目标识符(项目符号)一般是不需要的 代码演示 改变符号样式,type属性 表格标签 代码演示 练习案例 布局标签 div是块儿级标签,占一整行; span标签不会占一整行,它只占包裹内容的那块儿区域&a…...
前端大屏自适应缩放
简介 前端中大屏往往用于展示各种炫酷的界面和特效,因此特别受用好欢迎。 但是在开发过程中,常常也会出现各种问题,与一般的页面相比, 最让人头疼的是大屏的自适应问题。使用CSS中transform属性和js获取缩放比例方法 先简单写一下…...
【Express.js】全面鉴权
全面鉴权 这一节我们来介绍一下 Passport.js,这是一个强大的 NodeJS 的认证中间件 Passport.js 提供了多种认证方式,账号密码、OpenID、ApiKey、JWT、OAuth、三方登录等等。 使用 Passport.js 认证要配置三个部分: 认证策略中间件会话 接…...
了解华为(H3C)网络设备和OSI模型基本概念
目录 一,认识华为 1.华为发展史 2.华为网络设备介绍 3.VRP概述 二,OSI七层模型 1.七层模型详细表格 2.各层的作用 3.数据在各层之间的传递过程 4.OSI四层网络模型 一,认识华为 官网:https://www.huawei.com/cn/ 1.华为发…...
Web3到底是个啥?
Web3是近两年来科技领域最火热的概念之一,但是目前对于Web3的定义却仍然没有形成标准答案,相当多对于Web3的理解,都是建立在虚拟货币行业(即俗称的“币圈”)的逻辑基础之上的。 区块链服务网络(BSN&#x…...
山东高校的专利申请人经常掉进的误区2
02、专利技术交底书只提供简单思路 一些高校科研人员在申请专利时,给专利代理人的技术交底书往往只给出了思路,或者技术方案不够详细,或者根本不会有实验验证过程和数据。 事实上,专利技术交底书的详尽程度将直接影响代理人对技…...
关于webpack的基本配置
文章目录 前言一、webpack基本配置1.配置拆分和merge2. 启动服务3、处理es6,配置babel4、处理样式5、处理图片 前言 为什么要有webpack构建和打包? 更好的模块化管理。webpack支持模块化规范:代码分割成独立模块,并管理模块之间…...
AUTOSAR-S32 Design Studio与NXP S32K3 MCU开发环境配置全攻略
1. 开发环境准备:从零搭建AUTOSAR-S32 Design Studio 第一次接触NXP S32K3系列MCU开发时,最让人头疼的就是开发环境的搭建。我当初花了整整两天时间才把整个环境跑通,期间踩了不少坑。现在回想起来,如果有个详细的指南能少走很多弯…...
洛雪音乐助手:免费开源的多平台音乐播放器完全指南
洛雪音乐助手:免费开源的多平台音乐播放器完全指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 洛雪音乐助手是一款基于Electron和Vue 3开发的免费开源跨平台音乐播…...
新手避坑指南:用URDF给机械臂建模时,origin和inertial参数到底该怎么算?
机械臂URDF建模实战:origin与inertial参数计算完全指南 当你在Rviz中看到机械臂模型"飘在空中"或在Gazebo仿真时出现诡异抖动,八成是origin和inertial参数设置出了问题。这两个看似简单的参数,实则是URDF建模中最容易踩坑的"暗…...
C-NCAP/E-NCAP拿高分秘籍:AEB测试中的‘偏置’、‘夜间’和‘弯道’三大难点如何攻克?
C-NCAP/E-NCAP高分攻略:破解AEB三大测试难题的技术实践 当一辆测试车以50km/h驶向静止目标车时,仪表盘突然亮起红色预警图标——这不是故障,而是AEB系统正在经历NCAP测试的"终极考验"。在C-NCAP最新测试规程中,偏置碰撞…...
QNX系统资源监控实战:高效查看CPU与内存使用情况
1. QNX系统资源监控入门指南 在嵌入式开发领域,QNX作为一款实时操作系统(RTOS)被广泛应用于汽车电子、工业控制等对系统稳定性要求极高的场景。记得我第一次接触QNX系统时,面对黑漆漆的命令行界面,完全不知道如何查看系统资源使用情况。后来…...
Unity游戏上微信小游戏,首包资源超20M怎么办?CDN外链加载实战指南
Unity游戏上微信小游戏:首包资源超20M的CDN外链加载实战指南 当你精心打磨的Unity游戏准备登陆微信小游戏平台时,首包资源20M的限制往往成为第一道技术门槛。尤其对于3D游戏或资源丰富的项目,经过WebGL转换后的.unityweb.bin.txt文件很容易突…...
Wan2.2-I2V-A14B提示词库建设:构建可复用的高质量视频生成模板
Wan2.2-I2V-A14B提示词库建设:构建可复用的高质量视频生成模板 1. 为什么需要系统化的提示词库 视频生成领域有个常见现象:同样的模型,不同人使用效果天差地别。关键差异往往就在于提示词的质量。我们团队在使用Wan2.2-I2V-A14B模型时发现&…...
过程表示法:如何用步骤与操作表示知识
在知识表示中,有一类知识并不主要回答“对象是什么”或“对象之间有什么关系”,而是回答“事情应该怎样一步步完成”。例如,如何求解一个问题、如何执行一项操作、如何完成一个任务流程。这类知识强调步骤、顺序、控制和执行方式,…...
告别轮询!用wx.request的onChunkReceived在微信小程序里实现打字机效果的AI聊天
微信小程序流式交互实战:打造丝滑的AI打字机聊天效果 第一次在小程序里看到ChatGPT那种逐字输出的效果时,我盯着屏幕研究了半天——这流畅度简直像有人在远程打字。后来才发现,原来微信团队早在基础库2.10.0就埋下了onChunkReceived这个彩蛋。…...
极验滑块验证码攻防战:从JS逆向到YOLOv11自动识别完整实战
一、引言 极验作为国内最主流的行为验证码厂商,其滑块验证码被广泛应用于各大网站的反爬体系中。传统的滑块破解方法依赖于模板匹配和人工设计的轨迹算法,在极验不断升级的反爬策略面前已经逐渐失效。 本文将从底层原理出发,完整拆解极验3.0滑…...
