欢迎光临
我们一直在努力

线性代数:现代科学计算的通用语言

引言

在高等数学、概率论与数理统计、线性代数这三门大学数学核心课程之间,存在一条隐秘而深刻的内在联系。表面上看,它们各自独立——微积分研究连续变化,概率统计处理随机现象,线性代数则探讨向量空间中的线性变换。然而,当我们把目光从理论推导转向实际计算时,一个令人震撼的事实浮现出来:线性代数正在成为所有科学计算的终极“物理层”语言。

本文试图打通这三座数学山峰之间的隧道,从微积分离散化到概率统计推断,从量子力学的概率幅到深度学习的张量运算,展示线性代数如何以统一的方式“计算”几乎一切。


第一部分:微积分——被离散化的连续世界

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)=h0limhf(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(xh)

关键洞察在于:当我们在

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,,fN1]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(xh)

对应的离散矩阵

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}

XRm×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(β)=21yXβ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βoldXTy)

看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。

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βoldXbatchTybatch)

这里发生了精妙的协同:

  • 概率统计提供随机采样的策略和收敛性分析
  • 线性代数在每个小批量上执行快速矩阵运算
  • 微积分提供梯度方向和步长指导

统计引入的“噪声”反而帮助模型跳过局部极小值,这是现代深度学习的基石。


第四部分:不可逆矩阵的“作弊”——伪逆与岭回归

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ψ22=tψ12+tψ22+2Re(⟨tψ1tψ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=iXb,h,w,iWi,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)=h0limhf(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/(N1)。把所有点的函数值排成一个列向量:

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,,fN1]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(xih)

你会发现,所有点的导数值可以一次性算完,只需要用一个差分矩阵去乘

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(xih)

对应的矩阵

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}

tu=αx22u

空间离散化后变成:

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+αΔtD2un

提取公因式:

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}

XRm×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(β)=21yXβ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βoldXTy)

看这个式子:求导(微积分)已经完成了,剩下的全部是矩阵乘法、向量加法、数乘——纯粹的线性代数运算。

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βoldXbatchTybatch)

这里发生了精妙的协同:

  • 概率统计提供随机采样策略
  • 线性代数在每个小批量上执行快速矩阵运算
  • 微积分提供梯度方向

统计引入的“噪声”反而帮助模型跳过局部极小值——这是现代深度学习的基石。


四、矩阵不可逆怎么办?伪逆与岭回归的“作弊”艺术

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ψ22

展开后会出现一个干涉项——这正是量子世界波粒二象性的数学来源,被线性代数优美地捕获。

整个量子力学的数学结构,就是复向量空间上的线性代数。


六、从矩阵到张量:深度学习的“升维打击”

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

赞(0)
未经允许不得转载:171主机测评 » 线性代数:现代科学计算的通用语言
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址