Essay
历史与数学
学一个领域,概念和工具只是入门。想判断自己是否真的理解,看两点:这些概念是怎么来的,以及它依赖的数学能保证什么。
历史给出来路
概念都是具体问题的产物。微积分的记号之争留到今天:牛顿写 ẋ,莱布尼茨写 dy/dx,同一件事两套写法。
关系模型源于处理数据冗余和更新异常,规范化理论是后来对这一问题的系统回答。
Transformer 去掉循环,是为了让注意力在整段上下文上并行,不再依赖顺序。
不知道要解决的问题,定义就只是定义。背下来也无法判断它何时失效、何时该换工具。 历史还保存失败路径:符号主义的起落、第五代计算机、WS-* 的复杂度反噬。这些解释了今天的工具为什么避开某些设计。
数学给出边界
工程直觉说大概能跑,数学说在什么条件下成立、什么时候必然不行。
- 线性代数:PCA、最小二乘、注意力里的投影,都是换一组基。秩、特征值、条件数决定信息能留下多少。
- 信息论:Shannon 1948 用熵定义信息,压缩极限才成为可证明的命题。交叉熵是它的直接后代。
- 可计算性:停机问题划出算法上限,NP 完全性说明有些承诺不能给。CAP 是定理,不是架构偏好。
- 数值分析:浮点、条件数、稳定性,决定公式正确和算得对之间的距离。
反例的价值也在这里:一个反例结束一类猜想,比十个成功案例省时间。
只靠经验不够
经验只覆盖你遇到过的分布。没有历史,容易把当下的工具当成领域本身;没有数学,容易把跑通当成正确, 过拟合、不可复现、边界崩溃都是例子。
分工很清楚:历史说别人试过什么,数学说为什么不行,经验说这一台行不行。
具体做法
不必读完整个学科史,也不用从实分析补起。四件事就能开始:
- 读原始文献。每个领域至少读一篇奠基论文,比如 Shannon 1948、Codd 1970、Vaswani 等 2017。
- 写出形式定义。输入、输出、不变量、失败条件写不清,说明还停在类比。
- 复现最小例子。十行能跑通的例子,比十篇博客更容易暴露边界。
- 记时间线。每个概念标上谁、哪年、解决什么问题。
结论
历史防止重复发明和重复踩坑,数学防止自欺。两者都不保证成功,但能让错误提前暴露。缺一项,理解会停在会用。