入门诊断与补课策略
本章要解决的问题
“数学忘光了”通常不是所有知识都消失了,而是三个环节断开了:符号不能立刻识别、概念之间没有连接、公式不能转成具体例子。本章帮助你判断断点在哪里,并设计不重读大学教材的补课方式。
一、十五分钟诊断
请不要查资料,先尝试回答下列问题。每题只需判断自己属于哪一种状态:
- 2 分:能解释,并能举一个数字例子;
- 1 分:见过,但不能顺畅解释或计算;
- 0 分:几乎没有印象。
- 表示什么?
- 为什么对计算似然有用?
- 向量 中的 是什么?
- 的结果是什么形状?
- 内积为零意味着什么?
- 导数和梯度有什么区别?
- 链式法则在神经网络中做什么?
- 泰勒展开为什么能解释梯度下降?
- 与 有何区别?
- 概率密度为什么可能大于 1,而概率不能大于 1?
- 期望、方差分别描述什么?
- 协方差为零是否必然独立?
- 似然与概率有什么区别?
- 极大似然估计为什么经常取对数?
- 训练误差很小为什么不代表泛化误差很小?
- 熵为什么能衡量数据集的“混乱程度”?
- L1 与 L2 正则化为什么产生不同形态的解?
- 特征值和特征向量在 PCA 中做什么?
- 拉格朗日乘子在约束优化中做什么?
- 浮点数计算中为什么
softmax不能直接计算所有指数?
满分 40 分:
- 0~12 分:从第一阶段主线顺序学习,不要直接啃推导;
- 13~25 分:先学 A 级章节,遇到卡点再回查;
- 26~34 分:按西瓜书章节反向索引查漏补缺;
- 35~40 分:基础基本够用,可把时间放在推导、练习和实现上。
分数不是能力评价。它只帮助你确定第一步,不值得为分数焦虑。
二、工程师最有效的四步学习法
第一步:把符号翻译成类型和形状
看到
先不要急着问它从哪里推导出来,而应逐项标注:
- :输入特征列向量;
- :权重列向量;
- :两个 维向量的内积,结果是标量;
- :偏置;
- :预测值。
这相当于阅读接口签名。大量“数学看不懂”其实是形状没有对齐。
第二步:用最小数字例子运行公式
令 、、,则
只要一个公式不能用两三个数字手算,就还没有真正进入你的知识系统。
第三步:说清“输入—操作—输出—用途”
例如梯度:
- 输入:一个关于多个参数的标量函数;
- 操作:分别对每个参数求偏导;
- 输出:与参数同形状的向量;
- 用途:给出函数上升最快的局部方向,负梯度用于下降。
这种接口式叙述比先背正式定义更适合恢复期。
第四步:写十行以内的小实验
用 NumPy 或任意熟悉的语言验证:
- 矩阵乘法的形状;
- 数值梯度与解析梯度是否接近;
- 样本均值如何随样本量增大而稳定;
- 过拟合时训练误差与验证误差如何分叉。
代码实验不是数学证明,但它能快速建立直觉并暴露理解错误。
三、怎样与《机器学习》并行阅读
不要“先学完所有数学,再开始机器学习”。更高效的循环是:
- 先用总目录的第一阶段恢复基础;
- 阅读西瓜书一小节;
- 把所有不懂的符号和步骤写成卡点清单;
- 通过反向索引只补相关数学章节;
- 回到原推导,自己补写被作者省略的一到三步;
- 做一道数值例题或小实现。
数学基础与机器学习内容要交替推进。上下文会让抽象概念更容易留下来。
四、哪些内容暂时可以跳过
第一次通读时,可以暂时跳过:
- 行列式的复杂手算技巧;
- 大量人工求逆和高阶积分技巧;
- 收敛定理的测度论证明;
- 各种矩阵分解算法的底层数值证明;
- 学习理论中严格到每个常数的概率界推导;
- MCMC 的严格遍历性证明。
但不能跳过这些概念“在说什么”和“使用条件是什么”。例如无需熟练计算五阶行列式,却必须知道行列式为零意味着矩阵不可逆。
五、推荐节奏
对于全职工程师,推荐每周 5 天、每天 45~60 分钟:
- 20 分钟读一个知识点;
- 15 分钟重做例题,不看答案;
- 15 分钟做练习或写小实验;
- 5 分钟用自己的话写三句总结。
每周留一次 90 分钟,把本周知识应用到西瓜书某个推导中。稳定学习六周通常比周末突击更有效。
常见问答
Q1:需要重新学高中数学吗?
通常不需要系统重学。若指数、对数、方程、不等式和函数图像完全陌生,补完第一卷即可。三角函数在经典机器学习中不是主线,只需理解夹角和余弦相似度。
Q2:需要手算复杂矩阵吗?
不需要。你需要理解运算规则、形状、几何含义和数值风险。两三维手算用于建立直觉,大规模计算交给线性代数库。
Q3:证明看不懂怎么办?
先找出结论、条件和关键中间量,再用一个特例验证。若证明不影响当前算法使用,可标记为第二遍阅读。不要把“看不懂某个证明”误判为“整章都没学会”。
Q4:应该先学概率还是线性代数?
先恢复向量、矩阵和导数,再学概率统计。概率中的多元分布、协方差和高斯模型会直接用到线性代数。
Q5:是否需要用 Python?
不是必须。你可以使用 Java、Kotlin、Go 或 JavaScript。关键是快速验证公式;NumPy 只是矩阵与随机模拟最省代码的选择。
练习
- 给诊断题逐题打分,列出得分最低的三个主题。
- 把逻辑回归的 按“输入—操作—输出—用途”解释一遍。
- 随便找西瓜书中的一个三行以上公式,标注每个变量的类型与形状。
- 设计一个不超过十行的实验,说明样本均值会随着样本量增加而更稳定。
- 写下你一周内真实可执行的五个学习时段。
参考提示
第 2 题中,线性部分输出实数,Sigmoid 把实数压到 ,常被解释为正类概率。第 3 题要特别检查矩阵乘法的内维是否相等。第 4 题可分别从同一分布抽取 10、100、10 000 个样本,重复多次比较均值的波动。