矩阵:可理解为二维数组、二维张量
向量Vector:是只有一列的矩阵
张量:是矩阵向任意维度的推广。
机器学习经常会用到张量做变换,所以下文重点介绍张量。
可以通过.ndim查看numpy数据的张量维度。张量的维度(dimension)也叫轴(axis),从有几个轴 (几个不同方向)角度就很好理解了。
- 标量和一维张量
如下图x0是0维张量,也叫标量;x1和x2只有一个维度,是一维张量。
- 二维张量
y1是二维张量,形状为(3,5),也是3行5列的矩阵。
y1的第一维(第一轴方向的上)可以看最外层的[ ]。相当于这个方向上有3个元素 [ v1,v2,v3 ],所以第一维大小为3。
y1的第二维(第二轴方向的上)可以看里面一层的[ ]。如 [5, 78, 2, 34, 0] 在这个方向上有5个元素,所以第二维大小为5。
- 三维张量
3维张量同样从最外层的[ ] 看起,最外层的[ ] 中只有一个矩阵元素,所以该方向大小为1;中间一层的[ ]包含 [ v1,v2,v3 ] 3个一维数组元素,所以该方向大小为3;最内层是[5, 78, 2, 34, 0] 包含5个数值元素,所以该方向大小为5。综上,y张量是(1,3,5)的3维张量。
最后再举个3维张量的例子: