标量、向量和张量的区别与联系
摘要:本文系统介绍了标量、向量和张量三种数据类型。标量是0维的单一数值(如温度、质量);向量是1维的有序数值集合,具有方向性(如速度、特征向量);张量是高维推广,包括矩阵及多维数组(如视频数据、神经网络权重)。三者逐级扩展,标量是0阶张量,向量为1阶张量。文章对比了它们的维度特征、运算方式和应用场景,并指出张量在深度学习、物理等领域的核心作用。编程中常用NumPy、PyTorch等工具处理这些数据
·
一、标量(Scalar)
定义
标量是只有大小(数值)而没有方向的量,是最基础的数据类型。
特点
- 维度:0 维(无方向)。
- 表示:通常用单个数值表示,如整数、浮点数。
- 运算:遵循基本算术运算(加、减、乘、除)。
示例
- 温度(25℃)、质量(10kg)、时间(5 秒)、价格(100 元)。
- 数学中的常数 π、3.14 等。
应用场景
- 日常数据记录(如身高、体重)。
- 编程中的基础变量(如整数、浮点数类型)。
二、向量(Vector)
定义
向量是由一组有序数值组成的量,既有大小又有方向,可理解为 “数值的有序列表”。
特点
- 维度:1 维(有方向,可用箭头表示)。
- 表示:
- 数学中常用括号或箭头表示,如 v=(v1,v2,v3) 或 abc。
- 编程中常用数组、列表表示(如 Python 中的
[1, 2, 3])。
- 运算:
- 加法:对应元素相加(如 (1,2)+(3,4)=(4,6))。
- 数乘:数值与每个元素相乘(如 2×(1,2)=(2,4))。
- 点积(内积):a⋅b=a1b1+a2b2,结果为标量。
- 叉积(外积):仅适用于 3 维向量,结果为新向量,垂直于原向量所在平面。
示例
- 物理中的速度(30m/s,方向向东)、力(10N,方向垂直向上)。
- 机器学习中的特征向量(如图片像素值组成的列表)。
应用场景
- 几何计算(如向量方向、距离)。
- 自然语言处理(词向量表示语义)。
- 物理力学分析(力、位移的合成与分解)。
三、张量(Tensor)
定义
张量是向量在高维空间的推广,可理解为 “多维数组”,其维度数量称为阶(Rank)。
特点
- 维度:n 维(n≥0,n=0 时为标量,n=1 时为向量)。
- 表示:
- 0 阶张量:标量(如 5)。
- 1 阶张量:向量(如 [1,2,3])。
- 2 阶张量:矩阵(如 (1324))。
- 3 阶及以上张量:多维数组(如视频数据可表示为 [帧号,高度,宽度,通道])。
- 运算:
- 矩阵运算(如矩阵乘法、转置)是 2 阶张量的典型运算。
- 高维张量支持切片、降维(如池化)、升维(如扩展维度)等操作。
示例
- 2 阶张量:图像像素矩阵([高度,宽度,通道数])。
- 3 阶张量:视频数据([时间帧,高度,宽度,通道数])。
- 4 阶张量:批量视频数据([批量大小,时间帧,高度,宽度,通道数])。
应用场景
- 深度学习:神经网络的输入、权重、输出均为张量(如卷积神经网络处理图像时使用 4 阶张量)。
- 物理与工程:弹性力学中的应力张量、相对论中的时空张量。
- 数据科学:多维度数据分析(如用户 - 商品 - 时间的三维交互数据)。
四、三者对比总结
| 类型 | 维度 | 表示示例 | 典型应用 |
|---|---|---|---|
| 标量 | 0 维 | 5、3.14 | 温度、质量、基础变量 |
| 向量 | 1 维 | (1,2,3) | 特征表示、力的方向 |
| 张量 | n 维(n≥0) | 矩阵、多维数组 | 图像 / 视频处理、深度学习、物理场 |
五、延伸理解:从标量到张量的拓展
- 标量是张量的特例:0 阶张量即标量,1 阶张量即向量,2 阶张量即矩阵。
- 张量的维度语义:高维张量的每个维度可对应不同的物理或逻辑意义(如批量、时间、空间等)。
- 编程实现:在 Python 中,NumPy 库用
ndarray表示张量,PyTorch/TensorFlow 等框架则提供更高效的张量运算支持。
更多推荐




所有评论(0)