第 2 步 · 空间的线性扭曲
矩阵、线性变换与行列式Matrices & Transformations
不要把矩阵看成死板的数字方阵。矩阵本质上是一台“空间变换器”:基向量落到哪里,整片空间网格就跟随变形到哪里。矩阵乘法是变换的复合,而行列式则是空间体积的缩放比例。
16 分钟
阅读 + 实操
3 个
交互演示
入门
难度
线性变换沙盘 · 交互演示
行列式 det(A)1.00
基向量 î[1.0, 0.0]
基向量 ĵ[0.0, 1.0]
① 网格空间扭曲器:拖动红色 î 向量或绿色 ĵ 向量的端点,观察背景正交网格如何同步发生剪切、拉伸与旋转
② 矩阵乘法不可交换:对比「先旋转后剪切 (BA)」与「先剪切后旋转 (AB)」,观察非对称字母 F 的最终朝向
③ 行列式与面积缩放:黄色平行四边形面积即为 |det(A)|,当两基共线时面积归零
为什么学这步?
从最简单的全连接层 Wx + b,到卷积层里的核矩阵、Transformer 里的注意力投影矩阵,乃至强化学习的状态转移矩阵,机器学习几乎所有复杂模型都是通过层层矩阵变换构筑的。明白“矩阵就是空间变换”,你就能直接透视神经网络深层是如何一步步将纠缠不清的非线性数据揉碎拉开的。
📌 发生了什么
- 矩阵乘向量 = 对列向量做加权线性组合
- 矩阵乘法 = 连续两个空间变换的几何复合
- 行列式 = 变换前后空间面积的有向缩放比
⚠️ 常见陷阱
- 切忌把矩阵运算当成纯标量乘法:AB 与 BA 绝大多数时候不相等
- 行列式为 0 意味着空间降维,信息永久丢失(不可逆)
- 矩阵不改变原点位置:线性变换必须保持 (0,0) 恒不动
✅ 本章小结
- 列视角透视矩阵:第 j 列就是第 j 个基向量变换后的位置
- 逆矩阵 A⁻¹ 就是把变形后的空间拉回原样的反向操作
- 神经网络每一层都在对特征空间进行拉伸、旋转与投影
📐 从列视角看矩阵变换
传统线性代数教读者用“行乘列求内积”的方法机械计算矩阵乘法,但这种行视角完全掩盖了几何含义。真正符合几何直觉的是列视角:
向量 (x, y) 本质是告诉我们:“沿 î 走 x 步,沿 ĵ 走 y 步”。变换后,î 移动到了 (a, c),ĵ 移动到了 (b, d)。那么原本的点自然移动到 x·(a,c) + y·(b,d)。只要追踪 î 和 ĵ 的新落点,整个空间内任意一点的新坐标都一目了然。
🔄 逆矩阵与不可逆的几何本质
如果变换 A 将二维平面旋转并拉伸,那么逆矩阵 A⁻¹ 就是撤销这一变换、将网格还原回原样的操作。若 A 将整个二维网格压成了一条一维直线(此时 det(A) = 0),所有原本处于不同位置的点被压缩挤在同一点上,没有任何线性映射能够将这一维直线“反向爆裂”恢复成原本的二维全貌。这就是奇异矩阵不可逆的物理原因。
💻 2×2 矩阵乘法与行列式计算代码
// 矩阵乘向量 Ax
function mat2Apply(M, v) {
return [M.a * v[0] + M.b * v[1], M.c * v[0] + M.d * v[1]];
}
// 行列式
function det2(M) {
return M.a * M.d - M.b * M.c;
}
// 逆矩阵
function inv2(M) {
const d = det2(M);
if (Math.abs(d) < 1e-12) return null; // 不可逆
return { a: M.d / d, b: -M.b / d, c: -M.c / d, d: M.a / d };
}
📚 参考文献与延伸阅读
- 3Blue1Brown, Essence of Linear Algebra, Ch. 3 & 4 「Linear Transformations and Matrix Multiplication」 — 全网最直观的网格空间变形动态图像
- Strang, Linear Algebra and Learning from Data, §I.1 「Multiplication of Matrices」 — 从数据视角重新审视列组合矩阵乘法
- Goodfellow et al., Deep Learning, §2.2 「Multiplying Matrices and Vectors」 — 深度学习中的线性代数基础规范
- 对照阅读 → ML 第 5 步 · 多层感知机:层间仿射矩阵乘法;DL 第 7 步 · Transformer:多头线性子空间投影
📝 课后练习
检验你的理解——答对为止