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

文章目录

        • 前言
        • 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.hqwc.cn/news/23119.html

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

相关文章

Openlayers实战:多地图底图切换

在实际的地图项目中,不管是我们看到的百度地图还是高德地图等,都会有地图切换这一项。 在Openlayers实战中,我们用三种地图做demo,分别是谷歌地图。Openstreetmap,stamen地图。 切换的主要原则是设置三个底图层,设定其显示状态,用到了visible这一个属性。 效果图 源代码…

【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 编号内容1【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK2【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK3【VTK】VTK 显…

vue3中通过vue-i18n实现国际化

效果图 前言 突然想在vue3项目中使用国际化功能,查阅相关资料后发现和vue2的用法有些出入,记录一下 使用 下载vue-i18n npm i vue-i18n2、准备语言文件 目前我的项目只支持中英文切换,故准备一份中文文件和一份对应的英译文件 创建langur…

Kubernetes 组件介绍

Kubernetes 组件 部署完 Kubernetes,便拥有了一个完整的集群 一组工作机器,称为节点, 会运行容器化应用程序。每个集群至少有一个工作节点 工作节点会托管 Pod ,而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点…

[QT编程系列-13]:QT快速学习 - 1- 初识

目录 第1章 QT的介绍 1.1 QT VS MFC 1.2 QT历史 1.3 QT的应用 1.4 QT学习方法 1.5 QT对象树 1.6 2-8定律 1.7 QT优势: 1.8 QT支持的平台 第2章 QT UI是各种控件对象的堆积 第3章 QT UI是各种控件的堆积 第4章 控件窗口的控制 第1章 QT的介绍 1.1 QT V…

天翎MyApps低代码平台案例分享—阿米检测设备管理系统

项目背景:阿米检测技术有限公司(以下简称为“阿米检测”)隶属于中国航天科技集团,是北京航天计量测试技术研究所下属全资公司,2018年由国家财政部正式发文批准成立。司转化航天高端技术,开展测量方法应用、…

PyTorch翻译官网教程6-AUTOMATIC DIFFERENTIATION WITH TORCH.AUTOGRAD

官网链接 Automatic Differentiation with torch.autograd — PyTorch Tutorials 2.0.1cu117 documentation 使用TORCH.AUTOGRAD 自动微分 当训练神经网络时,最常用的算法是方向传播算法。在该算法中,根据损失函数与给定参数的梯度来调整模型参数&…

979. 在二叉树中分配硬币(力扣)

在二叉树中分配硬币 题目一题一解:DFS(java)思路步骤解析测试代码复杂度分析运行结果 优化代码思路测试代码运行结果复杂度分析 题目 给你一个有 n 个结点的二叉树的根结点 root ,其中树中每个结点 node 都对应有 node.val 枚硬币。整棵树上一共有 n 枚…

【阅读笔记】Rapid, Detail-Preserving Image Downscaling

Rapid, Detail-Preserving Image Downscaling(快速的图像缩放技术) 该论文提出了一种基于卷积滤波器的算法,并确定滤波器的权值,使重要的细节保留在缩小比例的图像。更具体地说,它为更偏离局部图像邻域的像素分配更大…

IEEE WCCI-2020电动汽车路由问题进化计算竞赛的基准集

引言 交通一直是二氧化碳排放的主要贡献者。由于全球变暖、污染和气候变化,联邦快递、UPS、DHL和TNT等物流公司对环境变得更加敏感,他们正在投资于减少作为其日常运作的一部分而产生的二氧化碳排放的方法。毫无疑问,使用电动汽车(…

X86架构的Linux(Ubuntu版本)上离线安装CUnit来解决Could not find CUnit(missing:CUNIT_LIBRARY)问题

前言1 下载cunit压缩安装包:CUint-2.1-3.tar.bz2(为了安装成功请下载对应版本)2 解压安装压缩包3 sudo ./bootstrap --prefix/usr/local/cunit 生成可执行文件configure*4 sudo ./configure --prefix/usr/local/cunit5 sudo make . 编译 &…

记录--你知道Vue中的Scoped css原理么?

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 追忆Scoped 偶然想起了一次面试,二面整体都聊完了,该做的算法题都做出来了,该背的八股文也背的差不多了,面试官频频点头,似乎对我的基础和项…