在使用matlab或者python等语言进行数据处理时,高维数组是常用基本数据结构。
高维数组对应的数学概念就是张量( tensor )。在tensorflow和theano等机器学习框架中也使用tensor的概念。
Tensor可以理解为高维数组,在matlab中对高维数据做如下规定
这里用到了row,column,page等术语,可以将其可视化,参考 matlab官方文档
问题是:如果有第4维呢?该如何想象?
row, column, page的概念还有一个缺陷在于,如果进行维数扩展或者进行转置(transpose)操作,不利于直观想象。
所以在阅读或使用高维数组时, 知乎网友 建议:
高维数组可以理解为语法糖,在存储的时候,还是按1维数组来存储的。
考虑一下这种方式,
来源 Quora: How do I visualize multidimensional arrays?
遇上高维数组,画出数据结构,观察数据是如何组织的,知道你的大脑习惯这种数组组织形式。当在遇上其他高级数据结构时,清楚发生了什么。
拿出纸和笔,画出来!