深度学习 (线性回归 简洁实现)

介绍:

在线性神经网络中,线性回归是一种常见的任务,用于预测一个连续的数值输出。其目标是根据输入特征来拟合一个线性函数,使得预测值与真实值之间的误差最小化。

线性回归的数学表达式为:
y = w1x1 + w2x2 + ... + wnxn + b

其中,y表示预测的输出值,x1, x2, ..., xn表示输入特征,w1, w2, ..., wn表示特征的权重,b表示偏置项。

训练线性回归模型的目标是找到最优的权重和偏置项,使得模型预测的输出与真实值之间的平方差(即损失函数)最小化。这一最优化问题可以通过梯度下降等优化算法来解决。

线性回归在深度学习中也被广泛应用,特别是在浅层神经网络中。在深度学习中,通过将多个线性回归模型组合在一起,可以构建更复杂的神经网络结构,以解决更复杂的问题。

深度学习 线性神经网络(线性回归 从零开始实现)-CSDN博客 

 生成数据集:

import numpy as np
import torch
from torch.utils import data
from d2l import torch as d2ltrue_w = d2l.tensor([2, -3.4])
true_b = 4.2
features, labels = d2l.synthetic_data(true_w, true_b, 1000)

 读取小批量数据集:

#选取小批量样本
def load_array(data_arrays,batch_size,is_train=True):dataset = data.TensorDataset(*data_arrays)return data.DataLoader(dataset,batch_size,shuffle=is_train)

定义模型:

from torch import nn#"nn"是神经网络的缩写net = nn.Sequential(nn.Linear(2,1))#输入维度2,输出维度1

定义损失函数:

loss = nn.MSELoss()#均分误差函数

定义优化函数(实例化SGD):

#实例化SGD
trainer = torch.optim.SGD(net.parameters(),lr=0.03)#参数、学习率

模型训练:

num_epochs=8
for epoch in range(num_epochs):for X, y in data_iter:#拿出一批量x,yl = loss(net(X), y)  # X和y的小批量损失,实际的和预测的trainer.zero_grad()l.backward()trainer.step()  # 使用参数的梯度更新参数l = loss(net(features),labels)print(f'epoch {epoch + 1}, loss {l:f}')'''
epoch 1, loss 0.000175
epoch 2, loss 0.000096
epoch 3, loss 0.000095
epoch 4, loss 0.000095
epoch 5, loss 0.000095
epoch 6, loss 0.000095
epoch 7, loss 0.000095
epoch 8, loss 0.000096
'''print(net[0].weight)
'''
Parameter containing:
tensor([[ 2.0004, -3.3990]], requires_grad=True)
'''print(net[0].bias)
'''
Parameter containing:
tensor([4.2007], requires_grad=True)'''

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

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

相关文章

扩展一下BenchmarkSQL,新增支持ASE/HANA/DB2/SQLServer,可以随便用了

1 背景 提到数据库的性能,自然就避不开性能测试。有专用于测试OLTP的,也有偏重于OLAP的。本文介绍的BenchmarkSQL就属于测试OLTP中的一个,基于TPCC的。网上有很多介绍TPC*的相关测试的文章,大家可以自行脑补。而PostgreSQL自带的pgbench是属于TPCC的前一个基准测试程序,偏…

STM32/GD32——自己制定协议和解析协议数据(可能随时弃坑)

温馨提醒: 由于我最害怕的就是接触各种新协议,尤其是对各种协议和解析协议数据简直就是职业生涯的噩梦,但工作中不免和不同的协议打交道。本着要啃就啃最难的,大不了放弃的心态。所以我学习了如何自定义制定自己的协议&#xff0c…

机器学习基础知识面经(个人记录)

朴素贝叶斯 特征为理想状态下的独立同分布,作为机器学习的重要基石和工具 由贝叶斯公式推导而来 是后验概率:在B发生的条件下A发生的概率。 是似然概率: 在 发生的条件下 发生的概率。 是先验概率: 发生的概率,而不考虑 的影响。 是…

【PyQt】17.1-日历控件 不同风格的日期和时间、以及高级操作

日历控件puls版本 前言一、日历控件中不同风格的日期和时间1.1 代码1.2 注意事项格式设置m的大小写问题QTime和QDateTime的区别 1.3 运行结果 二、高级操作2.1 成倍调整2.2 下拉出日历2.3 事件函数2.4 获取设置的日期和时间 完整代码 前言 1、不同风格的日期和时间展示 2、高级…

uni-app里面如何使用图标

目录 一、导入 1.在官方(iconfont-阿里巴巴矢量图标库)选择自己想要的图标,加入购物车 2. 在点击购物车下载代码 3.解压文件夹 并更改名字 4.将文件夹(iconfont)整个放到项目中的static中 5.修改iconfont.css文件…

上位机开发 halcon坐标转轴坐标

背景 上位机开发中有一种相机叫标定相机,主要是有来给某些要进行根据CAD图点位计算时当前产品实际点位坐标时使用的一种标定测量相机。主要原理是根据两个或多个指定的标定点进行取图计算圆心坐标,再将视觉计算出的圆心坐标和取图时的轴坐标进行偏差计算。最后得到标定点轴的…

2024年3月24日暴富榜

子丑寅卯辰巳午未申酉戌亥 每天一读,《小飞生肖》运势, 让您的生活更美好! 鼠:生肖暴富榜《中暴富》 鼠:红榜衣服颜色(蓝色) 牛:生肖暴富榜《中暴富》 牛:红榜衣服颜色…

超越工具的限制!菜鸟工具箱帮你节省时间

在这个飞速发展的时代,我们越来越依赖各种工具来提高工作效率和解决问题。然而,你是否意识到,有些工具不仅仅是工具,它们还能为你带来更多的可能性和机遇?菜鸟工具箱就是这样一个超越工具本身的存在! 菜鸟工…

目标检测的指标评估

目标检测模型的评价指标主要用于衡量模型的性能,特别是它在定位和识别目标方面的准确性。以下是一些常见的评价指标: 1. 精确度 (Precision): 表示检测到的目标中,正确检测到的目标所占的比例。精确度高意味着模型产生的误报(错误…

腾讯云GPU服务器介绍_GPU实例规格价格_AI_深度学习

腾讯云GPU服务器是提供GPU算力的弹性计算服务,腾讯云GPU服务器具有超强的并行计算能力,可用于深度学习训练、科学计算、图形图像处理、视频编解码等场景,腾讯云百科txybk.com整理腾讯云GPU服务器租用价格表、GPU实例优势、GPU解决方案、GPU软…

洛谷 Cut Ribbon

思路:我们可以看出,这是一道完全背包问题,但是呢,有一点需要注意:那就是我们在装背包的时候并不能保证一定能装满背包,但是这里的背包要求是让我们装满的,所以我们需要判断这个背包装满才行&…

Linux之文件系统与软硬链接

前言 我们之前阐述的内容都是在文件打开的前提下, 但是事实上不是所有文件都是被打开的, 且大部分文件都不是被打开的(也就是文件当前并不需要被访问), 都在磁盘中进行保存. 那这些没有被(进程)打开的文件, 也是需要被管理的! 对于这部分文件核心工作之一是能够快速定位文件…

【java数据结构】基于java提供的ArrayList实现的扑克牌游戏-(附源码~)

【Java数据结构】基于java泛型实现的二维数组完成三人扑克游戏 基本框架的实现创建一副牌如何进行洗牌:每个人抓的牌放到哪里: 源码具体实现cardcardsTest 个人简介:努力学编程 每日鸡汤:stay foolish,stay hungry-史蒂芬.乔布斯斯…

pytorch图像数据集定义

文章目录 相关链接DatasetVisionDatasetDatsetFolderImageFolder torchvision.transformsPytorch LightningLightningDataModule 对于图像数据集来说,首先是在Dataset类对数据集进行定义,一般来说不定义transform,则数据为PIL Image&#xff…

Sora入门级概念、Open-Sora 1.0和现状挑战(附多个文生视频 Prompt 案例)

OpenAI Sora入门级概念 Sora模型是OpenAI 发布的人工智能模型,它主要用于生成和处理视频内容。以下是Sora模型的一些入门级概念: 视频内容生成:Sora模型能够根据文本描述生成视频内容。这意味着你可以输入一段描述性的文本,模型将基于这段文本生成相应的视频画面。场景和角…

Github 2024-03-19 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-19统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目9TypeScript项目2HTML项目1GDScript项目1MetaGPT: 多代理框架 创建周期:260 天开发语言:Python协议类型:MIT LicenseStar数量:35…

MongoDb数据库介绍安装使用

#安装mongodb# 第一步 下载mongoDb: 官网https://www.mongodb.com/ 第二步 进行安装配置修改Data directory 和 Log Directory 将数据目录和日志目录存放在D盘 第三步 取消install MongoDb Compass这个是安装可视化工具的意思在这里不需要 #配置环境变量加入到系统中的path环…

鸿蒙Harmony应用开发—ArkTS-LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。 接口…

EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经网络双向门控循环单元融合多头注意力机制多变量时间序列预测(Matlab)

EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经网络双向门控循环单元融合多头注意力机制多变量时间序列预测(Matlab) 目录 EI级!高创新原创未发表!VMD-TCN-BiGRU-MATT变分模态分解卷积神经…

Spring设计模式-实战篇之模板方法模式

什么是模板方法模式? 模板方法模式用于定义一个算法的框架,并允许子类在不改变该算法结构的情况下重新定义算法中的某些步骤。这种模式提供了一种将算法的通用部分封装在一个模板方法中,而将具体步骤的实现延迟到子类中的方式。 模板方法模式…