all_lessons/数学的逻辑/21第 22 课 / 共 44 课

第七部分 · 表示与几何

子空间、基与秩:线性方程组的几何

上一课说最小二乘是把真值投影到"特征张成的子空间"。可那块子空间到底长什么样——一条线?一个平面?方程 Ax=b 何时有解、何时唯一?这一课把"一堆向量张成什么"这件事彻底说清,并发现整个线性方程组的故事,都写在一个叫"秩"的数里。

线性回顾
上一课:我们给向量空间装上了内积,于是有了长度、夹角、正交与投影;并看穿最小二乘就是把真值 y 正交投影到"特征列张成的子空间"上。
留下的问题:可我们一直含糊地说"张成的子空间"——它究竟是一条线、一个平面,还是填满整个 ℝⁿ?方程 Ax = b 什么时候有解、什么时候解唯一?如果数据里两列特征其实重复了(线性相关),会发生什么?投影还稳吗?这些问题不解决,投影就站在沙地上。
本课新增:子空间(张成、线性无关、基、维度)、(一个变换/数据真正用到的维数)、零空间,以及它们如何一口气判定 Ax=b有解/唯一——并顺势讲清欠定、超定与正则化的动机。
本课路线
(1) 张成:一堆向量的所有线性组合,铺出一个子空间。(2) 线性无关 vs 相关:有没有"白给"的向量。(3) 基与维度:撑起子空间最精简的一组向量,个数就是维度。(4) 秩:矩阵真正"够到"几维——它的列空间维度。(5) Ax=b 的几何:b 在不在列空间里(有解)、零空间空不空(唯一)。(6) 满秩/亏秩、欠定/超定,与正则化为何登场。

张成:一堆向量铺出的空间

给你几个向量,你能用它们"够到"哪些地方?规则只有上一课那两条——相加数乘(合起来叫线性组合)。把这几个向量的所有线性组合收集起来,得到的整片区域,叫它们的张成(span):

span{v₁, v₂, …} = { c₁v₁ + c₂v₂ + … :c₁, c₂, … 取任意实数 }

读作"v₁,v₂… 张成的空间,就是它们所有线性组合的集合"。几何上很好想:

这种由线性组合铺出、且过原点、对加法和数乘封闭的区域,就叫子空间。上一课最小二乘投影到的"特征列张成的子空间",正是这种东西。它是一条线还是一个平面,取决于那些列向量里有几个真正不同的方向——这就把我们逼到下一个概念。

线性无关:有没有"白给"的向量

上面那个"平行向量没带来新方向"的情形,是核心。我们说一组向量线性相关,如果其中至少有一个能被其余几个线性组合拼出来——它是多余的,删掉也不影响张成。反过来,如果谁也拼不出谁,每一个都贡献了一个全新的方向,就叫线性无关

这件事对机器学习极其要命。设计矩阵 X 的两列特征如果线性相关(比如"身高(厘米)"和"身高(米)",或"总价"="单价×数量"早已含在里面),它们没带来新信息,却让模型无所适从:有无穷多组权重 w 给出同样的预测,参数定不下来。"哪些方向是真的、哪些是冗余的",正是线性无关在回答。

基与维度:最精简的一套坐标轴

既然冗余向量可以删,自然要问:撑起一个子空间,最少需要几个、又该选哪几个向量?答案是选一组既线性无关、又恰好张成它的向量——这组向量叫这个子空间的(basis)。基就是这个子空间专属的一套坐标轴:不多一根(无关)、不少一根(张成)。

而基里向量的个数,是这个子空间最本质的指纹——它的维度。一条线维度是 1,一个平面是 2,ℝⁿn。妙的是:同一个子空间能选无数组不同的基,但每组基的向量个数都一样。维度,是个不随坐标选择改变的硬事实。这呼应了 第 11 课埋下的"维度"——那里说向量有 n 个分量,这里我们才真正讲清:维度是张成它所需的最少独立方向数

秩:一个矩阵真正够到几维

现在把镜头转回矩阵。第 11 课说"矩阵是把整个空间拉伸压扁的变换"。一个变换可能把空间压扁降维(还记得行列式 = 0 那一幕吗)。那变换之后,输出究竟占满几维?这个数,就是矩阵的(rank)。

看矩阵的列。每一列是一个向量,所有列张成的子空间叫列空间——它正是这台变换所有可能输出的集合(因为 Ax 就是各列的线性组合)。秩,定义为列空间的维度,也等于列向量里线性无关的个数

rank(A) = 列空间的维度 = A 的列中线性无关向量的个数

一个 3×3 矩阵若秩为 3,它把三维稳稳映成三维(满秩、可逆);若秩为 2,三维被它压成一个平面;秩为 1,压成一条线。秩,就是"这台变换没把维度压垮、还剩几维"的体检指标——它把 第 11 课那句"det=0 即压扁"量化成了具体的剩余维数。

Ax = b 的几何:有解吗?唯一吗?

所有铺垫,都为看穿这个最基本的方程。Ax = b 在问:能不能把 A 的各列线性组合出 b组合系数就是要求的 x。于是两个老大难问题,瞬间变成两句几何话:

一切都写在秩里
m 个方程、n 个未知数的 Ax=b有解b 落在列空间内;解唯一 ⇔ 零空间只有原点 ⇔ 列线性无关 ⇔ 秩等于未知数个数 n。"有几个真正独立的方向"这一个数————同时决定了能不能解、解唯不唯一。线性方程组两千年的所有情形,被它一网打尽。

下面的小实验:调三个二维向量,实时看它们张成的是一条线、一个平面(整张 ℝ²)还是只剩原点,并实时报出,以及一个给定的 b 落不落在张成区域里(Ax=b 有没有解)。

张成与秩:这堆向量够到了几维?
拖三个彩色向量的端点。下方实时告诉你它们张成的是一条线、整张平面还是只有原点,以及(独立方向数)。黑色的 b 是目标:当张成铺满平面时它一定可达(有解);当张成只是一条线时,只有 b 恰好落在线上才有解——试着把向量都拖成平行,看秩掉到 1、b 多半变"不可达"。
张成的是
秩 rank
Ax = b(黑点)

满秩、亏秩,与正则化为什么登场

把这套语言对准真实数据,就理解了机器学习里两类常见困境,以及对策的来历:

所以秩不是课本里的冷知识。它告诉你数据有几个真正独立的方向、模型能不能定下来、什么时候必须投影近似、什么时候必须正则化。投影脚下的那块地,到这里终于夯实了。

常见误解

一句话带走
一堆向量的所有线性组合张成一个子空间;撑起它最精简的一组(线性无关 + 张成)是,个数是维度;矩阵的 = 列空间维度 = 独立列数,量出变换/数据真正够到几维。Ax=b 有解b 在列空间里,唯一 ⇔ 零空间只剩原点(满秩)。超定逼出最小二乘,亏秩逼出正则化——投影脚下的地,至此夯实。
下一步
我们已能看清一团数据张成什么、用了几维。可马上有个更尖的问题:在被一个变换(或一团数据)作用时,有没有某些特殊方向,只被拉伸、不被转向?这些方向像是变换的"骨架",找到它们,就找到了"数据里最值得看的方向"。它们叫特征向量,拉伸的倍数叫特征值——降维、主成分、协方差几何的总钥匙。→ 第 22 课《主轴:特征值与特征向量》。