深度学习标量、向量、矩阵、张量之间的区别与联系

news2025/8/4 0:33:57

文章目录

        • 前言
        • 1、张量
          • **注意**:
        • 2、**标量** (scalar):0阶的张量,0个轴,一个单独的数(整数或实数);
        • 3、**向量**(vector):1阶的张量,也叫矢量,1个轴,一个数组;
        • 4、**矩阵** (matrix):2阶的张量,2个轴通常称为行和列;
        • 5、标量向量矩阵张量之间的联系:

前言

深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是 向量矩阵神经网络的输入是向量,然后通过每个矩阵对向量进行线性变换,再经过激活函数的非线性变换,通过层层计算最终使得损失函数的最小化,完成模型的训练。所以要想学好深度学习,对这些基础的数据结构还是要非常了解。

1、张量

学过线性代数的童鞋都知道,矩阵可以进行各种运算,比如:矩阵的加减法,矩阵的转置、矩阵的点乘、矩阵的叉乘,为了方便存储矩阵及进行矩阵之间的运算,大神们抽象出了PyTorch库,PyTorch库中有一个类叫torch.Tensor,这个类存储了一个矩阵变量,并且有一系列方法用于对这个矩阵进行各种运算,上面的这些矩阵运算都可以通过torch.Tensor类的相应方法实现。Tensor 这个单词一般可译作 “张量”,但是上面我们进行的都是矩阵运算,为什么要给这个类型起名字叫张量呢,直接叫矩阵不就行了吗?张量又是什么意思呢?通常我们不但要对矩阵进行运算,还要处理,零维的(单纯的一个数字)、一维矩阵(数组)、二维矩阵(矩阵)、三维的(三维矩阵)、还有多维矩阵,Pytorch为了把这些各种维统一起来,所以起名叫张量。这样,数组就是一阶张量,二维矩阵就是二阶张量,还有三阶张量四阶张量五阶张量六阶张量等。pytorch中的 Tensor支持超过一百种多操作,包括转置、索引、切片、数学运算、线性代数、随机数等等,总之,凡是你能想到的操作,在pytorch里都有对应的方法去完成。
下图是一个三维矩阵:
在这里插入图片描述

注意
  • (dimension)通常用来描述向量,比如:N维向量,128维特征值。这里的张量的轴定义不一样,这种N维向量描述的仍然是向量(即1阶张量)其中的N描述的是数组的元素个数;
  • 由于2阶张量(即矩阵)形似2维平面,3阶张量形似3维空间,而N阶张量又可以用N维数组来表示,导致有时会被拿来形容张量的 ,为了避免混淆,不要用 来描述 张量的阶,阶的数量,代表这个张量有几个轴;

2、标量 (scalar):0阶的张量,0个轴,一个单独的数(整数或实数);

Python中定义一个标量:

x = 1

3、向量(vector):1阶的张量,也叫矢量,1个轴,一个数组;

Python中定义一个向量:(向量在python中表示成一维数组

import numpy as np
#行向量
a = np.array([1,2,3,4])

4、矩阵 (matrix):2阶的张量,2个轴通常称为行和列;

Python中定义一个矩阵:(矩阵在python中表示成二维数组

import numpy as np
#矩阵
a = np.array([[1,2,3],[4,5,6],[7,8,9]])

Python中定义一个三维矩阵3阶的张量(三维矩阵3阶的张量在python中表示成维数组)

import numpy as np
#张量
a = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])

我们以numpy.ndarrry类型的变量 t 的形状(t.shape)来说明:

  • (1,):标量,0阶张量,1维向量,只有1个数值;
  • (3,):矢量,1阶张量,3维向量,有3个数值;
  • (5,):矢量,1阶张量,5维向量,有5个数值;
  • (2, 3):矩阵,2阶张量,有6个数值,t[0]为3维向量;
  • (3, 1):矩阵,2阶张量,有3个值,t[0]为1维向量;
  • (3, 4, 5):3阶张量,有60个数值,t[0,0]为5维向量,t[0]为矩阵;

5、标量向量矩阵张量之间的联系:

标量是 0维空间中的一个点,向量是 一维空间中的一条线,矩阵是 二维空间的一个面,三阶张量 是三维空间中的一个体。也就是说,向量是由标量组成的,矩阵是向量组成的,张量是矩阵组成的

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

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

相关文章

elasticsearch学习入门+实战

学习链接1 基础概念 官网学习:地址 基本命令 PS:使用Apifox测试 查询所有索引库 添加索引库 添加时,加入分词器 添加时,加入记录属性值 查询获取索引库 删除索引库 添加文档 必须要在添加文档值的时候用【_doc】&a…

如何建立统一的自动化测试平台?

前面的文章中我们为大家介绍了中通科技自动化测试当时正在面临的一些困境。第一个是自动化测试框架太多,测试工程师在选择框架和脚本语言的时候很难统一,脚本编写门槛高。第二个是运行脚本的平台不统一,脚本运行时不够稳定。第三个是不同的Je…

TDengine数据建模

文章目录 1 引言2 数据建模3 数据建模的步骤4 创建库5 创建超级表实例 1 引言 工业互联网中有大量的时序数据需要存储和处理,tdengine是一个开源的、国产的、云原生时序数据库,tdengine不是基于其他第三方开源软件高级封装,是涛思数据完全自…

Java如何避免“重复代码”

一 前言 软件工程师和码农最大的区别就是平时写代码时习惯问题,码农很喜欢写重复代码而软件工程师会利用各种技巧去干掉重复的冗余代码。 业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD&…

2022-2023年项目总结

1.健康监护仪(WPF-用时两周) 通讯协议比较复杂,但展示要求不高,时间都花在了后台代码上,不过调试过程比较顺利,总体用时不长,下图:假数据演示 2.AI内窥镜(WPF-用时2月&a…

Windows10 PDF文件删不掉 解决办法

在使用Windows10系统时,有时会遇到文件删不掉的情况,本文提供一种删除文件方法,在自己计算机尝试成功。 适用环境:Windows10下名字太长的PDF文件。 原因:文件名超过255个字符长度,导致windows10 系统无法…

REMB-接收端最大接收码率评估

draft-alvestrand-rmcat-remb-03 接收方带宽估计的RTCP消息 REMB_fanyamin的博客-CSDN博客 webrtc中的码率控制_webrtc设置码率_linux_vae的博客-CSDN博客 参考: Walter: WebRTC 拥塞控制之 REMB - 接收方带宽估计 - 简书 WebRTC基于TransportCC和Trendline Fil…

VMware的两种备份方式

1、VMware的系统备份方式 ① 快照备份 ② 克隆备份 2、快照备份 快照:又称还原点,就是保存在拍快照时候的系统的状态(包含了所有的内容),在后期的时候随时可以恢复。 ☆ 拍摄快照 第一步:启动Linux的…

升级至iOS17公测版系统后如何降级?iOS 17 Beta降级详细教程

苹果最近发布iOS 17首个公测版,许多果粉都迫不及待地进行了更新。但是不少小伙伴升级iOS 17后iPhone遇到了一些问题,例如APP闪退、吃内存、耗电快等。Bug太多导致体验很差,想要降级到iOS 16系统。 升级iOS 17beta后悔了?其实只要苹…

蓝牙资讯|三星申请多项智能戒指商标,可与头显设备联动

三星向欧洲监管机构提交了多项智能戒指相关的商标申请。国外科技媒体 patentlyapple 报道称,三星计划让智能戒指作为 XR 头显设备的延伸,以进一步和苹果的 Vision Pro 头显竞争。 智能戒指; 可穿戴计算机本质上的智能手环、智能项链、智能眼…

Web_php_include

代码审计 进入环境&#xff0c;根据题目的提示&#xff0c;本题考察文件包含漏洞 <?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) {$pagestr_replace("php://", "", $page); } incl…

一、机器学习前的数学基础知识

你说春天太短 还未来得及看见自己 就要粉碎成灯红酒绿的夏 那就开花呀 开他妈的 1. 求和、求积 1.1 求和 假设现在我们要在纸上写下1加到100的简单求和运算&#xff1a; 1 2 3 4 5 ........ 99 100 使用求和符号简化&#xff08;读作“西格玛”&#xff09;&#xff1a…

浪潮退去,程序员们该如何适应?

大概从 2010 年开始&#xff0c;忽如一夜春风来&#xff0c;千树万树梨花开&#xff0c;移动互联网开始蓬勃发展&#xff0c;程序员们迎来了春天。 在过去的十多年里&#xff0c;程序员这个群体无疑是幸运的&#xff0c;享受了时代的红利&#xff0c;成为了高薪行业的代表。 然…

【Vue】 在 vue 中使用 iframe 挂载 html 文件

文章目录 首先需要将要挂载的html文件放到public 文件夹中 路径的引用形式 <iframe ref"sheet" src"/luckysheet.html" width"100%" height"100%"></iframe>通过绑定 ref 获取到 iframe&#xff0c;data为我需要传递的数…

开放式蓝牙耳机有哪些值得入手的呢?2023年值得入手的开放式耳机推荐,蓝牙耳机的选购指南分享推荐

身为一个音乐爱好者&#xff0c;出于对音质和佩戴舒适的追求&#xff0c;也有入手了很多品类的耳机&#xff0c;其中不乏有有线耳机、无线蓝牙耳机&#xff0c;两种不同的音频传输方式大类&#xff0c;其各自所拥有的特性也是不同的。而居于后者的无线蓝牙耳机&#xff0c;在现…

STM32CubeMX 创建一个新工程

首先打开CubeMX软件 点击图示处 然后在这个位置输入自己开发板的型号 输入自己想要的外设型号 最后选择 工程存放路径 IDE版本 等等 点击GENERATE CODE 生成好的工程文件用Keil IDE打开 然后点击编译下载 即可

svn迁移到git实际操作

1.到svn项目目录右键选中gitbash打开窗口&#xff0c;执行获取用户并映射成git样式账号命令如下: svn log -q | awk -F | /^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" "$2" <"$2"163.cn>…

5.postgresql--COALESCE

在 PostgreSQL 中&#xff0c; COALESCE函数返回第一个非空参数。它通常与 SELECT 语句一起使用以有效处理空值。 COALESCE函数接受无限数量的参数。它返回第一个不为空的参数。如果所有参数都为 null&#xff0c;则 COALESCE函数将返回 null。 COALESCE函数从左到右计算参数&a…

【简单搞定ubuntu18.04刷机教程】

下载ubuntu镜像 官网下载 下载刷机软件 推荐采用balenaEtcher作为系统盘制作工具&#xff0c;也可以从官网下载&#xff08;官网&#xff09;&#xff0c;就是速度有点慢。 安装步骤就是选择镜像、选择磁盘&#xff0c;开始刷机。简单。 安装 具体教程可以看官网教程 选…

Linux:squid传统代理

准备三台设备 centos7 --- http服务 --- 192.168.254.11 centos7 --- 代理服务器 --- 192.168.254.22 win10 --- 测试 --- 192.168.254.3 先测试不通过代理能否正常访问 没问题 基础配置 squid : Optimising Web Delivery (squid-cache.org) 去官网下载源码包 yum -…