首页 > 其他分享 >动手学深度学习(线性神经网络)

动手学深度学习(线性神经网络)

时间:2024-07-22 12:27:32浏览次数:16  
标签:return 函数 self torch batch 动手 神经网络 线性 data

看这一节前最好先移动至--动手学深度学习(预备知识),把基础知识打牢,使后续理解代码和原理更加容易

因为这里是第三章的内容了,所以笔者的目录就从3开始咯。

目录

3.线性神经网络

3.1线性回归

3.11线性回归的基本元素

3.12损失函数

3.13解析解

3.14随机梯度下降

3.15矢量化加速

3.16正态分布

3.2线性回归从零开始实现

生成数据集

读取数据集

初始化模型参数

定义模型

定义损失函数

 小批量随机梯度下降

训练

3.3线性回归简洁实现


3.线性神经网络

3.1线性回归

3.11线性回归的基本元素

学基本元素之前,我们需要先理解回归和分类的区别

相同点:两者都是对输入的特征,判断并预测类别。

不同点:

1.输出不同。  分类问题是输出物体所属类别,回归问题是输出值。

比如说:南阳最近下暴雨,分类问题就会输出过几天是下雨,还是多云,还是晴天。回归问题,就会判断过几天的温度是多少到多少摄氏度。

分类问题是定性的,离散的,回归问题是定量的,连续的。

2.目的不同。

分类的目的是为了寻找决策边界,即分类算法得到是一个决策面,用于对数据集中的数据进行分类。

回归的目的是为了找到最优拟合,通过回归算法得到是一个最优拟合线,这个线条可以最好的接近数据集中的各个点。

3.结果不同。

分类的结果说一不二,回归可以有逼近,损失很小就是很不错的回归了。


接下来就是基本元素了,这里我们用一款皮肤的价格来进行举例。

我们根据英雄的出场率和平台中英雄的热度以及之前发售皮肤的品质收割的利润来预测这个英雄该出多少价格区间的皮肤。

研制这个模型需要以下方面:

训练数据集:英雄的出场率和平台中英雄的热度以及之前发售皮肤的品质。

样本:每一次发售的皮肤相对应的数据。(每行数据)

标签或目标:预测的皮肤价格

自变量:出场率和销量等等。

线性是可以用一个方程式来表示

这个式子其实是一个仿射变换。通过(加权和)对特征进行线性变换,并通过偏置进行平移。

(仿射变换变化包括缩放(Scale、平移(transform)、旋转(rotate)、反射(reflection,对图形照镜子)、错切(shear mapping,感觉像是一个图形的倒影),原来的直线仿射变换后还是直线,原来的平行线经过仿射变换之后还是平行线,这就是仿射)

特征比较多的时候我们就会有多个w权重,但后面b是一个


3.12损失函数

在我们开始考虑如何用模型拟合数据之前,我们需要确定一个拟合程度的度量。

损失函数(loss function)能够量化目标的实际值与预测值之间的差距.

通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。

回归问题中最常用的损失函数是平方误差函数:

第一个y代表预测,第二个y代表真实

y可以用wx+b来表示

训练模型时我们需要不断更新w和b使在所有样本中有最小损失

3.13解析解

预测问题是最小化||y-Xw||

这在损失平面上只有一个临界点,这个临界点对应于整个区域的损失极小点。

将损失关于

标签:return,函数,self,torch,batch,动手,神经网络,线性,data
From: https://blog.csdn.net/Q268191051011/article/details/140512270

相关文章

  • 第一本给程序员看的AI Agent图书重磅上市!<大模型应用开发 动手做 AI Agent>!!!
    AIAgent火爆到什么程度?OpenAI创始人奥特曼预测,未来各行各业,每一个人都可以拥有一个AIAgent;比尔·盖茨在2023年曾预言:AIAgent将彻底改变人机交互方式,并颠覆整个软件行业;吴恩达教授在AIAscent2024演讲中高赞:AIAgent是一个令人兴奋的趋势,所有从事AI开发的人都应该关注。......
  • C#加神经网络实现视频换背景
    机器配置:1.cpu:i3-2375M2.操作系统:win764位旗舰版SP1程序运行环境:Microsoft.NETFramework4.8(wpf运行时)MicrosoftVisualC++2015-2022Redistributable(x86)-14.40.33810(onnx运行时)依赖:Microsoft.ML.OnnxRuntime1.11(备注1)效果:实现类似视频会议换背景功能。原理......
  • C#中的线性表
    什么是线性表线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系指的是数据元素之间的位置关系,即:(1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个......
  • 数据结构:线性表-例题
    顺序存储结构和链式存储结构都可以进行顺序存取。[T/F]顺序存储结构可以进行顺序存取和随机存取;链式存储结构只可以进行顺序存取。散列存储结构能反应数据之间的逻辑关系。[T/F]散列存储通过散列函数映射到物理空间,不能反应数据之间的逻辑关系。链式存储设计时,结点......
  • 深度学习图解,第 1 部分:神经网络如何工作?神经网络的图解和直观介绍
            欢迎来到雲闪世界。神经网络是一种机器学习模型。这只是我计划撰写的关于深度学习的整个系列文章的第一篇。它将重点介绍一个简单的人工神经网络如何学习,并为您提供对神经网络如何逐个神经元构建的深入(哈哈,双关语)理解,这在我们继续构建这些知识时至关重......
  • 【吴恩达 机器学习 学习笔记】多元线性回归模型(1):矢量化及特征缩放
    文章目录多元线性回归模型矢量化用于多元线性回归的梯度下降法正态方程(只作了解即可)特征缩放回顾:线性回归模型及梯度下降的原理多元线性回归模型在前面的学习中,我们掌握了根据房屋的面积预测房屋价格的方法(单变量线性回归模型),如果我们的房屋特征增加(如增加了房间......
  • 基于卷积神经网络(CNNs)的无监督多模态子空间聚类方法
    基于卷积神经网络(CNNs)的无监督多模态子空间聚类方法引言基于卷积神经网络(CNNs)的无监督多模态子空间聚类方法是一种前沿技术,专门设计用于处理来自不同模态(如图像、文本、音频等)的高维数据,旨在自动学习表示并聚类这些数据,而无需任何标记信息。这种方法利用CNNs的特征提取能......
  • 神经网络基本代码分析
    导入库文件importtorchfromtorchimportnnfromtorch.utils.dataimportDataLoaderfromtorchvisionimportdatasetsfromtorchvision.transformsimportToTensor创建集合FashionMNIST为一个服装数据集,训练集和测试集均为该数据集中的一部分图像training_data......
  • 山东大学数据结构与算法实验8散列表(线性开型寻址/链表散列)
    A : 线性开型寻址题目描述要求使用线性开型寻址实现描述给定散列函数的除数D和操作数m,输出每次操作后的状态。有以下三种操作:插入x,若散列表已存在x,输出“Existed”,否则插入x到散列表中,输出所在的下标。查询x,若散列表不含有x,输出“-1”,否则输出x对应下标。......
  • 数据结构-线性表、链表
    一、线性表介绍1、线性结构​ 在数据元素存在非空有限集中:存在唯一的一个被称为“第一个”的数据元素存在唯一的一个被称为“最后一个”的数据元素除了第一个外,集合中每个数据元素都只有一个前趋元素除了最后一个外,集合中每个数据元素都只有一个后继元素2、线性表线性表......