深度学习——线性代数相关知识

线性代数基础知识

  • 一、线性代数基础知识
    • 1、标量
    • 2、向量
    • 3、矩阵
    • 4、张量
    • 5、点积
    • 6、向量—矩阵积
    • 7、矩阵—矩阵乘法
  • 二、小结

一、线性代数基础知识

本节将介绍简要地回顾一下部分基本线性代数内容,线性代数中的基本数学对象、算术和运算,并用数学符号和相应的代码实现来表示它们

1、标量

标量由只有一个元素的张量表示。 下面的代码将实例化两个标量,并执行一些熟悉的算术运算,即加法、减法、乘法、除法和指数。

import torch# 标量运算
x = torch.tensor(3.0)
y = torch.tensor(2.0)
# 加减乘除求幂
print(x + y, x - y, x * y, x / y, x ** y)

结果:
在这里插入图片描述

2、向量

向量可以被视为标量值组成的列表。 这些标量值被称为向量的元素(element)或分量(component)。
1.创建:人们通过一维张量表示向量。一般来说,张量可以具有任意长度,取决于机器的内存限制。

x = torch.arange(4)
x

2.使用:我们可以使用下标来引用向量的任一元素,例如可以通过Xi来引用第个元素。

x[3]

注意, 在数学中向量X可以写为
在这里插入图片描述
3.长度、维度和形状:向量只是一个数字数组,就像每个数组都有一个长度一样,每个向量也是如此。
与普通的Python数组一样,我们可以通过调用Python的内置len()函数来访问张量的长度。

len(x)

当用张量表示一个向量(只有一个轴)时,我们也可以通过.shape属性访问向量的长度。

x.shape

3、矩阵

正如向量将标量从零阶推广到一阶,矩阵将向量从一阶推广到二阶。在数学中,向量A可以写为:
在这里插入图片描述
1.创建:当调用函数来实例化张量时, 我们可以通过指定两个分量
mn来创建一个形状为的矩阵。

A = torch.arange(20).reshape(5, 4)
A

结果
在这里插入图片描述
2.访问:我们可以通过行索引(i)和列索引(j)来访问矩阵中的标量元素Aij.

A[0][0]

3.转置:当我们交换矩阵的行和列时,结果称为矩阵的转置
在这里插入图片描述
在代码中访问矩阵的转置

A.T

结果
在这里插入图片描述

4、张量

就像向量是标量的推广,矩阵是向量的推广一样,我们可以构建具有更多轴的数据结构。 张量(本小节中的“张量”指代数对象)是描述具有任意数量轴的n维数组的通用方法。 例如,向量是一阶张量,矩阵是二阶张量。
1.创建:当调用函数来实例化张量时,

X = torch.arange(24).reshape(2, 3, 4)
X

结果
在这里插入图片描述
2.张量算法的基本性质:标量、向量、矩阵和任意数量轴的张量(本小节中的“张量”指代数对象)有一些实用的属性。 例如,从按元素操作的定义中可以注意到,任何按元素的一元运算都不会改变其操作数的形状。 同样,给定具有相同形状的任意两个张量,任何按元素二元运算的结果都将是相同形状的张量。

2.1矩阵相加:例如,将两个相同形状的矩阵相加,会在这两个矩阵上执行元素加法。

A = torch.arange(20, dtype=torch.float32).reshape(5, 4)
B = A.clone()  # 通过分配新内存,将A的一个副本分配给B
A, A + B

结果
在这里插入图片描述

2.2矩阵的积:具体而言,两个矩阵的按元素乘法称为Hadamard积(Hadamard product),对应位置元素相乘,区别于矩阵乘法

A * B

结果
在这里插入图片描述

2.3矩阵每个元素加2:将张量乘以或加上一个标量不会改变张量的形状,其中张量的每个元素都将与标量相加或相乘。

a = 2
X = torch.arange(24).reshape(2, 3, 4)
a + X, (a * X).shape

5、点积

给定两个向量x,y, 它们的点积是相同位置的按元素乘积的和:

x = torch.ones(4, dtype = torch.float32)
y = torch.ones(4, dtype = torch.float32)
x, y, torch.dot(x, y)

结果
在这里插入图片描述

6、向量—矩阵积

现在我们知道如何计算点积,可以开始理解矩阵-向量积,形如:
在这里插入图片描述

  • 实现方法:

在代码中使用张量表示矩阵-向量积,我们使用mv函数。 当我们为矩阵A和向量x调用torch.mv(A, x)时,会执行矩阵-向量积。 注意,A的列维数(沿轴1的长度)必须与x的维数(其长度)相同。

#查看A是否可以与x相乘
A.shape, x.shape, torch.mv(A, x)

7、矩阵—矩阵乘法

在掌握点积和矩阵-向量积的知识后, 那么矩阵-矩阵乘法(matrix-matrix multiplication)应该很简单。
在这里插入图片描述

  • 实现方法

这里的A是一个5行4列的矩阵,B是一个4行3列的矩阵。 两者相乘后,我们得到了一个5行3列的矩阵。调用torch.mm(A, B)时,会执行矩阵-向量积:

A = torch.ones(5, 4)
B = torch.ones(4, 3)
torch.mm(A, B)

矩阵-矩阵乘法可以简单地称为矩阵乘法不应与“Hadamard积”混淆

二、小结

  1. 标量、向量、矩阵和张量是线性代数中的基本数学对象。
  2. 向量泛化自标量,矩阵泛化自向量。
  3. 标量、向量、矩阵和张量分别具有零、一、二和任意数量的轴。
  4. 一个张量可以通过sum和mean沿指定的轴降低维度。
  5. 两个矩阵的按元素乘法被称为他们的Hadamard积。它与矩阵乘法不同。

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

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

相关文章

基于SpringBoot的高校办公室行政事务管理系统

采用技术 基于SpringBoot的高校办公室行政事务管理系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 功能清单 教师信息管理 办公室管理 办公物资管…

软文营销应该怎么做?软文营销的关键

软文本营销不是一个简单的写作和发送文章的过程,而是一个从早期准备到软文本写作再到效果评估的综合运营管理过程。 步骤一:目标明确 目标是指目标用户,找出目标用户是什么样的群体,从而根据用户群体的画像进行软文准备。 步骤二…

3000+人使用,这套人力资源数据分析工具还能这么用

中国科学院自动化研究所(以下简称“自动化所”)成立于1956年,是中国科学院率先布局成立的“人工智能创新研究院”的总体牵头单位,是中国最早开展智能科学与技术基础理论、关键技术和创新性应用研究的科研机构,也是中国…

ADAS-AEB系统详解

ADAS-AEB系统详解 AEB即自动紧急制动(Automatic Emergency Braking),其通过雷达、摄像头共同监测前方车辆以及行人情况,若探测到潜在碰撞风险,系统将采取相应预警及制动措施,从而避免发生碰撞或减轻碰撞损…

加速量产化节奏!移远通信5G RedCap模组RG255C-CN顺利通过SRRC认证

近日,移远通信5G RedCap模组产品再传喜讯——RG255C-CN顺利通过SRRC(无线电型号核准)认证测试,成为领先行业的轻量化5G产品。 此前,该模组也已通过NAL(电信设备进网许可)、CCC(中国强…

DXP学习1-使用DXP软件创建工程并熟悉相关操作

目录 实验内容(任务) PCB项目文件及原理图文件的创建及保存: 熟悉窗口界面、主菜单、各工具栏及图纸参数的设置: 首先先通过"纸张选择"做如下修改 修改纸张大小👇 修改标题栏的格式👇 修改…

生命源集团2024全球品牌发布会成功举办

生命源集团2024全球品牌发布会圆满落幕 3月20日,生命源集团在杭州隆重举办了主题为“生命源启,荣耀之巅”的2024全球品牌发布会。 活动伊始,嘉宾们陆续签到入场,现场气氛热烈而庄重。随后,生命源集团十二大事业部总裁…

6.2 ServiceNow 自动化测试框架 (ATF)

6.2 自动化测试框架 ATF 目录一、自动化测试框架 (ATF) 简介1. Automated Test Framework(ATF)2. 使用自动化测试框架 (ATF)的好处: 二、 ATF的测试类型1. 功能业务逻辑测试2. 回归测试3. 浏览器兼容性测试4. 服务器端 Jasmine测试 三、 ATF测…

详解:创业老阳推荐的Temu蓝海项目还能赚钱吗?

在当前全球化的背景下,跨境电商行业日益繁荣,成为了许多创业者关注的焦点。其中,Temu项目凭借其独特的商业模式和强大的市场潜力,备受瞩目。尤其是当知名创业导师老阳推荐Temu项目时,更是激起了广大创业者的热情和好奇…

机器人路径规划:基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

应急响应-Linux(1)

应急响应-Linux(1) 黑客的IP地址 思路: 一般系统中马之后会有进程连接黑客的主机,可以使用netstat -anpt查看下当前进程的连接,此处查看到没有后 ,可以从系统服务开始查找,系统的服务日志一般都会保存相关访问信息&…

SAP CAP篇十五:写个ERP的会计系统吧,Part II

本文目录 本系列文章目标开发步骤数据库表设计初始数据初始数据:AccountCategories初始数据:AccountUsages初始数据:ChartOfAccounts初始数据:AccountSubjects Service 定义生成Fiori AppApp运行 本系列文章 SAP CAP篇一: 快速创…

P8597 [蓝桥杯 2013 省 B] 翻硬币 Python

[蓝桥杯 2013 省 B] 翻硬币 题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果…

【ppt技巧】PPT转换为图片,方法有哪些?

想要将ppt文件转换为图片,其实很简单,一起来看一下如何操作吧! 方法一: 使用格式转换器,有些文件格式转换器,支持ppt转换为图片。 方法二: 不需要转换器,直接在ppt中进行操作即可…

可观测性体系建设后,该如何挖掘数据及工具价值?

在现代企业的运维管理中,构建高效且可靠的可观测性体系是保障系统稳定性和业务连续性的关键。然而,运维团队成员的技术能力参差不齐往往成为实现这一目标的障碍。尤其在处理复杂系统故障时,高度依赖专业知识和经验的可观测性工具很难被全员有…

j-vxe-table设置

1.设置按键回车箭头tab健设置 :mouse-config"{selected: true}" :keyboard-config"{ isArrow: true, isEnter: true, isEdit: true,isTab:true}" 2 表格编辑设置 :edit-config"{trigger: this.triggerFlag, mode: row, showIcon: false , active…

如何用 C++ 部署深度学习模型?

深度学习模型通常在诸如Python这样的高级语言中训练和验证,但在实际生产环境部署时,往往需要更高的执行效率和更低的资源占用。C作为一款性能卓越、低级别的编程语言,是部署深度学习模型的理想选择之一。本文将详细介绍如何在C环境下加载和运…

opengl日记11-opengl的transformtions变换示例

文章目录 环境代码CMakeLists.txt文件内容不变。vertexShaderSource.vsmain.cpp 总结参考 环境 系统&#xff1a;ubuntu20.04opengl版本&#xff1a;4.6glfw版本&#xff1a;3.3glad版本&#xff1a;4.6cmake版本&#xff1a;3.16.3gcc版本&#xff1a;10.3.0 在<opengl学…

Blender 3D建模要点

3d模型可以为场景的仿真模拟带来真实感&#xff0c;它还有助于更轻松地识别场景中的所有内容。 例如&#xff0c;如果场景中的所有对象都是简单的形状&#xff0c;如立方体和圆形&#xff0c;则很难在仿真中区分对象。 1、碰撞形状与视觉形状 像立方体和球体这样的简单形状&a…

鸿蒙Harmony应用开发—ArkTS-属性动画

组件的某些通用属性变化时&#xff0c;可以通过属性动画实现渐变过渡效果&#xff0c;提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。布局类改变宽高的动画&#xff0c;内容都是直接到终点状态&#xff0c;例如文字、can…