标量、向量、矩阵、张量之间的区别和联系
liuian 2025-01-14 15:20 82 浏览
前言
深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量进行线性变换,再经过激活函数的非线性变换,通过层层计算最终使得损失函数的最小化,完成模型的训练。所以要想学好深度学习,对这些基础的数据结构还是要非常了解的。
标量
标量(scalar):一个标量就是一个单独的数(整数或实数),不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。标量通常用斜体的小写字母来表示,例如:
标量就相当于Python中定义的
x = 1向量
向量(vector):一个向量表示一组有序排列的数,通过次序中的索引我们能够找到每个单独的数,向量通常用粗体的小写字母表示,例如:
向量中的每个元素就是一个标量,向量中的第i个元素用
表示,向量相当于Python中的一维数组
import numpy as np
#行向量
a = np.array([1,2,3,4])矩阵
矩阵(matrix):矩阵是一个二维数组,其中的每一个元素由两个索引来决定A(i,j),矩阵通常用加粗斜体的大写字母表示,例如:
我们可以将矩阵看做是一个二维的数据表,矩阵的每一行表示一个对象,每一列表示一个特征。在Python中的定义为
import numpy as np
#矩阵
a = np.array([[1,2,3],[4,5,6],[7,8,9]])张量
张量(tensor):超过二维的数组,一般来说,一个数组中的元素分布在若干维坐标的规则网格中,被称为张量。如果一个张量是三维数组,那么我们就需要三个索引来决定元素的位置A(i,j,k),张量通常用加粗的大写字母表示,例如:
import numpy as np
#张量
a = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])标量向量矩阵张量之间的联系
通过上面的介绍可以总结一下,标量是0维空间中的一个点,向量是一维空间中的一条线,矩阵是二维空间的一个面,三维张量是三维空间中的一个体。也就是说,向量是由标量组成的,矩阵是向量组成的,张量是矩阵组成的。
用一个比较通俗的例子可以概括为:假设你手中拿着一根棍子,标量就是我们只知道棍子的长度,但是不知道棍子指向的方向。向量就是我们除了知道棍子的长度之外还知道棍子指向的是左边还是右边,矩阵就是除了知道向量知道的信息外还知道棍子是朝上还是朝下,张量就是除了知道矩阵知道的信息外还知道棍子是朝前还是朝后。
线性代数常用的运算
一、向量的运算
1.点积
点积(dot product)又被称为数量积(scalar product)或者内积(inner product):是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。
代数意义
import numpy as np
a = np.array([1,2,3])
b = np.array([3,2,1])
#向量的点积运算
print(np.dot(a,b))#10几何意义
这个运算可以简单地理解为:在点积运算中,第一个向量投影到第二个向量上(这里,向量的顺序是不重要的,点积运算是可交换的),然后通过除以它们的标量长度来“标准化”。这样,这个分数一定是小于等于1的,可以简单地转化成一个角度值。利用向量积的几何意义,我们可以用来计算两个向量之间的夹角。
2.外积
import numpy as np
a = np.array([0,2])
b = np.array([3,3])
#向量的外积
c = np.cross(b,a)
print(c)通过外积我们可以用来快速求解平行四边形或三角形的面积,需要注意的是在计算向量积时候,向量之间的顺序,顺序相反会得到相反的结果(正数和负数),判断方向时采用右手定则。
3.向量的范数
二、矩阵的运算
1 .转置
转置(transpose):是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线(main diagonal)。如下图所示
其实就是将原矩阵的行变成了转置矩阵的列或将原矩阵的列变成转置矩阵的行。
2.矩阵的范数
3.常见的矩阵
- 方阵:也就方形矩阵,矩阵的列数与行数相等
- 对称矩阵:对称矩阵是一个方阵,矩阵的元素关于对角线对称,它的转置和自身相等,即
- Jacobian矩阵:Jacobian矩阵是函数的一阶偏导数以一定方式排列成的矩阵
- 单位矩阵:主对角线上的元素都为1,其余元素全为0的n阶矩阵称为n阶单位矩阵
- 正交矩阵
4.矩阵的乘法
矩阵乘法:是最常见的矩阵乘积,两个矩阵相乘,必须要满足前一个矩阵的列数等于后一个矩阵的行数,一个m×p的矩阵乘以一个p×n会得到一个m×n的矩阵。运算规则如下
numpy的实现如下,和向量积一样
import numpy as np
a = np.array([[1,2,3],
[-1,3,-2]])
b = np.array([[1,2],
[3,4],
[1,3]])
#矩阵相乘
print(np.dot(a,b))#或者使用np.matmul(a,b)
"""
[[10 19]
[ 6 4]]
"""5.矩阵哈达马积
哈达马积(Hadamard product):也叫矩阵的元素相乘,矩阵对应元素相乘,两个矩阵在进行元素相乘的时候必须要有相同的行数和列数,计算公式如下
在Python中计算两个矩阵元素相乘的乘积直接相乘即可,如果两个相乘的矩阵行数和列数不相等会报错,相乘的时候其中一个可以是标量或向量,会自动使用广播,标量乘以矩阵中的所有元素,相当于对矩阵的元素做一个缩放
import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[2,2],[1,3]])
#矩阵的元素相乘
c = a * b
print(c)
"""
[[ 2 4]
[ 3 12]]
"""
#矩阵的广播
d = a * 2
print(d)
"""
[[2 4]
[6 8]]
"""
d = a * np.array([1,2])
print(d)
"""
[[1 4]
[3 8]]
"""6.克罗内克积
克罗内克积(Kronecker Product):克罗内克积是两个任意大小的矩阵间的运算,符号记作? 。克罗内克积也被称为直积或张量积。计算过程如下例所示:
相关推荐
- 摄像头软件app有哪些(摄像头软件叫什么名字)
-
和家亲监控摄像头好用,这是中国移动推出的一款智能设备管理app,其功能十分强大,不仅可以链接多个智慧设备,帮助用户在手机上管理智能家居,而且还可以在调整观看的视角,画质等等,以及支持回放和储存等等功能...
- 笔记本电脑键盘不能用了怎么办
-
如果是键盘驱动异常,更新键盘驱动即可,1、在开始里找到windows系统。2、打开控制面板,选择硬件与声音。3、点击设备和打印机选择笔记本,点击硬件找到键盘。4、点击改变设置,选择更改驱动程序。5、选...
- 深圳平板电脑厂家排名(深圳平板电脑厂家排名榜)
-
乐福尔的平板电脑还不错。原因是其功能全面,触控灵敏,屏幕显示效果好,外观设计美观,适合用来阅读、写作、观看视频等多种用途。此外,乐福尔平板电脑还具有长时间续航和较快的处理速度,能够满足用户日常使用的需...
- 苹果手机五笔输入法(五笔输入法手机版下载)
-
苹果手机有五笔的输入法,苹果手机自带输入法无五笔输入法,需要在AppStore下载一个五笔输入法,然后再添加到键盘中。工具/材料:苹果6手机1、打开手机桌面的appstore应用软件。2、然后搜索...
- 万能app破解器(万能app软件破解器)
-
1、以现有的技术手段,是没有办法破解WPA的加密方式(现在基本上全部WIFI的加密方式),WPA的加密方式安全性很高,根本就破不了。2、即使破解密码,人家也有可能设置了MAC地址过滤,还是上不去。3、...
- 笔记本电脑自带摄像头怎么开启
-
要使用笔记本电脑自带的摄像头,请按照以下步骤操作:1.打开你的电脑,进入桌面。2.定位摄像头,通常在笔记本电脑的上部或者展开的屏幕的中央位置。3.双击摄像头图标,或者在键盘上按下对应的快捷键,以...
- 怎么知道wifi密码(手机连接上wifi怎么知道wifi密码)
-
关于这个问题,如果您想查看已经连接过的无线网络密码,请按照以下步骤操作:对于Windows10:1.点击任务栏中的WiFi图标,选择“网络和Internet设置”2.在“网络和Internet设...
- 电脑如何调出任务管理器(电脑如何调出任务管理器快捷键)
-
在Windows操作系统中,可以通过以下方法调出任务管理器:使用快捷键:按下“Ctrl+Shift+Esc”快捷键组合,即可快速打开任务管理器。使用组合键:按下“Ctrl+Alt+...
- win732位怎么还原系统(win732位gho)
-
系统安装失败,在以前的系统没有备份的情况下,是不能恢复的。只要诺顿开始运行,,不管进度条在什么位置,原系统都被格式化。如果有备份文件,那么方法是:1、打开系统备份还原软件:2、点击浏览,找到备份文件,...
- 电脑装什么杀毒软件(电脑装什么杀毒软件最安全)
-
好用的电脑杀毒软件,目前比较知名的有360杀软,腾讯电脑管家,金山毒霸,瑞星等杀毒软件,至于哪一个更好用,就看你自己的习惯了,我个人觉得360比较让人放心一些,这些年也一直用着360,比较安全有保证,...
- u盘uefi是什么意思(u盘用uefi模式启动)
-
u盘启动盘是指在U盘里安装PE版的操作系统后,把系统设置成从U盘启动,然后电脑开机就从U盘开始重装系统。UEFI,全称“统一的可扩展固件接口”,是一种详细描述类型接口的标准。这种接口用于操作系统自动...
- 天猫积分兑换根本抢不到(2021天猫积分兑换根本抢不到)
-
因为天猫积分的东西是有限的,但是很多人想要它们。如果你想抢到它,你最好注意启动秒杀的时间,在你启动倒计时时做好准备,并立即点击交换验证码,然后点击确认。一般最慢的时间是十秒内甚至四五秒内下单,五分钟内...
- win10任务管理器未响应(win10任务管理器没反应)
-
未响应这种情况应该是:1、说明程序是正在运行,但由于是系统运行内存不足,或者病毒、垃圾等造成的系统卡顿了。2、可以尝试重启系统、杀毒、清理垃圾即可。解决方法一:双击“此电脑”我的电脑的时候,出现资源管...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
