引言
在高等数学、概率论与数理统计、线性代数这三门大学数学核心课程之间,存在一条隐秘而深刻的内在联系。表面上看,它们各自独立——微积分研究连续变化,概率统计处理随机现象,线性代数则探讨向量空间中的线性变换。然而,当我们把目光从理论推导转向实际计算时,一个令人震撼的事实浮现出来:线性代数正在成为所有科学计算的终极“物理层”语言。
本文试图打通这三座数学山峰之间的隧道,从微积分离散化到概率统计推断,从量子力学的概率幅到深度学习的张量运算,展示线性代数如何以统一的方式“计算”几乎一切。
第一部分:微积分——被离散化的连续世界
1.1 计算机无法理解“无穷小”
微积分的核心工具——导数和积分——建立在极限概念之上。无穷小量
d
x
dx
dx 是数学家的优雅创造,但计算机只能处理有限精度的浮点数。当我们将连续问题交给计算机时,必须经历一个关键步骤:离散化。
以导数为例,微积分给出精确表达式:
f
′
(
x
)
=
lim
h
→
0
f
(
x
+
h
)
−
f
(
x
)
h
f'(x) = \\lim_{h \\to 0} \\frac{f(x+h) – f(x)}{h}
f′(x)=h→0limhf(x+h)−f(x)
计算机无法取极限,只能用足够小的
h
h
h 近似:
f
′
(
x
)
≈
f
(
x
+
h
)
−
f
(
x
−
h
)
2
h
f'(x) \\approx \\frac{f(x+h) – f(x-h)}{2h}
f′(x)≈2hf(x+h)−f(x−h)
关键洞察在于:当我们在
N
N
N 个离散点上计算所有导数值时,这个操作等价于一个矩阵乘法。定义函数值向量
f
=
[
f
0
,
f
1
,
.
.
.
,
f
N
−
1
]
T
\\mathbf{f} = [f_0, f_1, …, f_{N-1}]^T
f=[f0,f1,…,fN−1]T,一阶导数向量
f
′
\\mathbf{f'}
f′ 可以写成:
f
′
=
D
1
f
\\mathbf{f'} = D_1 \\mathbf{f}
f′=D1f
其中
D
1
D_1
D1 是一个三对角矩阵(或更复杂的差分矩阵),其非零元素由步长
h
h
h 决定。
1.2 二阶导数与拉普拉斯矩阵
二阶导数的离散化更为优美。微积分中的二阶导数:
f
′
′
(
x
)
≈
f
(
x
+
h
)
−
2
f
(
x
)
+
f
(
x
−
h
)
h
2
f''(x) \\approx \\frac{f(x+h) – 2f(x) + f(x-h)}{h^2}
f′′(x)≈h2f(x+h)−2f(x)+f(x−h)
对应的离散矩阵
D
2
D_2
D2 在主对角线为
−
2
/
h
2
-2/h^2
−2/h2,上下次对角线为
1
/
h
2
1/h^2
1/h2。这个矩阵在物理学中有一个响亮的名字:拉普拉斯矩阵(离散版)。
偏微分方程,如热传导方程
∂
u
/
∂
t
=
α
∂
2
u
/
∂
x
2
\\partial u/\\partial t = \\alpha \\partial^2 u/\\partial x^2
∂u/∂t=α∂2u/∂x2,在空间离散化后变为:
d
u
d
t
=
α
D
2
u
\\frac{d\\mathbf{u}}{dt} = \\alpha D_2 \\mathbf{u}
dtdu=αD2u
进一步时间离散化,得到计算机实际执行的迭代公式:
u
n
+
1
=
(
I
+
α
Δ
t
D
2
)
u
n
\\mathbf{u}^{n+1} = (I + \\alpha \\Delta t D_2) \\mathbf{u}^n
un+1=(I+αΔtD2)un
这就是计算的本质:复杂的偏微分方程,变成了一个稀疏矩阵与向量的反复乘法。
1.3 从多元微积分到矩阵微积分
在多元微积分中,函数的局部行为由雅可比矩阵(一阶偏导)和海森矩阵(二阶偏导)描述。这些本身就是线性代数的对象。雅可比矩阵将非线性映射在局部线性化,使复杂的多元函数优化问题转化为迭代求解线性方程组。
结论:微积分提供连续世界的数学模型,线性代数提供计算机实现这些模型的“执行引擎”。
第二部分:概率统计——被矩阵化的数据海洋
2.1 数据本身就是矩阵
概率论处理随机变量,数理统计处理大量观测数据。当数据规模达到百万、亿级时,唯一的组织方式就是矩阵。
假设我们有
m
m
m 个样本、
n
n
n 个特征,数据矩阵
X
∈
R
m
×
n
X \\in \\mathbb{R}^{m \\times n}
X∈Rm×n。几乎所有的统计计算都可以用矩阵运算表达:
- 均值向量:各列求平均,得到
x
ˉ
∈
R
n
\\bar{x} \\in \\mathbb{R}^n
xˉ∈Rn - 协方差矩阵:中心化后
Σ
=
1
m
X
T
X
\\Sigma = \\frac{1}{m} X^T X
Σ=m1XTX,包含了所有特征间的相关性 - 多元正态分布密度:
f
(
x
)
=
1
(
2
π
)
n
/
2
∣
Σ
∣
exp
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
f(x) = \\frac{1}{(2\\pi)^{n/2}\\sqrt{|\\Sigma|}} \\exp\\left(-\\frac{1}{2}(x-\\mu)^T \\Sigma^{-1} (x-\\mu)\\right)
f(x)=(2π)n/2∣Σ∣1exp(−21(x−μ)TΣ−1(x−μ)) 这个公式中,矩阵求逆、矩阵乘法、行列式计算构成了全部运算。
2.2 主成分分析:特征分解的统计诠释
统计学中最重要的降维方法——主成分分析(PCA)——本质上是协方差矩阵的特征分解。
协方差矩阵
Σ
\\Sigma
Σ 的特征向量指向数据方差最大的方向,特征值大小衡量该方向上的方差。PCA的核心计算就是求解特征值问题:
Σ
v
=
λ
v
\\Sigma v = \\lambda v
Σv=λv
一个纯粹的线性代数操作,赋予了深刻的统计含义:数据的主要变化模式。
2.3 马尔可夫链:转移矩阵的幂
在随机过程理论中,状态转移概率组成转移矩阵
P
P
P,其中
P
i
j
P_{ij}
Pij 表示从状态
i
i
i 转移到状态
j
j
j 的概率。未来
k
k
k 步后的状态分布为:
π
k
=
π
0
P
k
\\pi_k = \\pi_0 P^k
πk=π0Pk
平稳分布是满足
π
=
π
P
\\pi = \\pi P
π=πP 的概率向量,也就是矩阵
P
P
P 的特征值
1
1
1 对应的左特征向量。
结论:概率分布的计算,本质上就是大规模矩阵的乘法和特征分解。
第三部分:三大学科的终极汇合——梯度下降法
3.1 线性回归的三种视角
考虑最简单的机器学习模型——线性回归。给定数据矩阵
X
X
X 和目标向量
y
y
y,寻找参数
β
\\beta
β 使预测误差最小。
微积分视角:定义损失函数
L
(
β
)
=
1
2
∥
y
−
X
β
∥
2
L(\\beta) = \\frac{1}{2}\\|y – X\\beta\\|^2
L(β)=21∥y−Xβ∥2,求导并令其为零:
∇
L
(
β
)
=
X
T
X
β
−
X
T
y
=
0
\\nabla L(\\beta) = X^T X \\beta – X^T y = 0
∇L(β)=XTXβ−XTy=0
线性代数视角:得到正规方程
X
T
X
β
=
X
T
y
X^T X \\beta = X^T y
XTXβ=XTy,求解这个线性方程组即可。
概率统计视角:假设误差服从正态分布,则上述最小二乘解正是最大似然估计。
三种视角指向同一个数学对象,但计算机实际执行的是线性代数——解方程组或矩阵迭代。
3.2 梯度下降:当微积分遇到线性代数
当数据量极大时(如百万级样本、亿级参数),直接求解正规方程不可行。梯度下降法登场:
β
n
e
w
=
β
o
l
d
−
α
∇
L
(
β
o
l
d
)
\\beta_{new} = \\beta_{old} – \\alpha \\nabla L(\\beta_{old})
βnew=βold−α∇L(βold)
展开梯度公式:
β
n
e
w
=
β
o
l
d
−
α
(
X
T
X
β
o
l
d
−
X
T
y
)
\\beta_{new} = \\beta_{old} – \\alpha (X^T X \\beta_{old} – X^T y)
βnew=βold−α(XTXβold−XTy)
看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。
3.3 随机梯度下降:统计采样 + 线代计算
当
X
X
X 大到无法一次性加载时,采用随机梯度下降(SGD):随机抽取一个小批量(mini-batch)
X
b
a
t
c
h
X_{batch}
Xbatch:
β
n
e
w
=
β
o
l
d
−
α
(
X
b
a
t
c
h
T
X
b
a
t
c
h
β
o
l
d
−
X
b
a
t
c
h
T
y
b
a
t
c
h
)
\\beta_{new} = \\beta_{old} – \\alpha (X_{batch}^T X_{batch} \\beta_{old} – X_{batch}^T y_{batch})
βnew=βold−α(XbatchTXbatchβold−XbatchTybatch)
这里发生了精妙的协同:
- 概率统计提供随机采样的策略和收敛性分析
- 线性代数在每个小批量上执行快速矩阵运算
- 微积分提供梯度方向和步长指导
统计引入的“噪声”反而帮助模型跳过局部极小值,这是现代深度学习的基石。
第四部分:不可逆矩阵的“作弊”——伪逆与岭回归
4.1 伪逆:选择性忽略
矩阵
A
A
A 不可逆,意味着求解
A
x
=
b
Ax = b
Ax=b 时解不存在或无穷多。Moore-Penrose 伪逆
A
+
A^+
A+ 通过**奇异值分解(SVD)**强行构造“逆”:
A
=
U
Σ
V
T
A = U \\Sigma V^T
A=UΣVT
A
+
=
V
Σ
+
U
T
A^+ = V \\Sigma^+ U^T
A+=VΣ+UT
其中
Σ
+
\\Sigma^+
Σ+ 将零奇异值的倒数设为 0,非零奇异值正常取倒数。这相当于说:“在矩阵有意义的那些方向上精确求解,在丢失信息的方向上假装无事发生。”
4.2 岭回归:软衰减
伪逆是硬截断(零奇异值直接抛弃),而岭回归采用软衰减:
系数
=
σ
σ
2
+
λ
\\text{系数} = \\frac{\\sigma}{\\sigma^2 + \\lambda}
系数=σ2+λσ
当奇异值
σ
\\sigma
σ 很小时,系数被平滑压缩而非直接置零。这相当于在损失函数中添加惩罚项
λ
∥
β
∥
2
\\lambda \\|\\beta\\|^2
λ∥β∥2,使解更稳定。
对比:
- 伪逆:
1
/
σ
1/\\sigma
1/σ → 对微小噪声极度敏感,易过拟合 - 岭回归:
σ
/
(
σ
2
+
λ
)
\\sigma/(\\sigma^2 + \\lambda)
σ/(σ2+λ) → 稳定但略有偏差(有偏估计)
工业应用中,稳定性优先于无偏性,这就是为什么岭回归比纯伪逆更常用。
第五部分:量子力学——概率的复数版本
5.1 概率幅:内积的模方
量子力学颠覆了经典概率的计算方式。系统的状态是复向量空间(希尔伯特空间)中的态矢量
∣
ψ
⟩
|\\psi\\rangle
∣ψ⟩。测量得到某个本征态
∣
ϕ
⟩
|\\phi\\rangle
∣ϕ⟩ 的概率为:
P
(
ϕ
)
=
∣
⟨
ϕ
∣
ψ
⟩
∣
2
P(\\phi) = |\\langle \\phi | \\psi \\rangle|^2
P(ϕ)=∣⟨ϕ∣ψ⟩∣2
这里的
⟨
ϕ
∣
ψ
⟩
\\langle \\phi | \\psi \\rangle
⟨ϕ∣ψ⟩ 是内积,称为概率幅——一个复数。概率是复数内积的模方,而非复数本身。
5.2 叠加与干涉
量子态可以叠加:
∣
ψ
⟩
=
α
∣
↑
⟩
+
β
∣
↓
⟩
|\\psi\\rangle = \\alpha|\\uparrow\\rangle + \\beta|\\downarrow\\rangle
∣ψ⟩=α∣↑⟩+β∣↓⟩。测量得到“向上”的概率是
∣
α
∣
2
|\\alpha|^2
∣α∣2,“向下”是
∣
β
∣
2
|\\beta|^2
∣β∣2。
反直觉之处在于:当系统处于多个路径的叠加态时,最终概率不是概率相加,而是概率幅先相加再取模方:
P
=
∣
⟨
t
∣
ψ
1
⟩
+
⟨
t
∣
ψ
2
⟩
∣
2
=
∣
⟨
t
∣
ψ
1
⟩
∣
2
+
∣
⟨
t
∣
ψ
2
⟩
∣
2
+
2
Re
(
⟨
t
∣
ψ
1
⟩
∗
⟨
t
∣
ψ
2
⟩
)
P = |\\langle t|\\psi_1\\rangle + \\langle t|\\psi_2\\rangle|^2 = |\\langle t|\\psi_1\\rangle|^2 + |\\langle t|\\psi_2\\rangle|^2 + 2\\text{Re}(\\langle t|\\psi_1\\rangle^*\\langle t|\\psi_2\\rangle)
P=∣⟨t∣ψ1⟩+⟨t∣ψ2⟩∣2=∣⟨t∣ψ1⟩∣2+∣⟨t∣ψ2⟩∣2+2Re(⟨t∣ψ1⟩∗⟨t∣ψ2⟩)
交叉项
2
Re
(
⋯
)
2\\text{Re}(\\cdots)
2Re(⋯) 就是量子干涉的数学来源,被线性代数优美地捕获。
5.3 测量:投影算符
测量过程用投影算符
P
ϕ
=
∣
ϕ
⟩
⟨
ϕ
∣
P_\\phi = |\\phi\\rangle\\langle\\phi|
Pϕ=∣ϕ⟩⟨ϕ∣ 描述,测量后的状态为:
∣
ψ
′
⟩
=
P
ϕ
∣
ψ
⟩
⟨
ψ
∣
P
ϕ
∣
ψ
⟩
|\\psi'\\rangle = \\frac{P_\\phi |\\psi\\rangle}{\\sqrt{\\langle\\psi|P_\\phi|\\psi\\rangle}}
∣ψ′⟩=⟨ψ∣Pϕ∣ψ⟩
Pϕ∣ψ⟩
分母是归一化因子,确保概率和为 1。整个量子力学的数学结构,就是复向量空间上的线性代数——这一事实在物理学家口中常被称为“量子力学的狄拉克记号”。
第六部分:从矩阵到张量——高维数据的挑战
6.1 张量:矩阵的自然推广
矩阵是二维表格,张量是更高维度的数据组织方式:
- 彩色图像:高 × 宽 × 3(RGB通道)→ 3维张量
- 视频:帧数 × 高 × 宽 × 3 → 4维张量
- 批量训练:批次 × 帧数 × 高 × 宽 × 3 → 5维张量
高维带来的核心问题:矩阵乘法不再适用。
6.2 爱因斯坦求和约定
深度学习框架(PyTorch、TensorFlow)使用**Einstein求和(Einsum)**处理高维运算。例如,将 3维张量
X
X
X(批次 × 高度 × 宽度)与权重矩阵
W
W
W 相乘:
Output
b
,
h
,
w
,
o
=
∑
i
X
b
,
h
,
w
,
i
⋅
W
i
,
o
\\text{Output}_{b,h,w,o} = \\sum_{i} X_{b,h,w,i} \\cdot W_{i,o}
Outputb,h,w,o=i∑Xb,h,w,i⋅Wi,o
代码中写作 torch.einsum('bhwi,io->bhwo', X, W)。这条指令在GPU内部被拆解为成百上千个独立的矩阵乘法,并行执行。
6.3 自动微分:计算图上的链式法则
深度学习的反向传播是现代工程的最大成就。框架构建计算图——记录所有张量操作的有向无环图。调用 .backward() 时,从损失函数逆向遍历:
- 每个节点预存局部梯度公式(如
Y
=
X
W
Y = XW
Y=XW 对W
W
W 的梯度为X
T
X^T
XT) - 沿途梯度相乘(链式法则)
- 全部转化为矩阵乘法序列
整个复杂的微积分链式法则,在电脑内存里变成了一长串预先排好序的矩阵乘调用。这就是为什么GPU如此重要——它在矩阵乘法上比CPU快几十倍。
6.4 控制流的处理:动态图
代码中的 if/else 或循环并不直接出现在计算图中。框架根据当前输入数据的实际流向动态构建图:
- 输入正值走 if 分支,该分支被记录,else 分支完全不产生梯度
- 循环按实际迭代次数展开,每次迭代创建一个独立节点
- 对于不可微操作(如 argmax),框架使用“直通估计器”——前向走离散逻辑,反向直接跳过该节点透传梯度
这完全违背了微积分的严谨性,但在实践中效果极好。工程有效优先于数学正确。
第七部分:工业级极限——大模型训练的并行魔法
7.1 显存瓶颈
千亿参数的大模型,单块80GB显存的A100 GPU连模型本身都放不下。模型参数、梯度、优化器状态(如Adam中的动量和方差)三项合计可能超过1TB。
解决思路:拆分。不是把模型拆开(那是软件层面),而是把计算和存储切碎了分配给数千张GPU。
7.2 张量并行:切分矩阵
将单个矩阵乘法按行或列切分,分配给不同GPU。每张卡只存计算自己那部分,通过通信(All-Reduce)合并结果。
优点:有效降低单卡显存 缺点:通信开销巨大
7.3 流水线并行:切分层数
将模型的不同层分配到不同GPU。GPU 0负责前几层,GPU 1负责接下来的层,数据像流水线一样依次流过。
优化:将数据切分为“微批次”以填充流水线气泡,提升设备利用率。
优点:通信量相对较小 缺点:调度复杂,设备利用率可能不高
7.4 ZeRO:零冗余优化器
微软DeepSpeed框架的核心技术。既然每张卡存一份完整模型太浪费,不如把模型状态切成碎片分散存储。
三阶段:
- ZeRO-1:切分优化器状态
- ZeRO-2:切分优化器状态 + 梯度
- ZeRO-3:切分优化器状态 + 梯度 + 模型参数(终极形态,显存降为原来的 1/N)
甚至可以将暂时不用的数据卸载到CPU内存或NVMe固态硬盘,需要时再加载——显存不够,内存来凑。
7.5 通信优化
- 环形全归约:GPU围成环传递累加梯度,避免中心节点瓶颈
- 计算与通信重叠:计算当前批次时发送上一批次的梯度
- 梯度压缩:只传输绝对值最大的前1%梯度,通信量减少90%
结语:一颗数学树的三个分支
回顾全文,我们可以用一个统一的框架理解这三门课程:
| 高等数学(微积分) | 提供连续模型、变化率的数学描述 | 离散步长→差分矩阵 | 离散化后全转化为矩阵乘法 |
| 概率与数理统计 | 处理随机性、推断数据规律 | 协方差矩阵、特征分解、转移矩阵 | 数据天然是矩阵,统计量全用线代表达 |
| 线性代数 | 向量空间、线性变换的理论 | 所有数值计算的最终执行器 | 自身就是计算语言 |
微积分告诉计算机“往哪个方向走”,概率统计告诉计算机“数据里的噪声长什么样”,线性代数负责“具体迈出每一步”——在GPU的内部,这一切都被翻译成连续的浮点数矩阵乘加运算。
从求解偏微分方程的有限元方法,到训练千亿参数的大语言模型,从量子力学中概率幅的干涉,到推荐系统中的协同过滤,线性代数以其简洁而强大的数学结构,成为连接连续与离散、理论与工程、经典与量子世界的通用语言。
这三门课程在大学里分开讲授,是因为人类需要分步理解;但在计算的终极层面,它们早已融为一体。

从微积分到量子力学:线性代数如何“统治”了整个科学计算?
前言
翻开任何一本理工科教材,高等数学、线性代数、概率论与数理统计永远是前三座大山。在大多数人的印象里,这三门课各司其职——微积分研究连续变化,线性代数处理向量与矩阵,概率统计应对随机现象。
但当你真正走进科学计算和工程应用的深处,一个令人震撼的事实会浮现出来:无论你是求解偏微分方程、训练神经网络,还是理解量子世界,最终落到计算机芯片上执行的,几乎全是线性代数运算。
这篇文章,我想带你系统性地打通这三门课程之间的“隧道”,看看线性代数到底是如何成为现代科学计算“通用语言”的。
一、微积分 × 线性代数:当连续世界被“离散化”
1.1 计算机不认识“无穷小”
微积分的核心——导数和积分——建立在极限概念之上。数学家喜欢写:
f
′
(
x
)
=
lim
h
→
0
f
(
x
+
h
)
−
f
(
x
)
h
f'(x) = \\lim_{h \\to 0} \\frac{f(x+h) – f(x)}{h}
f′(x)=h→0limhf(x+h)−f(x)
但计算机是离散的,它不认识“无穷小”,只认识有限精度的浮点数。所以,所有连续问题交给计算机的第一步,必然是离散化。
1.2 求导 = 矩阵乘法
假设我们在区间
[
0
,
1
]
[0, 1]
[0,1] 上取
N
N
N 个等距点,步长
h
=
1
/
(
N
−
1
)
h = 1/(N-1)
h=1/(N−1)。把所有点的函数值排成一个列向量:
f
=
[
f
0
,
f
1
,
f
2
,
.
.
.
,
f
N
−
1
]
T
\\mathbf{f} = [f_0, f_1, f_2, …, f_{N-1}]^T
f=[f0,f1,f2,…,fN−1]T
用中心差分近似一阶导数:
f
′
(
x
i
)
≈
f
(
x
i
+
h
)
−
f
(
x
i
−
h
)
2
h
f'(x_i) \\approx \\frac{f(x_i + h) – f(x_i – h)}{2h}
f′(xi)≈2hf(xi+h)−f(xi−h)
你会发现,所有点的导数值可以一次性算完,只需要用一个差分矩阵去乘
f
\\mathbf{f}
f:
f
′
=
D
1
f
\\mathbf{f'} = D_1 \\mathbf{f}
f′=D1f
其中
D
1
D_1
D1 是一个三对角矩阵,非零元素由步长
h
h
h 决定。
二阶导数更经典:
f
′
′
(
x
i
)
≈
f
(
x
i
+
h
)
−
2
f
(
x
i
)
+
f
(
x
i
−
h
)
h
2
f''(x_i) \\approx \\frac{f(x_i + h) – 2f(x_i) + f(x_i – h)}{h^2}
f′′(xi)≈h2f(xi+h)−2f(xi)+f(xi−h)
对应的矩阵
D
2
D_2
D2 主对角线为
−
2
/
h
2
-2/h^2
−2/h2,上下次对角线为
1
/
h
2
1/h^2
1/h2。这个矩阵在物理学里有一个赫赫有名的名字——拉普拉斯矩阵(离散版)。
1.3 偏微分方程 = 矩阵迭代
拿热传导方程举例:
∂
u
∂
t
=
α
∂
2
u
∂
x
2
\\frac{\\partial u}{\\partial t} = \\alpha \\frac{\\partial^2 u}{\\partial x^2}
∂t∂u=α∂x2∂2u
空间离散化后变成:
d
u
d
t
=
α
D
2
u
\\frac{d\\mathbf{u}}{dt} = \\alpha D_2 \\mathbf{u}
dtdu=αD2u
再用前向欧拉法离散时间:
u
n
+
1
=
u
n
+
α
Δ
t
⋅
D
2
u
n
\\mathbf{u}^{n+1} = \\mathbf{u}^n + \\alpha \\Delta t \\cdot D_2 \\mathbf{u}^n
un+1=un+αΔt⋅D2un
提取公因式:
u
n
+
1
=
(
I
+
α
Δ
t
D
2
)
u
n
\\mathbf{u}^{n+1} = (I + \\alpha \\Delta t D_2) \\mathbf{u}^n
un+1=(I+αΔtD2)un
看明白了吗? 一个复杂的偏微分方程,最终变成了一个稀疏矩阵反复乘以一个向量。电脑不认识偏微分,电脑只认识矩阵乘法。
1.4 矩阵微积分
在多元微积分中,函数的局部行为由雅可比矩阵(一阶偏导)和海森矩阵(二阶偏导)描述。雅可比矩阵将一个非线性映射在局部线性化,把复杂的多元函数优化问题转化为迭代求解线性方程组。
一句话总结:微积分提供连续世界的数学模型,线性代数提供计算机实现这些模型的“执行引擎”。
二、概率统计 × 线性代数:数据本身就是矩阵
2.1 数据 = 矩阵
概率论处理随机变量,数理统计处理大量观测数据。当数据规模达到百万、亿级时,唯一的组织方式就是矩阵。
假设我们有
m
m
m 个样本、
n
n
n 个特征,数据矩阵
X
∈
R
m
×
n
X \\in \\mathbb{R}^{m \\times n}
X∈Rm×n。几乎所有统计计算都可以用矩阵运算表达:
- 均值向量:各列求平均
- 协方差矩阵:中心化后
Σ
=
1
m
X
T
X
\\Sigma = \\frac{1}{m} X^T X
Σ=m1XTX - 多元正态分布密度:
f
(
x
)
=
1
(
2
π
)
n
/
2
∣
Σ
∣
exp
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
f(x) = \\frac{1}{(2\\pi)^{n/2}\\sqrt{|\\Sigma|}} \\exp\\left(-\\frac{1}{2}(x-\\mu)^T \\Sigma^{-1} (x-\\mu)\\right)
f(x)=(2π)n/2∣Σ∣
1exp(−21(x−μ)TΣ−1(x−μ))
这个公式里,矩阵求逆、矩阵乘法、行列式计算构成了全部运算。
2.2 PCA = 特征分解
主成分分析(PCA)是统计学中最重要的降维方法。它的核心计算就是求解协方差矩阵的特征值问题:
Σ
v
=
λ
v
\\Sigma v = \\lambda v
Σv=λv
协方差矩阵的特征向量指向数据方差最大的方向,特征值衡量该方向上的方差大小。一个纯粹的线性代数操作,被赋予了深刻的统计含义。
2.3 马尔可夫链 = 矩阵幂
在随机过程理论中,状态转移概率组成转移矩阵
P
P
P。未来
k
k
k 步后的状态分布为:
π
k
=
π
0
P
k
\\pi_k = \\pi_0 P^k
πk=π0Pk
平稳分布就是矩阵
P
P
P 特征值为 1 对应的特征向量。
一句话总结:概率分布的计算,本质上就是大规模矩阵的乘法和特征分解。
三、三大学科的终极汇合:梯度下降法
3.1 线性回归的“三体问题”
线性回归是最简单的机器学习模型。给定数据矩阵
X
X
X 和目标向量
y
y
y,寻找参数
β
\\beta
β 使预测误差最小。
微积分视角:定义损失函数
L
(
β
)
=
1
2
∥
y
−
X
β
∥
2
L(\\beta) = \\frac{1}{2}\\|y – X\\beta\\|^2
L(β)=21∥y−Xβ∥2,求导:
∇
L
(
β
)
=
X
T
X
β
−
X
T
y
=
0
\\nabla L(\\beta) = X^T X \\beta – X^T y = 0
∇L(β)=XTXβ−XTy=0
线性代数视角:得到正规方程
X
T
X
β
=
X
T
y
X^T X \\beta = X^T y
XTXβ=XTy,解线性方程组。
概率统计视角:假设误差服从正态分布,最小二乘解正是最大似然估计。
三种视角指向同一个数学对象,但计算机实际执行的,是线性代数——解方程组或矩阵迭代。
3.2 梯度下降:微积分算完,线代上场
当数据量极大时,直接求解正规方程不可行。梯度下降法登场:
β
n
e
w
=
β
o
l
d
−
α
∇
L
(
β
o
l
d
)
\\beta_{new} = \\beta_{old} – \\alpha \\nabla L(\\beta_{old})
βnew=βold−α∇L(βold)
展开:
β
n
e
w
=
β
o
l
d
−
α
(
X
T
X
β
o
l
d
−
X
T
y
)
\\beta_{new} = \\beta_{old} – \\alpha (X^T X \\beta_{old} – X^T y)
βnew=βold−α(XTXβold−XTy)
看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。
3.3 随机梯度下降:统计采样 + 线代计算
当数据量大到无法一次性加载时,采用随机梯度下降(SGD):随机抽取一个小批量
X
b
a
t
c
h
X_{batch}
Xbatch:
β
n
e
w
=
β
o
l
d
−
α
(
X
b
a
t
c
h
T
X
b
a
t
c
h
β
o
l
d
−
X
b
a
t
c
h
T
y
b
a
t
c
h
)
\\beta_{new} = \\beta_{old} – \\alpha (X_{batch}^T X_{batch} \\beta_{old} – X_{batch}^T y_{batch})
βnew=βold−α(XbatchTXbatchβold−XbatchTybatch)
这里发生了精妙的协同:
- 概率统计提供随机采样策略
- 线性代数在每个小批量上执行快速矩阵运算
- 微积分提供梯度方向
统计引入的“噪声”反而帮助模型跳过局部极小值——这是现代深度学习的基石。
四、矩阵不可逆怎么办?伪逆与岭回归的“作弊”艺术
4.1 伪逆:选择性忽略
矩阵
A
A
A 不可逆,意味着求解
A
x
=
b
Ax = b
Ax=b 时要么无解,要么有无穷多解。Moore-Penrose 伪逆
A
+
A^+
A+ 通过**奇异值分解(SVD)**强行构造“逆”:
A
=
U
Σ
V
T
A = U \\Sigma V^T
A=UΣVT
A
+
=
V
Σ
+
U
T
A^+ = V \\Sigma^+ U^T
A+=VΣ+UT
其中
Σ
+
\\Sigma^+
Σ+ 将零奇异值的倒数设为 0,非零奇异值正常取倒数。
这相当于说:“在矩阵有意义的那些方向上精确求解,在丢失信息的方向上假装无事发生。”
4.2 岭回归:软衰减
伪逆是硬截断(零奇异值直接抛弃),而岭回归采用软衰减:
系数
=
σ
σ
2
+
λ
\\text{系数} = \\frac{\\sigma}{\\sigma^2 + \\lambda}
系数=σ2+λσ
当奇异值
σ
\\sigma
σ 很小时,系数被平滑压缩而非直接置零。
| 伪逆 |
1 / σ 1/\\sigma 1/σ, σ = 0 \\sigma=0 σ=0 时置 0 |
对微小噪声极度敏感,易过拟合 |
| 岭回归 |
σ / ( σ 2 + λ ) \\sigma/(\\sigma^2+\\lambda) σ/(σ2+λ) |
稳定但有偏差(有偏估计) |
工业应用中,稳定性优先于无偏性——这就是为什么岭回归比纯伪逆更常用。
五、量子力学:概率的“复数版本”
5.1 概率幅 = 内积的模方
量子力学颠覆了经典概率的计算方式。系统的状态是复向量空间(希尔伯特空间)中的态矢量
∣
ψ
⟩
|\\psi\\rangle
∣ψ⟩。测量得到某个本征态
∣
ϕ
⟩
|\\phi\\rangle
∣ϕ⟩ 的概率为:
P
(
ϕ
)
=
∣
⟨
ϕ
∣
ψ
⟩
∣
2
P(\\phi) = |\\langle \\phi | \\psi \\rangle|^2
P(ϕ)=∣⟨ϕ∣ψ⟩∣2
这里的
⟨
ϕ
∣
ψ
⟩
\\langle \\phi | \\psi \\rangle
⟨ϕ∣ψ⟩ 是内积,称为概率幅——一个复数。概率是复数内积的模方,而非复数本身。
5.2 叠加与干涉:线性代数的“神之一手”
量子态可以叠加:
∣
ψ
⟩
=
α
∣
↑
⟩
+
β
∣
↓
⟩
|\\psi\\rangle = \\alpha|\\uparrow\\rangle + \\beta|\\downarrow\\rangle
∣ψ⟩=α∣↑⟩+β∣↓⟩
测量得到“向上”的概率是
∣
α
∣
2
|\\alpha|^2
∣α∣2,“向下”是
∣
β
∣
2
|\\beta|^2
∣β∣2。
反直觉之处在于:当系统处于多个路径的叠加态时,最终概率不是概率相加,而是概率幅先相加再取模方:
P
=
∣
⟨
t
∣
ψ
1
⟩
+
⟨
t
∣
ψ
2
⟩
∣
2
P = |\\langle t|\\psi_1\\rangle + \\langle t|\\psi_2\\rangle|^2
P=∣⟨t∣ψ1⟩+⟨t∣ψ2⟩∣2
展开后会出现一个干涉项——这正是量子世界波粒二象性的数学来源,被线性代数优美地捕获。
整个量子力学的数学结构,就是复向量空间上的线性代数。
六、从矩阵到张量:深度学习的“升维打击”
6.1 张量:矩阵的自然推广
矩阵是二维的,张量是更高维度的数据容器:
- 彩色图像:高 × 宽 × 3(RGB)→ 3维张量
- 视频:帧 × 高 × 宽 × 3 → 4维张量
- 批量训练:批次 × 帧 × 高 × 宽 × 3 → 5维张量
高维带来的核心问题是:传统矩阵乘法不再适用。
6.2 Einsum:爱因斯坦求和约定
深度学习框架使用**Einstein求和(Einsum)**处理高维运算。例如:
torch.einsum('bhwi,io->bhwo', X, W)
这条指令在GPU内部被拆解为成百上千个独立的矩阵乘法,并行执行。
6.3 自动微分:计算图上的链式法则
深度学习的反向传播是现代工程的最大成就。框架构建计算图——记录所有张量操作的有向无环图。调用 .backward() 时:
- 每个节点预存局部梯度公式
- 沿途梯度相乘(链式法则)
- 全部转化为矩阵乘法序列
整个复杂的微积分链式法则,在电脑内存里变成了一长串矩阵乘调用。
6.4 控制流:动态图的“潜规则”
代码中的 if/else 不直接出现在计算图中。框架根据当前输入数据的实际流向动态构建图:
- 输入正值走 if 分支 → 该分支被记录,else 完全不产生梯度
- 循环按实际迭代次数展开
- 不可微操作(如 argmax)用“直通估计器”跳过
工程有效,优先于数学正确。
七、工业级极限:大模型训练的并行魔法
7.1 显存瓶颈
千亿参数的大模型,单块80GB显存的A100连模型本身都放不下。模型参数、梯度、优化器状态三项合计可能超过 1TB。
解决方案:拆分。
7.2 三种并行策略
| 张量并行 | 将单个矩阵乘法按行/列切分 | 降低单卡显存 | 通信开销巨大 |
| 流水线并行 | 将不同层分配到不同GPU | 通信量小 | 设备利用率不高 |
| ZeRO | 将模型状态切片分散存储 | 显存降为 1/N | 实现复杂 |
ZeRO(零冗余优化器)是微软DeepSpeed的核心技术。三阶段递进:
- ZeRO-1:切分优化器状态
- ZeRO-2:切分优化器状态 + 梯度
- ZeRO-3:切分三者,甚至可卸载到CPU内存或NVMe
7.3 通信优化
- 环形全归约:GPU围成环传递累加梯度,避免中心节点瓶颈
- 计算与通信重叠:计算当前批次时发送上一批次的梯度
- 梯度压缩:只传输最重要的梯度,通信量减少90%
结语:一颗数学树的三个分支
回顾全文,我们可以用一个统一的框架理解这三门课程:
| 高等数学 | 提供连续模型、变化率描述 | 离散步长→差分矩阵 | 离散化后全转化为矩阵乘法 |
| 概率统计 | 处理随机性、推断数据规律 | 协方差矩阵、特征分解 | 数据天然是矩阵 |
| 线性代数 | 向量空间、线性变换的理论 | 所有数值计算的最终执行器 | 自身就是计算语言 |
微积分告诉计算机“往哪个方向走”,概率统计告诉计算机“数据里的噪声长什么样”,线性代数负责“具体迈出每一步”。
在GPU的内部,这一切都被翻译成连续的浮点数矩阵乘加运算。
从求解偏微分方程的有限元方法,到训练千亿参数的大语言模型;从量子力学中概率幅的干涉,到推荐系统中的协同过滤——线性代数以其简洁而强大的数学结构,成为连接连续与离散、理论与工程、经典与量子世界的通用语言。
这三门课程在大学里分开讲授,是因为人类需要分步理解;但在计算的终极层面,它们早已融为一体。
1

