机器学习数学基础──从零开始 导读

前言:这本书怎么用

──────────────────────────────────────

先讲一件真事

我认识不少这样的人:代码写得漂亮,Pandas 玩得飞起,跟着教程能把模型跑通------然后在某个深夜,被一个公式拦住了。

不是什么高深的公式。就是类似这样的一行:

∑i=1m(y^(i)−y(i))2\sum_{i=1}^{m}\left(\hat{y}^{(i)} - y^{(i)}\right)^2i=1∑m(y^(i)−y(i))2

他们盯着这行东西看十分钟,感觉每个字母都认识,连在一起就是天书。然后做一件我见过很多次的事:把整段公式跳过去,直接抄后面的代码。模型居然也能跑。于是安慰自己"数学不重要,会用就行"。

这个幻觉通常能维持到第一次模型不收敛、第一次 loss 变成 NaN、第一次面试被问"为什么分类用交叉熵不用 MSE"。到那时候再回头补数学,成本是最高的------因为你已经背了一堆"知其然",要一个个拆掉重来。

这本书就是写给那个深夜被公式拦住的人的。你不需要任何高中以上的数学基础------连"函数"想不起来都没关系,我们从数轴和分数讲起,一路走到能亲手推导神经网络的梯度。

一个流行的误会

机器学习需要"数学很好"------这话吓退了太多人。我自学这些年得出的实际版本是:机器学习需要的数学范围很窄,但每一块都要真的懂。它不需要你会解圆锥曲线、不需要三角恒等变换、更不需要奥数技巧。它反复用到的只有五样东西:

数学板块 在机器学习里干什么 本书章节
数与函数 一切模型的"原材料" 第 1、2 章
线性代数 把一千个样本的计算压缩成一次矩阵乘法 第 3、4 章
微积分 让模型"知道往哪个方向调整自己" 第 5、6 章
概率统计 处理"不确定",评价模型好坏 第 7、8、9 章
信息论 分类问题为什么要用"交叉熵"这种损失 第 10 章

第 11 章是"总装"------把前面所有数学拧成一台完整的机器:从零推导线性回归、逻辑回归和一个微型神经网络的反向传播,每一步都有具体数字,你可以拿计算器跟着按。

关于这本书的"详略不均"

你可能已经发现(或者马上会发现):这本书各章的密度并不均匀。第 5、6 章我写得极细,细到近乎啰嗦;第 12 章却只是速查卡和清单。这是故意的。

导数和梯度是整个机器学习的发动机------我见过太多人因为这两章的某一步"假装看懂了",在后面付出成倍的代价。所以凡是发动机零件,我一个螺丝都不跳。而有些内容(比如附录里那些清单)你用的时候自然会回来查,写成长篇大论反而是浪费你的时间。这不是严谨性的差异,是重要性的差异。 如果你觉得某章太啰嗦,那说明你已经会了,快速过掉它,不必陪我较真。

这本书的教法

每一节都走同一条路线,这是被验证过对初学者最有效的顺序:

  1. 这一节要解决什么问题 ------ 先告诉你为什么需要它,没有动机的数学是最难学的;
  2. 生活比喻建立直觉 ------ 导数是速度表,梯度是"浓雾里下山的走法",熵是"平均惊讶程度";
  3. 符号登场 ------ 直觉稳了才引入记号,而且每个符号都单独解释;
  4. 手算例子 ------ 数字都很小,你拿纸笔 30 秒能验算完。这一步不能跳:看懂和会算是两回事,机器学习里的"卡壳"几乎都发生在"这步为什么这么变形";
  5. 代码验证 ------ 用 NumPy 跑一遍,让理论数字和程序输出对上;
  6. 坑 ------ 初学者最容易犯的错,提前标出来;
  7. 练习 + 答案 ------ 答案放在每章末尾,先做再看。

三条学习纪律

第一条:允许慢,不允许跳。 每一章都直接被后面的章节使用。第 3 章的"内积"如果没亲手算过,第 11 章推导反向传播时你会在第一步就迷路。慢不是缺点,跳才是。

第二条:每个公式至少手算一个例子。 数学不是读会的,是算会的。这本书里凡是出现公式的地方,旁边一定跟着一个可以心算或笔算的小例子。

第三条:符号看不懂就回到直觉。 忘了 ∑\sum∑ 是什么意思?回到"把一列数全加起来"这个直觉再看符号。符号只是直觉的速记,不是另一门学问。

全书地图

复制代码
第 1 章  数与运算       ── 分数、幂、对数、Σ 求和符号
第 2 章  函数           ── 机器学习的"积木":一次函数就是线性模型
        ────────────  以上是"识字课" ────────────
        
第 3 章  向量           ── 把一个样本变成一列数字;内积=相似度
第 4 章  矩阵           ── 把一千次计算压成一次;数据的仓库
        ────────────  线性代数完毕 ────────────
        
第 5 章  导数           ── 变化速度;链式法则是反向传播的心脏
第 6 章  偏导与梯度      ── 梯度下降:机器学习的发动机
        ────────────  微积分完毕 ────────────
        
第 7 章  概率           ── 条件概率、贝叶斯:在不确定中推理
第 8 章  随机变量与分布  ── 期望、方差、正态分布
第 9 章  统计与最大似然  ── 损失函数不是拍脑袋定的,是推出来的
        ────────────  概率统计完毕 ────────────
        
第 10 章 信息论         ── 熵、交叉熵:分类损失的出生证明
第 11 章 总装           ── 线性回归/逻辑回归/神经网络完整推导
第 12 章 附录           ── 术语表、公式速查卡、常见错误

建议顺序:第 1、2 章如果大部分熟悉,可以快速过(但 Σ 那节务必做练习)。从第 3 章开始减速,第 5、6 章是全书最核心的两章,值得花一半的学习时间。

一个贯穿全书的约定

机器学习书里有个记号习惯会贯穿本书:

  • 上标带括号 (i)(i)(i) 表示"第 i 个样本" :x(1),x(2),...,x(m)x^{(1)}, x^{(2)}, \dots, x^{(m)}x(1),x(2),...,x(m) 是 m 个数据点(注意不是乘方!);
  • 下标 j 表示"第 j 个特征" :xjx_jxj 是向量 x 的第 j 个数;
  • 两者组合 xj(i)x^{(i)}_jxj(i) = 第 i 个样本的第 j 个特征。

为什么上标要用括号?就是为了和乘方 x2x^2x2 区分开。你会在第 1 章 Σ 一节第一次遇到它,第 4 章彻底熟练。

准备好了就翻到第 1 章。我们从最简单的东西开始:数。


相关推荐
云和数据.ChenGuang2 分钟前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界18 分钟前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体
涛声依旧-底层原理研究所28 分钟前
拆解 Cordis 底座:Agent 是如何被「组合」出来的
人工智能·架构
秦先生在广东1 小时前
记忆不再是黑盒
人工智能
秦先生在广东1 小时前
49个AI智能体接管你的游戏开发
人工智能
骑着蜗牛撵大象3271 小时前
2026 后端 AI 工程化:Spring AI 管调用、MCP 管工具、Agent 内嵌管自治
java·人工智能·后端·spring·ai·可观测性·mcp
秦先生在广东1 小时前
26款模型安全提示词全开源
人工智能
smilejingwei2 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
吞下星星的少年·-·2 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序