Part 2 总结:基础恢复整理¶
Section ID:
P2-summaryVersion:v2026.09.15
数学压缩了计算过程。公式中的计算规则可以用 Python 执行,NumPy 数组和 Pandas 表格则表示参与计算的数值结构。图表展示结果的变化与分布,运行环境和 Git 历史帮助追踪重现结果所需的条件。
计算与工具的联系¶
| 类别 | 需要记住的观点 |
|---|---|
| 公式与代码 | 公式表达计算意图,代码将计算转换为可执行的步骤。 |
| 对数与指数 | 对数是指数运算的逆运算,也会在概率分数和损失的表达中再次出现。 |
| 变量与数据 | 公式中的变量在代码中可以表现为数值、数组、表格或数据集。 |
| 向量与矩阵 | 向量和矩阵通过位置、方向、轴和形状组织多个数值,使其能够参与计算。 |
| 内积与距离 | 内积将向量之间的关系归结为一个数,距离与相似度则回答不同的比较问题。 |
| 导数与梯度 | 导数用于理解变化率,梯度则一起描述多个方向的变化。 |
| 复合函数与链式法则 | 它们帮助理解多个计算步骤相连时,变化率如何传递。 |
| 损失与优化 | 损失用数值表示当前结果有多差,优化则是寻找更好数值的过程。 |
| 概率与统计 | 概率用数字表达不确定性,统计从一组数据中提炼可用于判断的概括。 |
| Python 与运行环境 | 即使代码相同,在 Colab、本地计算机、终端、笔记本和虚拟环境中的执行背景也不同。 |
| NumPy 与 Pandas | NumPy 支持数组计算,Pandas 帮助读取和整理表格数据。 |
| Matplotlib 与可视化 | 图表让数值的模式、分布、关系和训练过程变得可见。 |
| Git 与可复现性 | Git 帮助追踪原稿、代码、图像和依据笔记的变更顺序。 |
概率部分区分了重复观测的长期频率与对不确定命题的相信程度。贝叶斯规则是在获得新证据后更新条件概率的计算方法。导数与梯度描述输入或参数变化时输出如何变化;损失与优化则说明调整数值时要减小什么标准。
需要区分的概念¶
| 容易混淆的项目 | 区别 |
|---|---|
| Python 列表与 NumPy 数组 | 列表的 + 表示连接,数组的 + 在形状兼容时执行逐元素加法。 |
| 表格的行与样本 | 学生名单的一行可以是一名学生,但传感器记录中的多行也可能共同构成一次动作。 |
| 平均值与分布 | 平均值相同,数值的离散程度和随时间的变化仍可能不同。 |
| 训练损失与评估结果 | 即使训练数据上的损失下降,也需要单独检查新数据上的性能。 |
| 相关与因果 | 仅凭散点图中的趋势,无法判断一个变量是另一个变量的原因。 |
| 保存文件与提交 | 保存更新当前文件,提交则将暂存的文件状态写入历史。 |
区分计算标准与变化方向¶
先回答下列问题,再与右侧说明比较。不仅要确认计算值,也要确认该数值可以支持什么判断。
| 需要确认的问题 | 计算与解释 |
|---|---|
向量 [1, 2] 与 [3, 4] 的内积是多少? | 对应位置相乘再相加,得到 1×3 + 2×4 = 11。内积是一个数,不同于两向量之间的距离。 |
损失为 L(w) = (w − 3)² 时,w = 1 处的损失和导数各是多少? | 损失为 4,导数为 2(w − 3) = −4。损失表示当前误差的大小,导数用于判断在当前位置应向哪个方向调整数值。 |
在上述条件下,以 0.1 为学习率执行一次梯度下降,会发生什么? | w = 1 − 0.1×(−4) = 1.4,损失降至 2.56。这一次下降并不能保证所有学习率和函数下的损失都会下降。 |
[1, 3] 与 [2, 2] 的平均值相同吗?离散程度也相同吗? | 平均值均为 2。对偏离平均值的距离平方求平均,分别得到 1 和 0,因此离散程度不同。 |
实际通过比例为 1/3,下一名学生通过的概率就一定也是 1/3 吗? | 仅凭观测到的三名学生的比例,无法确定下一名学生的概率。还需要检查样本和预测对象的条件。 |
用小表格检查¶
假设根据考试前的学习时间和解题数量预测是否通过考试。前两列是输入特征,最后一列是考试后确认的正确答案。
| study_hours | solved_questions | passed |
|---|---|---|
| 1 | 5 | 0 |
| 2 | 9 | 0 |
| 4 | 16 | 1 |
predicted 是为了检查准确率计算而直接指定的示例值。下面的代码不会训练模型,也不会根据 X 生成预测。修改预测值,观察实际通过比例与准确率中哪一个发生变化。
X 包含 3 个样本、2 个特征,y 按相同顺序保存 3 个正确答案。通过标记的平均值就是实际通过比例 1/3。预测仅在第二名学生上出错,因此准确率为 2/3。通过比例和预测准确率回答的是不同问题。
把预测改为 [0, 0, 1] 后,准确率变为 1,而实际通过比例仍为 1/3。如果从输入中去掉解题数量,X 的形状就变为 (3, 1),但 3 个正确答案保持不变。比较输入变化对模型结果的影响时,应使用相同的数据划分与评估标准,并记录修改内容。
相关正文¶
| 需要确认的内容 | 位置 |
|---|---|
| 输入、正确答案与数据泄漏 | P2-12.3 |
| 数组形状与轴 | P2-11.2 |
| 平均值与方差 | P2-5.2 |
| 内积与距离 | P2-3.4 |
| 导数与梯度 | P2-4.3 |
| 梯度下降 | P2-6.3 |
| 损失计算 | P2-15.1 |
| 执行位置与环境 | P2-7.6、P2-7.7 |
| 重新运行笔记本 | P2-10.3 |
| 方法与对象 | P2-8.6 |
| 数据结构比较 | P2-9.4 |
| 比较与保存图表 | P2-13.3 |
| 变更历史 | P2-14.1 |
尚待回答的问题¶
在检查小规模计算和数据结构的基础上,机器学习会从数据中学习规则,再用新数据评估这些规则。选择什么模型,如何划分训练、验证和测试数据,以及用哪些指标比较,是后续模型训练内容要回答的问题。
高等数学证明、大规模数据处理和协作自动化涉及的条件比本 Part 的小示例更广。不能假设这里运行的代码在大数据上仍具有相同的内存开销和性能。
检查清单¶
- 能否区分内积计算与向量距离计算?
- 能否利用损失值、导数和学习率解释一次参数更新?
-
能否解释平均值相同但离散程度不同的情况,并区分观测比例与预测概率?
-
能否解释上表的输入、正确答案和数组形状?
- 能否分别计算实际通过比例与预测准确率,并说明两者的区别?
- 能否检查修改输入特征或预测值后发生了什么变化?
- 能否说明图表的轴、表格每行代表的单位以及代码的运行环境?
- 能否在记录结果的同时保留变更条件、代码和数据版本?
来源与参考资料¶
本文是依据 Part 2 正文编写的原创总结。各概念的依据可在相关正文的来源与参考资料中查阅。