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

前言:这本书怎么用

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

先讲一件真事

我认识不少这样的人:代码写得漂亮,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 章。我们从最简单的东西开始:数。


相关推荐
做萤石二次开发的哈哈7 小时前
连锁门店、园区、交通枢纽的视频如何统一汇集?应用模板的接入与分权管理详解
人工智能·物联网·音视频·二次开发·视频监控·蓝海aiot一站式工作台·萤石云开放平台
老金带你玩AI7 小时前
全程拿着手机,我让dot准备了一场AI分享
人工智能
nvd117 小时前
Flink 批处理驱动的湖仓 AI 财务研报流水线:从双流广播汇聚到 Agent 智能决策与原生 Iceberg 落盘全景实战
大数据·人工智能·flink
码爸7 小时前
线性回归算法
算法·机器学习·线性回归
snhna7 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
架构技术专栏8 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
Coder-magician8 小时前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
点云-激光雷达-Slam-三维牙齿8 小时前
100,000 Records CSV File - India Traffic Accident Analysis Dataset.7z
人工智能·数据集
TechWayfarer8 小时前
精度极限的突破:AI与IPv6如何重塑高精度IP查询
人工智能·网络协议·tcp/ip·transformer
Nil2088 小时前
leetcode 763划分字母区间
算法·leetcode·职场和发展