在上一节,我们学会了如何判断一组向量是否“冗余”(线性相关)。现在,我们要寻找一个“恰到好处”的向量组——它既要足够强大,能够表示出整个空间的所有向量;又要足够精简,不包含任何冗余信息。这个完美的向量组,就是“基”。
1. 生成集与基#
生成集 (Generating Set) 与 张成空间 (Span) (Definition 2.13)
准确的数学定义: 给定向量空间 \(V\) 和一组向量 \(\mathcal{A} = \{\boldsymbol{x}_1, \dots, \boldsymbol{x}_k\} \subseteq V\)。由 \(\mathcal{A}\) 中向量的所有线性组合构成的集合,被称为 \(\mathcal{A}\) 的张成空间 (span),记作 \(\text{span}[\mathcal{A}]\) 或 \(\text{span}[\boldsymbol{x}_1, \dots, \boldsymbol{x}_k]\)。
如果 \(\text{span}[\mathcal{A}] = V\),即 \(V\) 中的任何一个向量都可以被表示为 \(\mathcal{A}\) 的线性组合,那么我们称 \(\mathcal{A}\) 是 \(V\) 的一个生成集 (generating set)。
直观解释:
- 一个非零向量的张成空间是穿过原点和该向量的一条直线。
- 两个线性无关的向量的张成空间是穿过原点和这两个向量的一个平面。
- 生成集就是能“撑起”整个向量空间的向量集合。
基 (Basis) (Definition 2.14)
一个生成集可能包含冗余的向量。例如,\(\mathbb{R}^2\) 中任意三个不共线的向量都可以生成整个平面,但显然其中一个是多余的。我们希望找到最精简的生成集。
准确的数学定义: 向量空间 \(V\) 的一个基 (Basis) 是一个线性无关的生成集。
等价定义 (核心洞见): 对于一个向量组 \(\mathcal{B} \subseteq V\),以下陈述是等价的:
- \(\mathcal{B}\) 是 \(V\) 的一个基。
- \(\mathcal{B}\) 是一个极小生成集 (minimal generating set):即,它是 \(V\) 的一个生成集,但从中移除任何一个向量后,它就不再是生成集了。
- \(\mathcal{B}\) 是一个极大线性无关组 (maximal linearly independent set):即,它是线性无关的,但向其中加入任何一个 \(V\) 中不属于 \(\mathcal{B}\) 的向量后,整个集合就变得线性相关了。
重要意义: 基为向量空间提供了一个“坐标系”。一旦选定一个基 \(\mathcal{B} = \{\boldsymbol{b}_1, \dots, \boldsymbol{b}_n\}\),空间中的任何向量 \(\boldsymbol{x}\) 都可以被唯一地表示为基向量的线性组合:
$$ \boldsymbol{x} = c_1\boldsymbol{b}_1 + c_2\boldsymbol{b}_2 + \cdots + c_n\boldsymbol{b}_n $$这组唯一的权值 \((c_1, \dots, c_n)\) 就是向量 \(\boldsymbol{x}\) 在这个基下的坐标 (coordinates)。
数值示例
在 \(\mathbb{R}^3\) 中,最常用的基是标准基 (standard/canonical basis):
$$ \mathcal{B} = \left\{ \boldsymbol{e}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \boldsymbol{e}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}, \boldsymbol{e}_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} \right\} $$注意:一个向量空间的基不是唯一的。例如,\(\left\{ \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \begin{bmatrix} 1 \\ -1 \end{bmatrix} \right\}\) 也是 \(\mathbb{R}^2\) 的一组基。
2. 维度与秩#
维度 (Dimension)
虽然一个向量空间的基不唯一,但所有基所包含的向量个数都是相同的。这个不变的数字,被定义为向量空间的维度 (dimension),记作 \(\text{dim}(V)\)。
- 直观解释: 维度衡量了空间的“自由度”。
- \(\text{dim}(\mathbb{R}^n) = n\)。
- 一条线的维度是1。
- 一个平面的维度是2。
如何寻找一个空间的基? (Example 2.17)
给定一组生成向量 \(\{\boldsymbol{x}_1, \dots, \boldsymbol{x}_m\}\),要找到它们张成的子空间 \(U\) 的一组基:
- 将这些向量作为列,构建矩阵 \(\boldsymbol{A} = [\boldsymbol{x}_1, \dots, \boldsymbol{x}_m]\)。
- 对 \(\boldsymbol{A}\) 进行高斯消元,得到行阶梯形矩阵 (REF)。
- REF 中主元 (pivot) 所在的列,其对应的原始向量就构成了 \(U\) 的一组基。
秩 (Rank) (Definition in Section 2.6.2)
秩是矩阵的一个核心属性,它将矩阵的行、列和线性变换联系在一起。
- 准确的数学定义: 一个矩阵 \(\boldsymbol{A} \in \mathbb{R}^{m \times n}\) 的秩 (rank),记作 \(\text{rk}(\boldsymbol{A})\),是其线性无关的列向量的最大数目。
- 等价定义 (核心定理): 矩阵的列秩 (column rank, 线性无关列的数目) 恒等于其行秩 (row rank, 线性无关行的数目)。
- 计算方法: 对矩阵 \(\boldsymbol{A}\) 进行高斯消元得到行阶梯形矩阵 (REF),REF 中主元的个数就是 \(\text{rk}(\boldsymbol{A})\)。
数值示例 (Example 2.18)
$$ \boldsymbol{A} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{bmatrix} $$这个矩阵已经是REF形式。它有两个主元(在第1行第1列和第2行第2列)。因此,$\text{rk}(\boldsymbol{A}) = 2)。
秩的重要性质与意义
秩告诉我们关于矩阵和线性方程组的许多关键信息:
- 与子空间维度的关系:
- \(\text{rk}(\boldsymbol{A})\) = 矩阵列空间 (Column Space) 的维度。列空间是由A的列向量张成的子空间。
- \(\text{rk}(\boldsymbol{A})\) = 矩阵行空间 (Row Space) 的维度。行空间是由A的行向量张成的子空间。
- \(\dim(\text{Col}(\boldsymbol{A})) = \dim(\text{Row}(\boldsymbol{A})) = \text{rk}(\boldsymbol{A})\)
- 与可逆性的关系: 对于一个 \(n \times n\) 的方块矩阵 \(\boldsymbol{A}\),它是可逆的当且仅当 \(\text{rk}(\boldsymbol{A}) = n\)。这种情况被称为满秩 (full rank)。
- 与线性方程组解的关系:
- 方程组 \(\boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}\) 有解(相容),当且仅当 \(\text{rk}(\boldsymbol{A}) = \text{rk}([\boldsymbol{A}|\boldsymbol{b}])\),即加入 \(\boldsymbol{b}\) 后,空间的维度没有增加。
- 齐次方程 \(\boldsymbol{A}\boldsymbol{x}=\boldsymbol{0}\) 的解空间(零空间)的维度是 \(n - \text{rk}(\boldsymbol{A})\)。这将在下一节的秩-零度定理中详细说明。
与机器学习的联系
矩阵的秩在机器学习中代表了数据的内在维度 (intrinsic dimension)。一个低秩矩阵意味着数据中存在大量的线性相关性或冗余。
- 推荐系统: 用户-物品评分矩阵通常是低秩的,因为用户的喜好不是完全随机的,而是由少数几个潜在因素(如“喜欢科幻”、“喜欢喜剧”)决定的。利用这个低秩特性进行矩阵分解是推荐算法的核心。
- 数据压缩: 对于图像等数据,如果其对应的矩阵是低秩的,我们就可以用更少的基向量来近似表示它,从而实现压缩。
本节知识点总结#
- 生成集与张成空间: 一组向量通过线性组合能“生成”的空间。
- 基 (Basis): 描述向量空间的最精简的“坐标轴”——一个线性无关的生成集。
- 维度 (Dimension): 基中向量的个数,是衡量空间“大小”的不变量。
- 秩 (Rank): 矩阵中线性无关的列(或行)的数目,可以通过高斯消元后主元的个数来计算。
- 秩的意义: 秩揭示了矩阵所代表的变换的“维度”,并直接关联到矩阵的可逆性和方程组解的性质。在机器学习中,它常被用来衡量数据的内在复杂度和冗余度。