首页/笔记/线代/线性代数在机器学习中的核心结构作用

线性代数在机器学习中的核心结构作用

这篇不按教材章节走,而按“结构作用”来整理。

如果把 Strang 和 Axler 的主线压成一句话,那就是:

  • Axler 提醒我们,线性代数的主角不是矩阵计算,而是向量空间上的线性算子。
  • Strang 提醒我们,投影、最小二乘、奇异值分解、正定矩阵这些结构,会直接变成数据分析、优化和学习系统里的工作部件。

所以,线性代数进入机器学习,不是“学完线代后顺便能做 AI”,而是:

  1. 它给出模型的语言。
  2. 它给出优化的几何。
  3. 它给出稳定性的判据。

第一部分:核心结构(概念)

1. 算子结构:模型首先是 operator,不首先是公式

线性代数最强的地方,不是会算矩阵,而是会把“一个系统如何把输入变成输出”写成算子。

在机器学习里,最基础的模型就是

f(x) = Ax + b

这看起来像一个公式,但在线性代数视角下,它其实是在说:

  • 输入 x 属于某个向量空间
  • 参数 A 定义了一个从输入空间到输出空间的线性算子
  • 偏置 b 让这个算子变成仿射变换

深度网络只是把这件事重复很多次:

x -> A1 x + b1 -> sigma(.) -> A2 h + b2 -> sigma(.) -> ...

非线性激活很重要,但每一层内部真正承载“可学习结构”的,仍然是线性算子。

所以第一条主线是:

机器学习模型的骨架,本质上是“可组合的算子族”。

矩阵只是这个算子在某组基下的坐标表示。

2. 表示结构:representation 不是“写成向量”,而是“找到好坐标”

机器学习里的表示学习,经常被说成“学特征”。 更严格地说,它是在寻找一种坐标系、子空间或低维结构,使任务相关信息更容易被线性分离、压缩或传递。

这里有三层线性代数结构:

  • :决定你如何描述对象
  • 子空间:决定哪些方向被认为是“有效自由度”
  • 坐标变换:决定同一个对象在不同表示下是否更简单

这就是为什么 PCA、词向量、嵌入层、低秩分解都和线代直接相关。

它们的共同点不是“都用了矩阵”,而是:

它们都在重写表示,使结构在某个坐标系里变得可见。

3. 投影结构:学习常常是在逼近一个子空间

Strang 的主线之一是:最小二乘本质上是投影。

这件事在机器学习里极其核心,因为很多训练问题都可以读成:

  • 我们想解释数据
  • 但模型类有限
  • 所以只能在一个可表达的子空间里找“最近的解释”

在线性回归里,设计矩阵 X 的列空间就是模型可表达的方向集。 拟合 y,就是把 y 投影到 col(X) 上。

于是训练不再只是“把误差调小”,而是:

在可表示空间里寻找最接近目标的点。

这一步把 子空间正交投影最小二乘 直接接到了 AI。

4. 谱结构:eigenvalue / singular value 决定系统如何放大、压缩、筛选信息

如果说投影告诉你“模型能表达什么”,那谱结构告诉你“模型怎样作用这些信息”。

特征值和特征向量揭示的是:

  • 哪些方向在变换下保持方向不变
  • 哪些方向被放大或缩小
  • 哪些结构能被分解出来单独分析

奇异值分解进一步把这个观点推广到任意矩阵:

A = U Sigma V^T

它说明任何线性变换都可以看成:

  1. 先旋转到一个合适坐标系
  2. 再沿正交方向分别缩放
  3. 再旋转回去

机器学习里很多现象都可以用这套语言读:

  • PCA:找方差最大的主方向
  • 低秩近似:保留主要信号方向,丢掉次要方向
  • 表示压缩:把高维数据投到主要奇异方向
  • 梯度传播:某些方向被放大,某些方向被压扁

所以谱结构不是后面附加的高级技巧,而是:

它决定了一个学习系统对不同信息方向的态度。

5. 二次型结构:优化的局部形状由矩阵决定

线性代数不仅描述模型,还描述损失函数的局部几何。

最典型的形式是二次型:

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 的谱结构决定。

6. 条件结构:稳定性首先是条件数问题

很多人把稳定性理解成“代码会不会炸”,这太表面。

更深的稳定性问题是:

  • 数据稍微扰动一下,解会不会大幅变化?
  • 参数稍微改一点,输出会不会被过度放大?
  • 数值误差会不会在反复迭代里累积失控?

这背后的核心量,是奇异值和条件数:

kappa(A) = sigma_max(A) / sigma_min(A)

如果最小奇异值很小,那么某些方向几乎不可辨识:

  • 反问题会变脆弱
  • 参数估计会变不稳定
  • 梯度法会变慢
  • 泛化也更容易受噪声污染

所以稳定性不是附属话题,它就在 零空间奇异值正交性 这些线代概念里。


第二部分:统一解释(如何进入 AI)

1. 线性代数如何描述“模型”

统一视角是:

模型 = 一个从表示空间到表示空间的算子族。

具体来说:

  • 线性模型:直接学习一个算子 A
  • 仿射模型:学习 A 和偏置 b
  • 多层网络:学习一串可组合算子
  • 卷积层:学习受结构约束的稀疏线性算子
  • 注意力层:在固定注意力权重后,可读成对 value 的线性算子

所以“建模”在线代里并不是写下一个复杂公式,而是回答三个问题:

  1. 你的输入空间是什么?
  2. 你的可学习算子类是什么?
  3. 你允许哪些方向被保留、压缩、混合或消除?

这就是 operator 视角

2. 线性代数如何影响“优化”

统一视角是:

优化 = 在某个由矩阵诱导的几何里找下降方向。

在线性模型里,这件事几乎是透明的:

  • 梯度由 X^T(Xw-y) 给出
  • 曲率由 X^T X 给出
  • 收敛速度由谱分布和条件数决定

这三点意味着:

  • 特征相关性强,X^T X 会病态
  • 病态一出现,梯度法就会沿某些方向走得很慢
  • whitening、normalization、preconditioning 的作用,本质上都是在重塑这个几何

到了深度学习,这个故事没有消失,只是变成局部版本:

  • Jacobian 描述层与层之间如何传递扰动
  • Hessian、Gauss-Newton、Fisher 近似描述局部曲率
  • 优化器的很多技巧,本质是在修正尺度、方向和耦合关系

所以 optimization 视角 不是“把线代拿来算梯度”,而是:

优化难度本身就是一个谱几何问题。

3. 线性代数如何决定“稳定性”

统一视角是:

稳定性 = 算子对扰动的放大规律。

前向稳定性看的是:

  • 输入扰动会不会被模型放大
  • 中间层的信号会不会迅速衰减或爆炸

反向稳定性看的是:

  • 梯度在链式传递时会不会消失或爆炸
  • 参数估计会不会对样本噪声过度敏感

这两类稳定性都绕不开谱结构:

  • 大奇异值会放大某些方向
  • 很小的奇异值会让某些方向几乎不可识别
  • 非正交表示会让误差在耦合方向上混杂传播

因此,正交初始化、残差连接、归一化、低秩约束、正则化这些工程技巧,不只是“经验上有效”,而是在线代上有统一解释:

它们都在控制算子的谱、尺度和可逆性。

4. 三种视角怎样合成一个统一图景

operator / representation / optimization 三条线合在一起,可以得到一条更紧的主线:

  1. operator 说的是:模型到底是什么变换。
  2. representation 说的是:在哪个坐标系里,这个变换和数据结构更简单。
  3. optimization 说的是:怎样在这个变换族里找到一个好的参数。
  4. stability 说的是:找到之后,它对扰动是否可靠。

因此,线性代数在 AI 里不是零散工具箱,而是一个统一结构语言:

它让我们同时描述表示、计算、学习和鲁棒性。


第三部分:关键 insight(必须)

Insight 1:模型、优化、稳定性,本质上是在看同一个算子的三个侧面

  • 从建模看,它决定输入如何映到输出
  • 从优化看,它决定损失地形的曲率
  • 从稳定性看,它决定扰动如何被放大

这不是三套理论,而是一套算子结构的三种读取方式。

Insight 2:表示学习的核心,不是“把东西变成向量”,而是“找一个让结构显形的坐标系”

好表示不是更复杂,而是更可分、可压缩、可传递。

PCA 找的是主方向。 嵌入层找的是任务相关坐标。 隐层表示找的是更适合后续算子处理的中间空间。

所以 representation 的核心问题不是编码,而是坐标选择。

Insight 3:优化难不难,往往首先是谱问题,不首先是非线性问题

非线性当然重要,但在大量实际训练里,真正拖慢优化的,是:

  • 方向尺度差异太大
  • 特征高度相关
  • Jacobian 或 Hessian 的谱分布太差

也就是说,很多“训练难题”先表现为线代里的病态几何。

Insight 4:稳定性要盯住最小奇异值,而不只盯住大范数

很多人只关心爆炸,其实“接近不可逆”同样危险。

因为学习经常隐含一个反问题:

  • 从有限样本恢复参数
  • 从噪声观测恢复结构
  • 从中间表示恢复任务信息

一旦最小奇异值过小,这些恢复都会变脆弱。

所以稳定性不是只防止发散,也是在防止“信息不可恢复”。

Insight 5:正交与低秩,是机器学习里最常见也最深的两种结构偏置

正交 对应的是:

  • 信息尽量不失真地传递
  • 方向尽量解耦
  • 误差和梯度尽量不被额外扭曲

低秩 对应的是:

  • 模型只保留主要自由度
  • 表示被压缩到主结构
  • 噪声方向被主动舍弃

现代机器学习里大量有效技巧,最后都会落回这两种偏置。

Insight 6:矩阵不是 AI 里的配角工具,而是结构暴露面

我们看到的是矩阵,真正该读的是:

  • 它表示哪个算子
  • 它相对于哪个基
  • 它暴露了哪些子空间关系
  • 它的谱说明了什么
  • 它的条件数预示了什么

如果只把矩阵当表格,就会停留在“会算”; 如果把矩阵当结构暴露面,才真正进入“会解释”。


一个可以反复使用的总句

如果要把这篇内容压成一句最有解释力的话,我会写成:

线性代数之所以是机器学习的底层语言,不是因为模型里出现了矩阵,而是因为机器学习始终在处理四件事:表示什么、如何变换、怎样逼近、以及扰动会不会被放大;而这四件事恰好分别对应基与子空间、线性算子、投影与优化、谱与条件数。


参考支点

教材主线

  • Gilbert Strang, Introduction to Linear Algebra
  • Gilbert Strang, Linear Algebra and Learning from Data
  • Sheldon Axler, Linear Algebra Done Right

在线资料