Skip to content

程序员的数学总览

这一篇是这个系列的入口。先回答一个问题:你已经能写代码、能跑模型、能 git push,为什么还要再读一遍数学?

一句话先记住:这套系列不是教你重学《高等数学》——是教你看到一行公式时,知道它在工程里对应哪个旋钮、调它会动哪个指标。它的对照是 PyTorch 文档,不是 Bishop PRML。


一、为什么必须存在这一层

工程师对数学的态度,基本只有两种:"反正抄代码能跑""等真撞到再学"。前者撞到论文公式就废,后者撞到的时候已经没时间补。

1.1 真实痛点清单

下面这几个场景,任何一个让你卡过半小时以上,这个系列就值得读:

场景不懂数学时的表现懂一点数学后的表现
看论文卡公式看到 softmax(QK^T/√d_k)V 跳过整章知道 √d_k 是在防 logits 方差爆炸
训练 loss 突然 NaN把 lr 砍一半再试一次先看 softmax / log / 除法有没有炸
FP16 训练比 FP32 差"玄学,换 BF16 试试"知道 FP16 阶码窄、梯度容易下溢
LoRA 选 rank"抄别人的 8"知道 rank 是 SVD 里截断的奇异值个数
RLHF 调 KL 系数 β抄 OpenAI 论文的 0.1知道 β→0 退化成 SFT、β→∞ 锁死原模型
Embedding 比对一律用 cosine知道什么时候该用欧氏 / 内积 / 马氏
A/B 测试 p<0.05上线先问样本量 / 多重比较 / 检验功效
调 Adam β1 β2不敢动默认值知道 β1 是动量衰减、β2 是二阶矩衰减
Bloom filter 大小怎么选抄一个 1MB按误判率反推 m 和 k
看到 O(n log n)觉得"够快了"知道隐藏常数比 n log n 大十倍是常事

这些场景全是工程问题,不是数学问题——但底下都是同一层数学。这套系列就是补这一层。

1.2 反课本立场

写之前先把红线划清楚——这个系列不写这些:

  • 不证明:任何定理直接给结论 + 一张图 + 一段代码。看不懂证明完全不影响用。
  • 不算题:零习题、零课后题、零"试着证明 X"。你想算题去刷 Khan Academy。
  • 不抄维基:维基已经在那儿了,本系列只补它没串起来的"为什么 + 工程对应"。
  • 不讲数学史:牛顿莱布尼茨之争、希尔伯特的 23 个问题——和你调 Adam 没关系。
  • 不审美:"这个公式很优美"——读者只关心"调它会动什么"。

核心立场:所有数学描述限制在直觉、几何图与最小代码。看完应该能在白板前讲清楚一个数学概念"在哪个工程系统里出现、调它会动哪儿",而不是能证明它。

1.3 这层数学的真实位置

下面这张图,是这层数学在整个工程栈里的位置。你之前可能一直以为它是"基础课",其实它是"地下室"——你天天踩在上面,只是平时看不见。

应用层    LLM 应用 / 推荐 / 风控 / 加密通信 / 搜索

框架层    PyTorch / vLLM / Faiss / OpenSSL / NetworkX

算法层    LoRA / RAG / Adam / RSA / PageRank / Raft

═══════════════════════════════════════════════ ← 大部分工程师停在这里

数学层    SVD / 交叉熵 / 梯度 / 模运算 / 马尔可夫    ← 这套系列在这里

计算层    IEEE 754 / 整数溢出 / 数值稳定             ← 也在这里

地下室漏水的时候,你必须下到地下室才能修——loss NaN、训练发散、RSA 选错素数、PageRank 不收敛,这些 bug 在算法层是查不出来的,必须下到数学层。


二、三个支撑系列(地下室通哪儿)

这套系列不是孤立的——它和已有的三个系列(aiLearning / securityLearning / algorithmLearning)是"地下室"和"地面建筑"的关系。写这套系列的直接原因,就是写那三套的时候,数学一层撑不住了

2.1 aiLearning(ML / LLM / RAG / RLHF)

aiLearning 里几乎每篇都撞到数学:

aiLearning 篇目撞到的数学本系列对应
02 数学预备向量 / 矩阵 / 求导 / 概率(只起了个头)05-10、11-15、20-23 全部展开
03-08 神经网络 / BP / 优化器链式法则 / 梯度下降20-23
12-13 Transformer / Attention内积 / softmax / 张量05、10、17
18 LoRASVD / 低秩近似09
22-23 RAG / Embeddingcosine / 范数 / 向量空间05、09
33 量化 / 推理优化IEEE 754 / FP8 / INT402(本篇下一篇)
RLHF 篇KL 散度 / 重要性采样17

aiLearning 02 篇起了个头,但写到 RAG / 量化 / RLHF 时全部撞墙——算法实现可以照抄,但选型、调参、排错、读论文都绕不开数学。本系列就是把那些"撞墙"的地方一次性挖通。

2.2 securityLearning(密码学 / 协议 / 攻防)

密码学整个就是数论 + 群论:

密码学概念底下的数学本系列对应
RSA模运算 / 欧拉定理 / 大数分解难28
Diffie-Hellman离散对数难 / 循环群28
ECDSA / 椭圆曲线椭圆曲线上的群28
AES / 分组密码有限域 GF(2^8)28
哈希 / 生日攻击鸽笼 / 组合数学25
零知识证明概率算法 / 交互式协议11、29

securityLearning 讲的是协议和攻防(怎么用 RSA / 怎么 padding oracle 攻击),底下"为什么这个东西安全"全在数论那一节。本系列只补数学,不重复协议。

2.3 algorithmLearning(算法 / 数据结构 / 复杂度)

algorithmLearning 把算法实现讲透了,但算法选型的数学依据靠这一层:

算法数学依据本系列对应
哈希表期望 O(1) / 生日攻击03、25
快速排序期望 O(n log n) / 随机化03
布隆过滤器误判率公式 m / n / k03、25
HyperLogLog概率基数估计03
Count-Min Sketch概率上界03
LSH(局部敏感哈希)概率 + 几何03、05
PageRank矩阵幂迭代 / 特征向量08、27
MCMC / Metropolis马尔可夫链 / 平稳分布29

共同点:这些算法实现都不难(布隆过滤器 50 行代码),难的是"参数怎么选 / 误差有多大 / 为什么这么选保证够"——而这些全在数学层。

2.4 distributedLearning(分布式)

distributedLearning 不太需要数学——共识算法本质是协议设计,数学含量低。唯一的交点是 CRDT 的代数结构(半格),本系列只在 25 篇组合数学里顺手提一下,不展开。


三、六层路线图

整套系列 30 篇,按这六层组织。每一层都是独立的、能跳着读的——只是按"数学依赖"的顺序排了一下。

心智 + 基础(01-04)        ← 必读,后面所有内容的地基

线性代数(05-10)           ← 最值钱的一层,搞 ML 的必读

概率与统计(11-15)         ← 搞推荐 / A/B / 风控的必读

信息论(16-19)             ← 搞 NLP / LLM / 压缩的必读

微积分与凸优化(20-24)     ← 最贴日常调参,搞 ML 的必读

离散数学与工具链(25-30)    ← 搞密码学 / RL / 图算法的必读

3.1 每一层对哪类人最值钱

下面这张表,先决定你要读哪一层:

你是什么人最该读的层次该读的层可以跳的层
调 LLM 应用的(RAG / Prompt)05-10、16-1911-1525-30
训 ML 模型的(分类 / 推荐)05-10、20-2311-1525-30
训 LLM 的(预训练 / 微调)05-10、16-19、20-2302、11-1528
搞推荐 / 风控 / 增长11-15、05-1016-1928
搞密码学 / 安全25-30、0211-1516-19、20-23
搞算法竞赛 / 系统25-30、0305-1016-19
搞 RL / 控制 / 决策20-23、2911-1528
全栈工程师,想补短板01-04、05-1011-15、20-23按需

避坑:不要按顺序从 01 读到 30——除非你时间无限。先定位你撞墙的地方,从那一层开始倒推。比如你在调 LoRA,直接读 09(SVD);看不懂 09,回到 05-08;看懂了 09,继续 18(LoRA 实现)。

3.2 14 篇核心套餐

如果只读最有价值的部分,选这 14 篇:

05-10 线代  (6 篇)  — Attention / LoRA / Embedding 全靠这层
16-19 信息论(4 篇)  — 交叉熵 / KL / RLHF 罚项全靠这层
20-23 微积分(4 篇)  — Adam / SGD / BP 全靠这层

看完这 14 篇,你应该能在白板前讲清楚:

  • 为什么 Embedding 用 cosine,什么时候反过来
  • LoRA 的 rank=8 在数学上是哪个 r
  • 交叉熵的 log 直接算会出什么问题,log-sum-exp 在解决什么
  • RLHF 的 KL 罚项往哪个方向罚,β 调大调小分别会怎样
  • Adam 的 β1=0.9 / β2=0.999 / ε=1e-8 在数学上是什么

能讲清一题这个系列就值了

3.3 心智层(01-04)的位置

这层是地基,但不是最值钱的——直接读 05-10 你也能上手。心智层的作用是"出问题时帮你定位":

  • 训练 NaN → 02(IEEE 754)
  • 算法慢/快得离谱 → 03(渐进分析)
  • 看论文公式不认识符号 → 04(符号翻译)
  • 完全不知道为什么要学数学 → 01(本篇)

实际读法:01 通读,02-04 按出问题时回查就行。


四、怎么读这套系列

读法不对,前面那些都白搭。这里给三条硬核建议——不是"建议你怎么读",是"不这么读这层数学就跟你无关"。

4.1 配 NumPy 跑一遍

这个系列的代码全是 NumPy / PyTorch / SymPy 的最小片段——不是给你看的,是给你跑的。

python
# 标配三件套
import numpy as np
import torch
import sympy as sp  # 偶尔需要符号推导时用

每篇遇到代码:

  1. 先抄下来跑——结果对得上书里的数字才算入门
  2. 再改一个参数看动效——书里说"T 越大越平,T 越小越尖",你自己改 T 看一遍
  3. 最后用自己的数据跑一遍——比如 02 篇讲 FP16 溢出,你自己造一个 softmax([1000, 1000, 1000]) 看一眼

经验法则:没跑过代码的数学,看一遍等于没看。这层数学的特点就是"看着懂、用起来废"——只有跑一遍才知道边界在哪。

4.2 配 LLM 当陪练

2026 年读数学,不用 Claude / GPT 当陪练是浪费时间。这套系列假设你身边有一个 LLM,每篇里没展开的地方,直接问它:

场景提问示例
不认识符号"softmax 公式里这个 Σ 下标 j 表示什么,j 的范围是什么"
想看更具体例子"给我一个 3 维向量做 PCA 的最小例子,手算 + NumPy 对照"
验证理解"我理解 KL(p||q) 是把 q 当真分布、用 p 编码的额外代价,对吗"
卡在中间一步"为什么这一步从 ∂L/∂z 跳到 ∂L/∂W,具体哪个偏导没写出来"
想看图"帮我画一下 sigmoid 在 x∈[-6, 6] 的图,标出梯度消失的区域"

经验法则:遇到看不懂的不要硬刚 5 分钟以上,直接问 LLM。这层数学没有"看十遍就懂"的玄学,只有"换个角度讲一遍就懂"——LLM 最擅长这个。

但有个边界:LLM 在公式细节(下标、系数、推导)上经常出错——它的角色是"换种说法",不是"算题家教"。算细节请用 SymPy / NumPy 验证

4.3 不要硬刚证明

这是这套系列和大学课本的核心区别。课本会花 30 页证明中心极限定理,本系列会花一句话:

大量独立同分布随机变量加起来,不管原来什么分布,加起来都越来越像正态分布。

够了你这辈子用 CLT 的时候,只需要这一句话:

  • 调 Glorot / He 初始化时,激活值近似正态(CLT 决定的)
  • 算样本均值的置信区间时,均值近似正态(CLT 决定的)
  • Bootstrap 重采样为什么有效,CLT 在背后撑着

你需要"会用",不需要"会证"。证明只在两种情况下值得看:

  1. 你想搞理论研究、写论文(那不该读这个系列,该读 PRML)
  2. 你怀疑结论本身错了(99.9% 情况不会发生)

避坑:看到证明就硬刚一遍,是工程师学数学最大的陷阱——会把节奏拖到 5 倍,然后第三章就放弃。这层数学的工程价值,90% 在直觉,10% 在公式,0% 在证明

4.4 一个最小的练习节奏

每篇 1-2 小时:
  ├─ 30 分钟 通读 + 看图
  ├─ 30 分钟 跑一遍代码 + 改超参看动效
  ├─ 15 分钟 找一个你现实工作里对应的场景(实在没有就跳)
  └─ 15 分钟 问 LLM 三个"我以为我懂但还不太确定"的问题

每周 1-2 篇,半年读完整套

不需要更快。读快了"会的全是名词,不会的全是用法"——这是这个系列最反对的状态。


五、读完之后

每一层都有"读完之后该看什么"。总体上:

  • 想再深 ML 数学:Bishop PRML + Goodfellow Deep Learning 第 II 部
  • 想再深线代:Strang Introduction to Linear Algebra + 3Blue1Brown 视频
  • 想再深优化:Boyd Convex Optimization + Stanford CS364A
  • 想再深概率:Wasserman All of Statistics + Murphy Probabilistic Machine Learning
  • 想再深密码学:Boneh & Shoup A Graduate Course in Applied Cryptography(免费 PDF)
  • 想动手:fast.ai 的 Numerical Linear Algebra 课、karpathy 的 nn-zero-to-hero

但坦白讲,90% 工程师读完这一层就够用了——再深的部分,等你撞到再补。

下一篇 02-数的表示与精度.md,直接进入工程师最容易撞墙的第一站:为什么 FP16 训练会 NaN,以及 BF16 凭什么救场

最后更新: