从向量空间到矩阵:矩阵为什么本质上是线性映射
caokailun
学过线性代数的人,大多都见过矩阵,也做过大量矩阵计算,却未必真正理解矩阵到底代表什么。事实上,矩阵并不只是一个由数字排列成的表格,它更深层的意义是:描述一个向量空间到另一个向量空间之间的线性映射。本文将从向量空间出发,沿着“线性变换如何被表示”的主线,理解为什么矩阵本质上是线性映射在一组基下的具体表达。
一、向量空间解决了什么问题?
上一篇文章中,我们已经看到,向量空间的核心并不是“箭头”或者“坐标”,而是研究线性组合。
如果 $V$ 是定义在域 $F$ 上的向量空间,那么其中的向量可以进行两类基本操作:
$$ u + v $$
以及:
$$ a v $$
其中 $u, v \in V$,$a \in F$。
这意味着,我们可以构造线性组合:
$$ a_1v_1 + a_2v_2 + \cdots + a_nv_n $$
向量空间真正关心的是:
一个对象能否由若干基本对象通过线性组合表示出来?
例如,在二维平面 $\mathbb{R}^2$ 中,任意向量都可以由两个基本方向表示:
$$ e_1 = (1,0), \quad e_2 = (0,1) $$
对于任意向量:
$$ v = (x,y) $$
都可以写成:
$$ v = x e_1 + y e_2 $$
这说明,一旦选定一组基,向量就可以被坐标表示。
二、从向量到变换
有了向量空间之后,一个自然的问题是:
如果我们把一个向量变成另一个向量,这种变化应该如何描述?
例如,在平面中,我们可以把一个向量拉伸、旋转、投影或翻转。
这些操作都可以看成从一个向量空间到另一个向量空间的函数:
$$ T: V \to W $$
它表示把 $V$ 中的向量 $v$ 变成 $W$ 中的向量 $T(v)$。
但是线性代数并不研究所有函数。
它重点研究一种特殊的函数:线性映射。
三、什么是线性映射?
设 $V$ 和 $W$ 都是定义在同一个域 $F$ 上的向量空间。
如果一个映射:
$$ T: V \to W $$
满足下面两个条件:
$$ T(u + v) = T(u) + T(v) $$
以及:
$$ T(a v) = a T(v) $$
那么 $T$ 就称为一个线性映射。
这两个条件看起来很简单,但它们非常重要。
它们说明:
线性映射会保留线性组合的结构。
也就是说,如果:
$$ v = a_1v_1 + a_2v_2 + \cdots + a_nv_n $$
那么:
$$ T(v) = a_1T(v_1) + a_2T(v_2) + \cdots + a_nT(v_n) $$
这意味着,只要知道一组基向量经过线性映射之后变成了什么,就能知道所有向量经过这个映射之后会变成什么。
这正是矩阵出现的关键。
四、为什么只需要知道基向量的去向?
考虑二维空间 $\mathbb{R}^2$。
它的标准基是:
$$ e_1 = (1,0), \quad e_2 = (0,1) $$
任意向量都可以写成:
$$ v = (x,y) = x e_1 + y e_2 $$
如果 $T$ 是一个线性映射,那么:
$$ T(v) = T(xe_1 + ye_2) $$
根据线性性:
$$ T(v) = xT(e_1) + yT(e_2) $$
这说明:
只要知道 $T(e_1)$ 和 $T(e_2)$,就能知道任意向量 $v$ 的像。
例如,如果:
$$ T(e_1) = (2,1) $$
并且:
$$ T(e_2) = (3,4) $$
那么对于:
$$ v = (x,y) $$
就有:
$$ T(v) = x(2,1) + y(3,4) $$
也就是:
$$ T(v) = (2x + 3y, x + 4y) $$
所以,一个线性映射看似作用于无穷多个向量,但实际上只需要记录有限个基向量的变化。
矩阵就是用来记录这些信息的。
五、矩阵如何记录线性映射?
继续上面的例子。
我们知道:
$$ T(e_1) = (2,1) $$
$$ T(e_2) = (3,4) $$
把这两个向量作为列向量放在一起,就得到矩阵:
$$ A = \begin{bmatrix} 2 & 3 \ 1 & 4 \end{bmatrix} $$
这个矩阵的第一列是 $T(e_1)$,第二列是 $T(e_2)$。
因此,矩阵 $A$ 不是随便排列的一组数字。
它是在记录:
标准基向量经过线性映射后分别变成了什么。
现在对于任意向量:
$$ v = \begin{bmatrix} x \ y \end{bmatrix} $$
矩阵乘法给出:
$$Av = \begin{bmatrix}2 & 3 \ 1 & 4\end{bmatrix}\begin{bmatrix}x \ y\end{bmatrix} = \begin{bmatrix}2x + 3y \ x + 4y\end{bmatrix}$$
这正好就是:
$$ T(v) $$
所以:
矩阵乘以向量,本质上就是用矩阵所表示的线性映射去作用这个向量。
六、矩阵不是线性映射本身,而是线性映射的表示
这里有一个非常重要的区别:
线性映射是抽象对象,矩阵是它在某组基下的具体表示。
同一个线性映射,如果选择不同的基,得到的矩阵可能不同。
例如,在 $\mathbb{R}^2$ 中,我们通常使用标准基:
$$ e_1 = (1,0), \quad e_2 = (0,1) $$
但也可以选择另一组基:
$$ b_1 = (1,1), \quad b_2 = (1,-1) $$
在不同基下,同一个向量会有不同坐标;同一个线性映射,也会有不同的矩阵表示。
这说明矩阵并不是孤立存在的。
矩阵必须依赖于:
- 定义域中的一组基
- 值域中的一组基
- 一个线性映射
更准确地说:
矩阵是线性映射在选定基下的坐标表达。
七、为什么矩阵乘法这样定义?
很多人第一次学习矩阵乘法时,会觉得它的规则很奇怪:
$$(AB){ij} = \sum_k A{ik}B_{kj}$$
为什么不是对应位置相乘?
为什么要“行乘列”?
原因是:
矩阵乘法对应的是线性映射的复合。
假设有两个线性映射:
$$ T: U \to V $$
以及:
$$ S: V \to W $$
那么可以先做 $T$,再做 $S$,得到复合映射:
$$ S \circ T: U \to W $$
如果 $T$ 的矩阵是 $A$,$S$ 的矩阵是 $B$,那么复合映射 $S \circ T$ 的矩阵就是:
$$ BA $$
也就是说:
$$ (B A)x = B(Ax) $$
矩阵乘法之所以这样定义,是为了保证它和线性映射的复合完全一致。
所以,矩阵乘法不是人为规定的复杂规则,而是线性映射复合的自然结果。
八、为什么矩阵有行和列?
从线性映射的角度看,矩阵的列最容易理解。
如果:
$$ A = \begin{bmatrix} | & | & & | \ a_1 & a_2 & \cdots & a_n \ | & | & & | \end{bmatrix} $$
那么每一列 $a_i$ 表示第 $i$ 个基向量经过映射后的结果。
因此,矩阵乘向量:
$$ Ax $$
其实就是矩阵列向量的线性组合。
如果:
$$ x = \begin{bmatrix} x_1 \ x_2 \ \vdots \ x_n \end{bmatrix} $$
那么:
$$ Ax = x_1a_1 + x_2a_2 + \cdots + x_na_n $$
这说明:
矩阵乘向量,就是用输入向量的坐标作为权重,对矩阵的列向量做线性组合。
这也是为什么矩阵的列空间如此重要。
矩阵的列空间就是这个线性映射所有可能输出的集合。
九、从矩阵看四个基本子空间
对于一个矩阵:
$$ A \in F^{m \times n} $$
它可以看成一个线性映射:
$$ A: F^n \to F^m $$
也就是说,它把 $n$ 维向量映射到 $m$ 维向量。
从这个角度看,矩阵天然对应几个重要空间。
1. 定义域
输入向量来自:
$$ F^n $$
这是矩阵作用的起点。
2. 值域所在空间
输出向量属于:
$$ F^m $$
这是矩阵输出所在的空间。
3. 核空间
核空间是所有被映射到零向量的输入:
$$ \ker(A) = {x \in F^n : Ax = 0} $$
它描述的是:
哪些输入方向会被矩阵压缩成零。
4. 像空间
像空间是所有可能输出的集合:
$$ \operatorname{Im}(A) = {Ax : x \in F^n} $$
它也就是矩阵的列空间。
它描述的是:
这个线性映射最终能到达哪些方向。
因此,矩阵并不只是一个计算工具,它本身就携带着空间结构。
十、秩的本质是什么?
矩阵的秩通常被定义为行秩或列秩。
但从线性映射角度看,秩有一个更自然的解释:
秩就是线性映射输出空间的维数。
也就是说:
$$ \operatorname{rank}(A) = \dim(\operatorname{Im}(A)) $$
如果一个矩阵的秩是 $r$,说明它最多只能把输入空间映射到一个 $r$ 维的输出子空间中。
例如,一个 $3 \times 3$ 矩阵如果秩为 $2$,它可能把三维空间压缩到一个二维平面上。
如果秩为 $1$,它可能把三维空间压缩到一条直线上。
如果秩为 $0$,它把所有向量都映射到零向量。
因此,秩描述的是:
一个线性映射保留了多少维度的信息。
这也是秩在线性代数中如此重要的原因。
十一、可逆矩阵意味着什么?
如果一个矩阵 $A$ 是方阵,并且存在另一个矩阵 $A^{-1}$,满足:
$$ A^{-1}A = AA^{-1} = I $$
那么 $A$ 称为可逆矩阵。
从线性映射的角度看,这意味着:
这个线性映射可以被完全反向撤销。
也就是说,如果:
$$ y = Ax $$
那么可以通过:
$$ x = A^{-1}y $$
找回原来的输入。
可逆矩阵对应的线性映射必须满足两个条件:
- 不把不同向量压缩成同一个向量。
- 输出空间中的每个向量都能被某个输入到达。
换句话说,它既不丢失信息,也没有遗漏目标空间。
因此,可逆矩阵代表一种非常特殊的线性映射:
它只是改变了坐标、方向、尺度或形状,但没有丢失维度信息。
十二、机器学习中的矩阵为什么重要?
在机器学习中,矩阵几乎无处不在。
一个线性层通常写成:
$$ y = Wx + b $$
其中:
- $x$ 是输入向量
- $W$ 是权重矩阵
- $b$ 是偏置向量
- $y$ 是输出向量
如果暂时忽略偏置项 $b$,那么:
$$ y = Wx $$
就是一个线性映射。
权重矩阵 $W$ 的作用,是把输入向量空间中的数据映射到另一个向量空间中。
例如,一个神经网络层可能把:
$$ \mathbb{R}^{768} $$
中的向量映射到:
$$ \mathbb{R}^{3072} $$
中。
这本质上就是一个线性映射:
$$ W: \mathbb{R}^{768} \to \mathbb{R}^{3072} $$
神经网络通过大量这样的线性映射,再加上非线性激活函数,构造出复杂的函数表达能力。
因此,矩阵在机器学习中的意义并不只是“存参数”。
它本质上是在描述:
数据如何从一个表示空间变换到另一个表示空间。
十三、从向量空间到矩阵的完整主线
现在可以把这条逻辑串起来:
向量空间
↓
线性组合
↓
线性映射
↓
基向量的去向
↓
矩阵表示
↓
矩阵乘法
↓
线性映射的复合向量空间提供了线性组合的环境。
线性映射保留了线性组合的结构。
基让抽象向量可以被坐标表示。
矩阵记录了基向量在线性映射下的去向。
矩阵乘向量表示线性映射作用于向量。
矩阵乘矩阵表示线性映射之间的复合。
所以,矩阵不是线性代数中的孤立工具,而是向量空间和线性映射之间的桥梁。
结语
很多人以为矩阵就是一张数字表,用来做乘法、求行列式、解方程组。
但从更本质的角度看,矩阵真正描述的是:
一个线性映射如何把一个向量空间中的对象变换到另一个向量空间中。
矩阵的每一列记录的是基向量的去向。
矩阵乘向量是在执行线性映射。
矩阵乘矩阵是在复合线性映射。
秩描述的是映射保留了多少维度信息。
可逆性描述的是映射能否被完整撤销。
因此,矩阵并不是线性代数的起点,而是向量空间和线性映射在选定基之后的具体表达。
理解了这一点,矩阵就不再只是复杂的计算规则,而成为理解空间变换、数据表示和现代机器学习模型的核心语言。