向量空间与矩阵乘法背后的空间意义
前记
学习线性代数时,矩阵乘法经常被直接定义成一堆公式。公式当然重要,但如果只记公式,很容易不知道它到底在“改变什么”。
我更想从空间角度理解矩阵乘法:矩阵不仅是一张数字表,它也可以看成一种对空间的变换。
向量是什么
向量可以看成一组有顺序的数字:
1 | v = [1, 2, 3] |
这组数字可以表示一个点,也可以表示从原点指向这个点的箭头。
在二维空间中:
1 | v = [x, y] |
表示平面上的一个位置。
在三维空间中:
1 | v = [x, y, z] |
表示三维空间中的一个位置。
向量空间
向量空间可以理解为由一组向量张成的空间。
例如二维平面可以由两个基向量张成:
1 | e1 = [1, 0] |
任何二维向量都可以写成:
1 | v = x*e1 + y*e2 |
也就是:
1 | v = [x, y] |
矩阵乘法的直观理解
矩阵乘以向量,可以看成对向量做一次空间变换。
例如:
1 | A = [[2, 0], |
这个矩阵会把 x 方向拉伸 2 倍,而 y 方向保持不变。
如果:
1 | v = [1, 3] |
那么:
1 | A v = [2, 3] |
向量的位置发生了变化。
矩阵的列向量视角
矩阵的每一列可以看成基向量变换后的结果。
例如:
1 | A = [[a, b], |
第一列 [a, c] 是原来的 e1 被变换后的方向。
第二列 [b, d] 是原来的 e2 被变换后的方向。
所以矩阵乘法不是随便定义出来的,它描述的是:空间中的基向量如何被重新摆放。
为什么这对机器学习重要
神经网络里有大量线性变换:
1 | y = W x + b |
这里的 W 就是矩阵,x 是输入向量,b 是偏置。
从空间角度看,模型的每一层都在把输入空间变换到另一个表示空间。
这也是为什么线性代数是机器学习的底层语言。
小结
矩阵乘法可以从两个角度理解:
- 代数角度:行乘列,得到新的数字。
- 几何角度:对空间进行拉伸、旋转、压缩或投影。
如果只记公式,会觉得矩阵乘法很机械;如果理解空间意义,就能更自然地理解线性模型、神经网络和表示学习。
向量空间与矩阵乘法背后的空间意义