跳转至

Part 2 总结:基础恢复整理

Section ID: P2-summary Version: 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 为了读懂监督学习里的输入与目标结构
看着 shapeaxis 说明行与列的含义 为了把 Xy、sample、feature 读成数组形状
把 mean、error、loss 区分成不同角色 为了不把数据摘要和学习标准混在一起
能说明运行环境与变更理由 为了留下练习的可复现性与比较记录

所以,这一页的目的不是重新把 Part 2 全列一遍,而是把用来快速判断 现在能不能进入 Part 3 的标准摆到最前面。

现在这份总结里要抓住的东西 在 Part 3 会立刻再次用到的问题 卡住时回来的地方
在小表里区分 feature 和 label 的标准 在监督学习里,输入与目标该怎样分开? P2-12, P2-3, P2-11
读取 shape、行、列、axis 的标准 Xy、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
能看着 shapeaxis 说明行与列的含义 因为这是读取输入数组和汇总方向的最小标准 数组与轴直觉回到 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 的哪里
Xy、feature、label 变得混乱 P2-12.3, P2-15.2
shapeaxis、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 的数组、shapeaxis 为了不把数据方向和模型输入形状混淆
Pandas 的 row、column、DataFrame 为了能直接从表里读出 feature 和 label
Git 的 commit 与变更理由记录 为了把实验比较与回顾留下成可复现的流程

数学恢复承担的作用

Part 2 的目的,不是把基础彻底学完,而是让你在后面 Part 中遇到公式和代码同时出现时,知道该从哪里开始读。

Part 2 找回的数学基准

完成这一 Part 之后,你应该能够把公式、数组、表、图、运行环境、Git 历史看成一条连贯的学习流程。

从数字到可复现性的流程

Part 2 的流程可以整理成下面这样。

  1. 它先看数学在 AI 计算里做什么。
  2. 它重新阅读变量、函数、表达式、sigma、极限、log、指数。
  3. 它看标量、向量、矩阵、向量空间、矩阵乘法、内积、距离、相似度。
  4. 它看变化率、导数、梯度、复合函数、chain rule、梯度下降。
  5. 它看概率、分布、平均值、方差、样本、估计、误差。
  6. 它看 Python 运行环境、terminal、虚拟环境、依赖。
  7. 它看 Python 的值、数据结构、循环、函数、类。
  8. 它看数组、表、树、图这些数据结构直觉。
  9. 它看 Jupyter、Colab、NumPy、Pandas、Matplotlib。
  10. 它看 Git 与文档可复现性。
  11. 它把公式移进代码,然后进入 Part 3。

这条流程并不意味着 先把数学学完,再学代码。这里的数学,是作为读取 AI 文档与示例代码的语言来处理的。需要的概念被恢复,用小代码和图示去确认,并为后面再遇到它们做好准备。所以即使在概率章节里,也不是长篇对立频率主义和贝叶斯主义,而只是区分 long-run frequencydegree 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 里你就能更自然地读取 Xy、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 的哪里
能用一个小例子读懂 Xy、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。

1
2
3
4
5
6
X = [
    [1, 5],
    [2, 9],
    [4, 16],
]
y = [0, 0, 1]

在这个场景里,要立刻确认三件事。

  1. X 是一个装着 3 个 sample 和 2 个 feature 的集合,而 y 是一个装着 3 个目标的集合。
  2. 如果把 Xshape 读成 (3, 2),那么 row 就读成 sample,column 就读成 feature。
  3. 如果模型预测出像 [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 全部内容的原创总结,不直接引用外部资料。