1

升维 --- Learn from 线代 Chapter 1 - 幸福在路上

 2 years ago
source link: https://windmissing.github.io/%E9%9A%8F%E4%BE%BF%E6%83%B3%E6%83%B3/2021-07/dimention.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

升维 --- Learn from 线代 Chapter 1 2021.07.08

线代Chapter 1讲的是向量和矩阵的基本概念,都是已知内容,给我留下印象最深的是它的升维思想。

我想说的升维,不是指(1) -> (1,1) -> (1,1,1)这种空间上的升维。而是指标量1 -> 向量(1) -> 矩阵[[1]] -> 张量[[[1]]]这种数据组织方式的升维。

一组标量数据,升维之后变成了一个向量。一组向量,升维之后变成了一个矩阵。
原本零散的数据,变成了一个整体。两组有内在关联的数据之间的计算,简化成了两个更高维度数据之间的计算。这是对数据的抽象。

再进一步扩展,聚在一起的数据也可以有不同的数据类型,只要是相关的数据,就可以聚到一起。这就形成了C语言里面的struct,或者python里面的tuple。那么定义在高维数据上的操作,例如向量相加,就类似于定义在struct上的算法。

而C++的class比C的struct在抽象方面做得更彻底。它不但把数据聚到一起,还它当成一种新的类型,并赋予它独特的行为。此时,一个完整的class实例才有意义,因为完整了class实例才有独立行为的能力。如果要在线代中类比这种做法的话,可以是SVD分解等类似的操作。此时的操作对象就是整个矩阵了。单独提取低维数据(一个class的内部数据、一个矩阵中的某个元素),对于高维数据(class实例、矩阵)的独特行为(类的行为、矩阵的SVD)来说,是没有意义的。

此时我想到了蚂蚁,通常认为一只蚂蚁是一个生命个体。单个蚂蚁虽然拥有完成的身体组件和独立的思想,但它一旦离开了蚁群,蚁生变得毫无意义,这不只是能不能存活的问题。因此,整个蚁群才是一个意义的生命的基本单位。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK