如果把 Strang 和 Axler 的主线压成一句话,那就是:
Axler 提醒我们,线性代数的主角不是矩阵计算,而是向量空间上的线性算子。Strang 提醒我们,投影、最小二乘、奇异值分解、正定矩阵这些结构,会直接变成数据分析、优化和学习系统里的工作部件。所以,线性代数进入机器学习,不是“学完线代后顺便能做 AI”,而是:
线性代数最强的地方,不是会算矩阵,而是会把“一个系统如何把输入变成输出”写成算子。
在机器学习里,最基础的模型就是
f(x) = Ax + b
这看起来像一个公式,但在线性代数视角下,它其实是在说:
x 属于某个向量空间A 定义了一个从输入空间到输出空间的线性算子b 让这个算子变成仿射变换深度网络只是把这件事重复很多次:
x -> A1 x + b1 -> sigma(.) -> A2 h + b2 -> sigma(.) -> ...
非线性激活很重要,但每一层内部真正承载“可学习结构”的,仍然是线性算子。
所以第一条主线是:
机器学习模型的骨架,本质上是“可组合的算子族”。
矩阵只是这个算子在某组基下的坐标表示。
机器学习里的表示学习,经常被说成“学特征”。 更严格地说,它是在寻找一种坐标系、子空间或低维结构,使任务相关信息更容易被线性分离、压缩或传递。
这里有三层线性代数结构:
基:决定你如何描述对象子空间:决定哪些方向被认为是“有效自由度”坐标变换:决定同一个对象在不同表示下是否更简单这就是为什么 PCA、词向量、嵌入层、低秩分解都和线代直接相关。
它们的共同点不是“都用了矩阵”,而是:
它们都在重写表示,使结构在某个坐标系里变得可见。
Strang 的主线之一是:最小二乘本质上是投影。
这件事在机器学习里极其核心,因为很多训练问题都可以读成:
在线性回归里,设计矩阵 X 的列空间就是模型可表达的方向集。 拟合 y,就是把 y 投影到 col(X) 上。
于是训练不再只是“把误差调小”,而是:
在可表示空间里寻找最接近目标的点。
这一步把 子空间、正交、投影、最小二乘 直接接到了 AI。
如果说投影告诉你“模型能表达什么”,那谱结构告诉你“模型怎样作用这些信息”。
特征值和特征向量揭示的是:
奇异值分解进一步把这个观点推广到任意矩阵:
A = U Sigma V^T
它说明任何线性变换都可以看成:
机器学习里很多现象都可以用这套语言读:
所以谱结构不是后面附加的高级技巧,而是:
它决定了一个学习系统对不同信息方向的态度。
线性代数不仅描述模型,还描述损失函数的局部几何。
最典型的形式是二次型:
q(x) = x^T H x
其中矩阵 H 不只是系数表,它决定:
在线性回归中,
L(w) = 1/2 ||Xw - y||^2
它的梯度和 Hessian 分别是:
grad L(w) = X^T (Xw - y)
H = X^T X
这说明优化问题的难度,不是抽象地“由损失函数决定”,而是非常具体地由 X^T X 的谱结构决定。
很多人把稳定性理解成“代码会不会炸”,这太表面。
更深的稳定性问题是:
这背后的核心量,是奇异值和条件数:
kappa(A) = sigma_max(A) / sigma_min(A)
如果最小奇异值很小,那么某些方向几乎不可辨识:
所以稳定性不是附属话题,它就在 秩、零空间、奇异值、正交性 这些线代概念里。
统一视角是:
模型 = 一个从表示空间到表示空间的算子族。
具体来说:
AA 和偏置 b所以“建模”在线代里并不是写下一个复杂公式,而是回答三个问题:
这就是 operator 视角。
统一视角是:
优化 = 在某个由矩阵诱导的几何里找下降方向。
在线性模型里,这件事几乎是透明的:
X^T(Xw-y) 给出X^T X 给出这三点意味着:
X^T X 会病态到了深度学习,这个故事没有消失,只是变成局部版本:
所以 optimization 视角 不是“把线代拿来算梯度”,而是:
优化难度本身就是一个谱几何问题。
统一视角是:
稳定性 = 算子对扰动的放大规律。
前向稳定性看的是:
反向稳定性看的是:
这两类稳定性都绕不开谱结构:
因此,正交初始化、残差连接、归一化、低秩约束、正则化这些工程技巧,不只是“经验上有效”,而是在线代上有统一解释:
它们都在控制算子的谱、尺度和可逆性。
把 operator / representation / optimization 三条线合在一起,可以得到一条更紧的主线:
operator 说的是:模型到底是什么变换。representation 说的是:在哪个坐标系里,这个变换和数据结构更简单。optimization 说的是:怎样在这个变换族里找到一个好的参数。stability 说的是:找到之后,它对扰动是否可靠。因此,线性代数在 AI 里不是零散工具箱,而是一个统一结构语言:
它让我们同时描述表示、计算、学习和鲁棒性。
这不是三套理论,而是一套算子结构的三种读取方式。
好表示不是更复杂,而是更可分、可压缩、可传递。
PCA 找的是主方向。 嵌入层找的是任务相关坐标。 隐层表示找的是更适合后续算子处理的中间空间。
所以 representation 的核心问题不是编码,而是坐标选择。
非线性当然重要,但在大量实际训练里,真正拖慢优化的,是:
也就是说,很多“训练难题”先表现为线代里的病态几何。
很多人只关心爆炸,其实“接近不可逆”同样危险。
因为学习经常隐含一个反问题:
一旦最小奇异值过小,这些恢复都会变脆弱。
所以稳定性不是只防止发散,也是在防止“信息不可恢复”。
正交 对应的是:
低秩 对应的是:
现代机器学习里大量有效技巧,最后都会落回这两种偏置。
我们看到的是矩阵,真正该读的是:
如果只把矩阵当表格,就会停留在“会算”; 如果把矩阵当结构暴露面,才真正进入“会解释”。
如果要把这篇内容压成一句最有解释力的话,我会写成:
线性代数之所以是机器学习的底层语言,不是因为模型里出现了矩阵,而是因为机器学习始终在处理四件事:表示什么、如何变换、怎样逼近、以及扰动会不会被放大;而这四件事恰好分别对应基与子空间、线性算子、投影与优化、谱与条件数。