Part 2 总结:基础恢复整理¶
Section ID:
P2-summaryVersion:v2026.07.20
Part 2 是在重新进入机器学习与深度学习之前,恢复数学、Python、数据工具与文档管理感的一段。它不是要把数学深入证明完,也不是要把所有 Python 语法全部背熟,而是要重新读懂后续学习中反复出现的计算语言。
这一 Part 最重要的目标,是不要把公式、代码、数据、图、运行环境、变更历史看成彼此分离的话题。在 AI 学习里,这些元素是一起移动的。公式表达计算意图,Python 执行计算,NumPy 和 Pandas 处理数据结构,Matplotlib 让你看见数字的形状,Git 把整个过程记录下来。
读好这一 Part,并不意味着把每一章都背下来了。更接近的标准是:能把 为什么现在看这个工具、如果卡住该短暂回到哪里、这个基础会在 Part 3 里变成什么问题 连起来阅读。
也就是说,Part 2 是 在你阅读 Part 3 时,留下可回返坐标点的 Part。目标不是一次性把数学、Python、数组、表、图、Git 全部吃透,而是在以后机器学习文档里遇到陌生处时,知道该回到哪个 Section 去补。
所以 Part 2 最后的问题,更接近 现在能不能进入 Part 3,而不是 是不是所有准备都已经彻底完成。最快的判断标准可以先抓成下面这样。
这里重要的,不是去数到底学完了多少,而是当你开始阅读机器学习正文时,是否知道至少要区分什么、卡住时该回哪里。因此,这个总结页不应被读成对 Part 2 全部内容的长篇复习,而应被读成进入 Part 3 前快速确认最小标准的检查点。
进入 Part 3 前的第一个检查,可以压缩成三个问题:能不能在一个小表里区分 feature 和 label?、能不能通过 shape 和 axis 说明数据方向?、能不能把 mean、error、loss 和变更理由作为不同角色留下来?
先抓住的基准¶
在这个总结页里,最先要抓住的是下面四行。
| 现在应该能直接说出的事 | 为什么在 Part 3 前需要 |
|---|---|
| 在小表里区分 feature 和 label | 为了读懂监督学习里的输入与目标结构 |
看着 shape 和 axis 说明行与列的含义 | 为了把 X、y、sample、feature 读成数组形状 |
| 把 mean、error、loss 区分成不同角色 | 为了不把数据摘要和学习标准混在一起 |
| 能说明运行环境与变更理由 | 为了留下练习的可复现性与比较记录 |
所以,这一页的目的不是重新把 Part 2 全列一遍,而是把用来快速判断 现在能不能进入 Part 3 的标准摆到最前面。
| 现在这份总结里要抓住的东西 | 在 Part 3 会立刻再次用到的问题 | 卡住时回来的地方 |
|---|---|---|
| 在小表里区分 feature 和 label 的标准 | 在监督学习里,输入与目标该怎样分开? | P2-12, P2-3, P2-11 |
读取 shape、行、列、axis 的标准 | X、y、sample、feature 应该按什么形状来读? | P2-11, P2-12 |
| 区分 mean、error、loss 与留下记录理由的标准 | 哪些数字是在做数据摘要,哪些数字是在做学习判断,又该记录什么? | P2-5, P2-6, P2-13, P2-14 |
在第一次判断里,你应该能立刻说出下面四行。这四行会一次性检查 你能不能读数据、能不能区分计算结果的角色、能不能再次留下实验与说明。
| 进入 Part 3 前的最低线 | 为什么需要这一条 | 卡住时回哪里 |
|---|---|---|
| 能在小表里区分 feature 与 label | 因为 Part 3 的监督学习说明会直接连到数据结构 | 表与数据读取回到 P2-12 |
能看着 shape 和 axis 说明行与列的含义 | 因为这是读取输入数组和汇总方向的最小标准 | 数组与轴直觉回到 P2-11 |
| 不把 mean、error、loss 混成同一个词 | 因为评估与学习说明建立在数字角色的差异之上 | 概率与统计恢复回到 P2-5、P2-6 |
| 能留下一行像记录变更理由那样的话 | 因为实验比较与文档可复现性必须一起保留 | 图回到 P2-13,记录回到 P2-14 |
| 现在立刻要检查的问题 | 如果答案是 是,下一步怎么读 | 如果 还不行,先回哪里 |
|---|---|---|
| 能在小表里区分 feature 和 label 吗? | 直接进入 Part 3 的监督学习正文 | 回到 P2-12 看表与数据读取 |
能说明 shape、row、column 的意义吗? | 可以直接跟着数组与数据集例子走 | 回到 P2-11 找回数组与轴的直觉 |
| 能说明为什么结果要留下成表、图与 Git 记录吗? | 继续读 baseline 比较与实验记录说明 | 回到 P2-13 看图,回到 P2-14 看记录 |
如果这三个问题你都能回答 是,那么即使还有一些细节语法不够熟,也可以进入 Part 3。因为 Part 2 不是一场完结考试,而是一张回返地图。
Part 3 回返表¶
如果你在阅读 Part 3 时卡住,可以按下面的表短暂折返。
| 卡住的场景 | 先回到 Part 2 的哪里 |
|---|---|
X、y、feature、label 变得混乱 | P2-12.3, P2-15.2 |
shape、axis、row、column 变得混乱 | P2-11.2, P2-15.2 |
| mean、error、loss 开始混在一起 | Chapter 5, Chapter 6, P2-15.2 |
| Colab、terminal、notebook 的运行位置混起来了 | P2-3.5, Chapter 7, Chapter 10 |
| 为什么要留下图和记录这件事变得模糊 | Chapter 13, Chapter 14 |
当工具看起来很多又散开时,再把这条最低线压回问题 为什么现在要看这个?
| 现在重新抓住的东西 | 为什么不能停在这里,而要继续带走 |
|---|---|
| 公式、mean、error、gradient | 因为 Part 3 的损失与评估说明建立在这套语言上 |
| Python 的输入、计算、输出流程 | 因为你需要持续读懂示例代码到底在检查什么 |
NumPy 的数组、shape、axis | 为了不把数据方向和模型输入形状混淆 |
Pandas 的 row、column、DataFrame | 为了能直接从表里读出 feature 和 label |
| Git 的 commit 与变更理由记录 | 为了把实验比较与回顾留下成可复现的流程 |
数学恢复承担的作用¶
Part 2 的目的,不是把基础彻底学完,而是让你在后面 Part 中遇到公式和代码同时出现时,知道该从哪里开始读。
Part 2 找回的数学基准¶
完成这一 Part 之后,你应该能够把公式、数组、表、图、运行环境、Git 历史看成一条连贯的学习流程。
从数字到可复现性的流程¶
Part 2 的流程可以整理成下面这样。
- 它先看数学在 AI 计算里做什么。
- 它重新阅读变量、函数、表达式、sigma、极限、log、指数。
- 它看标量、向量、矩阵、向量空间、矩阵乘法、内积、距离、相似度。
- 它看变化率、导数、梯度、复合函数、chain rule、梯度下降。
- 它看概率、分布、平均值、方差、样本、估计、误差。
- 它看 Python 运行环境、terminal、虚拟环境、依赖。
- 它看 Python 的值、数据结构、循环、函数、类。
- 它看数组、表、树、图这些数据结构直觉。
- 它看 Jupyter、Colab、NumPy、Pandas、Matplotlib。
- 它看 Git 与文档可复现性。
- 它把公式移进代码,然后进入 Part 3。
这条流程并不意味着 先把数学学完,再学代码。这里的数学,是作为读取 AI 文档与示例代码的语言来处理的。需要的概念被恢复,用小代码和图示去确认,并为后面再遇到它们做好准备。所以即使在概率章节里,也不是长篇对立频率主义和贝叶斯主义,而只是区分 long-run frequency 与 degree of belief,并把 Bayes' rule 当作 用新证据更新信念 的最小语言。
必须记住的概念¶
从 Part 2 最应该长期带走的概念,是连接。
| 区分 | 要记住的视角 |
|---|---|
| 公式与代码 | 公式写下计算意图,代码把这种计算变成可执行过程。 |
| 对数与指数 | log 是反向读取指数的函数,并会再次作为概率分数与损失语言出现。 |
| 变量与数据 | 公式中的变量,在代码里可以表现成值、数组、表或数据集。 |
| 向量与矩阵 | 向量与矩阵让多个值通过位置、方向、axis、shape 被组合并参与计算。 |
| 内积与距离 | 内积把向量关系折成一个数,距离与相似度则把比较问题区分开来。 |
| 导数与梯度 | 导数是读取变化率的工具,梯度是同时读取多方向变化的工具。 |
| 复合函数与 chain rule | 它们让你读懂多个计算步骤连在一起时,变化率如何被传递。 |
| 损失与优化 | loss 把 当前结果有多差 变成一个数,optimization 则是寻找更好值的过程。 |
| 概率与统计 | probability 用数字表达不确定性,statistics 从一组数据中整理出可判断的摘要。 |
| Python 与运行环境 | 即使是同一段代码,在 Colab、本地 PC、terminal、notebook、virtual environment 中也有不同执行语境。 |
| NumPy 与 Pandas | NumPy 帮助数组计算,Pandas 帮助读取和整理表格式数据。 |
| Matplotlib 与可视化 | 图让你能用眼睛检查模式、分布、关系和学习流。 |
| Git 与可复现性 | Git 让你追踪原稿、代码、图片、证据笔记按什么顺序发生了变化。 |
一旦抓住这种连接,在 Part 3 里你就能更自然地读取 X、y、sample、feature、fit、predict、loss、metric、train、validation、test 这些表达。
容易误解的地方¶
在 Part 2 中尤其要小心下面这些误解。
- 不要认为必须先把所有数学证明都掌握,才能开始 AI。
- 不要把公式只当成和代码无关的符号记忆。
- 不要把 vector 只理解成一串数字。
- 不要把 matrix 完全等同于 table。
- 不要因为见过高中导数,就假定 gradient 立刻会很熟悉。
- 不要把 probability 只当成“答案的确信度”。
- 不要认为一个 mean 就足以说明数据的全部形状。
- 不要把 Python list 和 NumPy array 当成同一种数据结构。
- 不要把 Pandas DataFrame 只理解成 Excel 样子的画面。
- 不要把 plot 看成装饰,而要看成帮助判断的检查工具。
- 不要把 Git 限定成只有开发者才用的工具。
为了减少这些误解,这一 Part 把数学术语、Python 术语、数据工具术语一起并写。即使是同一个中文表达,在数学、代码、数据分析语境里意思也可能略有不同,所以必须把英文原词和使用语境一起确认。
Part 2 已收束的范围与留下的问题¶
Part 2 专注于解释 AI 学习所需的基础语言。因此,严格的高等数学证明、Python 深层语法、大规模数据管道与协作自动化体系,都不会在这里完成,而是留给后续学习或单独参考资料。对于搜索空间中情况数迅速膨胀的直觉,也不会在 Part 2 再重写成一个独立组合论章节。那种直觉先在 Part 1 的搜索章节里抓住,当前结构保持不变,让它在后面超参数搜索与模型选择成本语境里再次出现。
留给下一 Part 的问题¶
Part 2 有意把下面这些问题留着不关掉。
- 在机器学习里,数据应该按什么结构切分和评估?
- 损失与优化在真实模型学习中扮演什么角色?
- 在更复杂的模型结构里,这些基础计算会怎样扩展?
这些问题会在 Part 4 与 Part 5 中作为真正的说明被回收。
进入下一 Part 前要检查的问题¶
在进入 Part 3 前,不需要把长长的清单全背下来,而是应能立刻说出前面的四行最低线,以及下面这些检查。
| 现在手里应留下的标准 | 在 Part 3 里会立刻再次使用的地方 | 卡住时回到 Part 2 的哪里 |
|---|---|---|
能用一个小例子读懂 X、y、shape、mean、error | 数据集、feature、label、评估指标的说明 | 数组看 P2-11,表看 P2-12,图看 P2-13 |
| 能区分 Colab、本地 PC、terminal、notebook | 实践环境与可复现性说明 | 运行环境看 P2-7,notebook 执行看 P2-10 |
| 知道把计算结果留下成表、图、Git 记录的流程 | baseline 比较、错误解释、实验记录说明 | Matplotlib 看 P2-13,Git 看 P2-14 |
实务型检查应该是你能立刻尝试的下面这些内容。
| 可以立刻尝试的检查 | 想确认的直觉 |
|---|---|
| 看一个小 CSV 表并写下哪些列应该是 feature,哪些列应该是 label | 问题定义是否能连到数据结构 |
自己写一个很短的例子,比如 X = [[...], [...]], y = [...] | 数组记号与机器学习记号是否连起来 |
用一次 print 结果看一看 mean 或 error | 公式是否能连到数字输出 |
读一个数组的 shape 并说出行列各代表什么 | 能否区分 sample 轴与 feature 轴 |
| 写一行像 Git commit message 那样的变更理由 | 是否准备好把实验与文档记录一起留下 |
如果你能自己跟着下面这个非常小的干式演练走一遍,Part 3 的第一个数据集例子也会少很多抽象感。
一个非常小的干式演练¶
问题场景:你在脑中先演练一次最小的监督学习场景,用学习时间和解题数去预测是否通过考试。
| study_hours | solved_questions | passed |
|---|---|---|
| 1 | 5 | 0 |
| 2 | 9 | 0 |
| 4 | 16 | 1 |
看这张表时,先把前两列读成输入 feature,把最后一列读成 label。
在这个场景里,要立刻确认三件事。
X是一个装着 3 个 sample 和 2 个 feature 的集合,而y是一个装着 3 个目标的集合。- 如果把
X的shape读成(3, 2),那么row就读成 sample,column就读成 feature。 - 如果模型预测出像
[0, 1, 1]这样的结果,你应该能立刻说出:和y比较时,第二个 sample 上出现了 error。
这里不需要把 mean、error、loss 全部详细算一遍。但至少要抓住角色差异:passed 的平均值是通过比例摘要,第二个 sample 的错判是单个 error,把多个 error 聚成一个数作为学习标准,就是 loss 的角色。
记录变更理由时,一行就够。比如 feat: add two-feature toy dataset before Part 3 entry check 这种句子,就是留下“改了什么、为什么改”的最小记录例子。
如果这五点能够做到,其余细节就可以在阅读 Part 3 时再回来补强。Part 2 的目的不是把基础学完,而是在你被机器学习正文卡住时,提供知道该回哪里的参照点。
你尤其可能经常重新查看的补充学习有下面这些。
- 如果运行环境与 terminal 变得混乱,就再看 P2-7.6、P2-7.7。
- 如果 Python 里的
value.method()形式变得陌生,就再看 P2-8.6。 - 如果 array、tree、graph 这些名字突然又陌生起来,就再看 P2-9.4。
结束 Part 2¶
如果你读完了 Part 2,并不意味着公式和代码已经变得完全熟悉。它真正意味着的是:当你再次遇到陌生公式或示例代码时,你知道应先检查什么。
你先看变量和 shape。接着看这是重复、求和、比较,还是优化。然后用表或图去检查结果。最后留下运行环境和变更历史。
这种态度在 Part 3 之后仍然持续重要。即使学习机器学习、深度学习、LLM,模型说明最终也会回到数据结构、计算步骤、评估标准、可复现记录。
- 能用一段话说明
小表 -> X/y -> shape -> 预测 -> 误差 -> 记录这条流程吗? - 看到一个卡住的表达时,能在 Part 2 里选出该回到哪里吗?
- 能说明 Part 2 的目的不是
所有基础全部完成,而是已经拿到了进入 Part 3 的回返标准吗?
来源与参考¶
本文是对 Part 2 全部内容的原创总结,不直接引用外部资料。