工程师数学补强路线(修订版)

背景:Java + Python + 后端开发 + AI 方向 目标:100 天,建立数学概念框架,能解释工作问题,有代码产出 原则:每个模块 1 个主资源 + 动手实践 + 1 个输出项目


时间分配

| 阶段 | 模块 | 天数 | 日期区间 | 缓冲 | |------|------|------|----------|------| | 一 | ① 线性代数 | 22 天 | 4.20 - 5.11 | +2 天缓冲 | | 二 | ② 微积分直觉 | 10 天 | 5.14 - 5.23 | +2 天缓冲 | | 三 | ③ 概率统计(含贝叶斯) | 25 天 | 5.26 - 6.19 | +2 天缓冲 | | 四 | ④ 优化思想(含 ML 优化) | 20 天 | 6.22 - 7.11 | +2 天缓冲 | | 五 | ⑤ 离散数学 | 13 天 | 7.14 - 7.26 | — | | — | 总复盘 | 3 天 | 7.27 - 7.29 | — |

每个模块结束后留 2 天缓冲(消化+补漏+项目收尾),不计入模块天数。实际学习 90 天 + 8 天缓冲 + 2 天复盘 = 100 天。


进度总览

| 模块 | 状态 | 进度 | 输出项目 | |------|------|------|----------| | ① 线性代数 | 🟡 进行中 | 0% | 向量搜索引擎 | | ② 微积分直觉 | ⚪ 未开始 | 0% | 反向传播手推笔记 | | ③ 概率统计 | ⚪ 未开始 | 0% | A/B Test 分析器 | | ④ 优化思想 | ⚪ 未开始 | 0% | 系统容量优化模拟器 | | ⑤ 离散数学 | ⚪ 未开始 | 0% | DAG 任务调度器 |


核心资源

  1. 3Blue1Brown — 线代 + 微积分 + 贝叶斯(建立直觉)
  2. Immersive Math(immersivemath.com)— 线代交互式 3D 可视化
  3. Think Bayes(Python 3,第二版)— 概率统计 + 贝叶斯
  4. StatQuest(YouTube)— 统计概念补充
  5. 《Algorithms to Live By》 — 优化直觉(生活场景建立理解)

模块顺序说明

为什么微积分放第二个? 微积分直觉是理解优化思想(梯度下降)的前置依赖。先建立导数/梯度/链式法则的概念,学优化时才能理解"为什么梯度指向下降最快的方向",不至于学两遍。

为什么离散数学放最后? 离散数学(图论、拓扑排序、逻辑)相对独立,不依赖其他模块。放最后作为收尾,同时 DAG 调度器项目可以把前面学到的优化思想也用上。


停止线

当你能把概念解释给别人(费曼技巧),并有代码项目产出,就先过关。

最值得学到 90 分的:

  1. 线性代数 — AI 的地基
  2. 概率统计 + 贝叶斯 — 数据驱动的核心
  3. 优化思想 — 约束条件下做最优决策

60 分够用的: 4. 微积分直觉 — 理解变化率就够了 5. 离散数学 — 后端架构的抽象工具


费曼学习法(贯穿全程)

不是"学完再教",而是"边学边教"。每个概念学完立刻费曼,不要攒到模块结束。

四步循环

学一个概念 → 用自己的话解释出来 → 发现解释不清楚的地方 → 回去重学 → 再解释

怎么操作

每看完一个视频/一节内容,立刻做:

  1. 口头解释 — 关掉视频,用自己的话把核心概念说一遍(可以对着空气说,或者打字写下来)
  2. 写费曼笔记 — 在每个模块的「学习记录」区域追加一条,格式:
    • 🧠 概念名:用一句话说清楚它是什么
    • 🔗 和什么关联:这个概念和已学的哪个概念连着
    • 🚧 卡住的地方:解释到哪一步开始模糊了
  3. 卡住了就回去 — 看到解释不清楚的地方,说明这里没理解透,回去重看/重学
  4. 简化再简化 — 能让一个不懂技术的人听懂,才算真理解了

费曼检验标准

  • ❌ "矩阵乘法就是把对应元素乘起来加起来" → 这是复述公式,不是理解
  • ✅ "矩阵乘法就是把两个线性变换合并成一个变换,先做 A 变换再做 B 变换,等于直接做 AB 变换" → 这是理解了

费曼检查点(发给喵喵审)

每个模块的费曼检查点写成笔记发给喵喵,让喵喵扮演"不懂技术的产品经理"追问。自问自答容易自欺欺人,有反馈才能发现理解盲区。

| 模块 | 费曼挑战:用大白话解释给非技术人员听 | |------|------------------------------------------| | ① 线性代数 | "向量空间是什么?为什么 AI 要把文字变成向量?" | | ② 微积分直觉 | "导数是什么?为什么说它是变化率?" | | ③ 概率统计 | "p 值 0.05 是什么意思?95% 置信区间意味着什么?" | | ④ 优化思想 | "什么是帕累托最优?梯度下降在做什么?" | | ⑤ 离散数学 | "什么是 DAG?为什么流水线任务要按拓扑排序执行?" |


AI 辅助学习原则

可以用 AI 写代码,但核心算法逻辑必须自己写。 判断标准:删掉核心代码,你能重新写出来吗?写不出来 = 还没学会。

  • ✅ AI 写的:项目骨架、样板代码、数据读取、可视化、debug
  • ❌ AI 写的:你在学的那个数学概念对应的代码
  • 方法:先自己手写核心 → 再让 AI 扩展成完整项目 → 关掉 AI 代码用自己的方式重写一遍 → 对比差异

怎么跟 AI 工具协作(具体话术)

第一步:自己写核心代码(不问 AI)

打开编辑器,凭记忆和理解写。写不出来就回去看资料,再写。循环直到核心逻辑完成。

第二步:让 AI 扩展成完整项目

我有一个向量搜索引擎的核心逻辑已经写好了(附上代码)。
请帮我补充以下部分,但不要修改我的核心代码:
1. 读取文本文件并分词
2. 添加命令行交互(输入查询,返回结果)
3. 用 matplotlib 画相似度热力图
4. 添加中文注释解释每个函数的作用

第三步:关掉 AI 代码,用自己的方式重写核心

对比你的版本和 AI 的版本,差异的地方就是你没有真正理解的部分。

第四步:让 AI 检查你的代码(而不是替你写)

这是我手写的余弦相似度计算代码,请检查:
1. 数学公式是否正确
2. 有没有边界情况没处理
3. 不要直接给我正确答案,先告诉我哪里可能有问题,让我自己改

五个模块的「核心代码 vs AI 代码」划分

| 模块 | 你自己写的(数学核心) | AI 帮你写的(工程部分) | |------|----------------------|---------------------| | ① 线性代数 | TF-IDF 计算、余弦相似度、SVD 分解调用 | 文件读取、分词、可视化、命令行交互 | | ② 微积分 | 链式法则手推、梯度计算(纸笔) | 不需要代码,写笔记 | | ③ 概率统计 | 假设检验计算、p 值计算、置信区间 | 数据导入、图表绘制、结果格式化输出 | | ④ 优化思想 | 梯度下降实现、正则化损失函数、调度算法 | 数据生成、策略对比可视化、报告输出 | | ⑤ 离散数学 | 拓扑排序算法、环路检测、图遍历 | 任务定义解析、并行执行模拟、结果展示 |

红线

  • 如果你删掉核心代码重新写不出来 → 回去重学那个概念,不要跳过
  • 如果 AI 生成的代码你逐行看不懂 → 不要直接用,让 AI 解释每一行
  • 看了 AI 代码后,关掉用自己的方式重写一遍 → 对比差异,找到盲区
  • 永远先写再问,不要先问再抄

执行保障

最低日投入

  • 底线:30 分钟/天。 哪怕再忙,看一集 3B1B + 写一条费曼笔记 = 30 分钟够了
  • 把"日投入"和"学完知识点"分开——前者是习惯,后者是进度
  • 习惯比进度重要,断了习惯很难捡回来

每周 checkpoint

  • 每周日花 10 分钟更新各模块 Obsidian 进度
  • 记录本周实际投入小时数
  • 连续两周低于计划 50% → 减量而不是放弃(砍掉"不需要看"的内容,保核心)

缓冲机制

  • 每个模块结束后 2 天缓冲(消化+补漏+项目收尾)
  • 缓冲期间不学新内容,只做三件事:补未完成的费曼笔记、收尾项目、回顾本周薄弱点
  • 如果模块提前完成,缓冲时间直接进入下一个模块(不用等)

避坑指南

  • ❌ 只看视频不动手(看完就忘)
  • ❌ 追求证明完美(工程阶段先理解应用)
  • ❌ 按教材顺序从第一页翻到最后一页
  • ❌ 学完不联系工作(立刻遗忘)
  • ❌ 全部让 AI 写代码然后以为自己学会了
  • ❌ 看了 AI 代码觉得自己懂了(关掉重写一遍才是真懂)
  • ❌ 忙起来直接停(30 分钟底线不能破)