理解高维数组

如题所述

第1个回答  2022-06-19

在使用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?

遇上高维数组,画出数据结构,观察数据是如何组织的,知道你的大脑习惯这种数组组织形式。当在遇上其他高级数据结构时,清楚发生了什么。

拿出纸和笔,画出来!

相似回答
大家正在搜