第 1 课上机练习手册

主题

AI 基础回顾:从感知机、特征工程到神经网络训练直觉

平台

实验目标

本次上机不是为了“调出最高分”,而是为了建立三种直觉:

  1. 数据长什么样,决定了问题有多难。
  2. 特征工程可以显著降低模型复杂度。
  3. 深度、宽度、正则、噪声、学习率、激活函数都会影响训练过程与泛化效果。

一、实验安排总览

Part A:熟悉环境(5 分钟)

本阶段重点:


二、分类任务实验(约 30 分钟)

任务 1:线性可分任务(左下角,5 分钟)

目标

完成左下角最简单的线性分割任务,并尝试用最少的神经元实现分类。

建议步骤

  1. 选择左下角线性可分数据。
  2. 只保留原始输入特征 x1x2
  3. 从最简单模型开始:
  4. 尝试继续删减网络,直到找到最小可行模型。

预期现象

本阶段重点理解


任务 2:四象限任务(右上角,8 分钟)

目标

先用原始特征做,再加入组合特征,比较模型复杂度的变化。

建议步骤

  1. 选择右上角“四象限”分类任务。
  2. 先只使用 x1x2,观察:
  3. 然后加入乘积特征 x1*x2
  4. 重新尝试最简单模型,比较变化。

预期现象

本阶段重点理解


任务 3:靶心任务(左上角,8 分钟)

目标

观察“原始空间中不线性可分”的任务,如何通过特征变换重新变简单。

建议步骤

  1. 选择左上角“靶心式”分类任务。
  2. 先只用 x1x2,尝试训练,观察模型需要多复杂。
  3. 然后尝试加入平方类特征,例如 x1^2x2^2
  4. 比较加入新特征前后:

预期现象

本阶段重点理解


小结 1:从前三个任务得到什么结论(2 分钟)

请每位同学用一句话总结:


任务 4:调高噪声,观察泛化与正则(5 分钟)

目标

体会噪声、过拟合、训练损失与测试损失之间的关系,并观察正则化的作用。

建议步骤

  1. 任选前面一个任务,先训练到效果较好。
  2. 逐步提高数据中的 noise。
  3. 观察:
  4. 在此基础上加入正则化(regularization),再观察边界与测试效果变化。

本阶段重点理解


任务 5:银河任务(最复杂任务,约 10 分钟)

目标

在最复杂的数据分布上,比较深度、宽度、正则和训练超参数的影响。

建议步骤

  1. 选择银河状任务。
  2. 先从一个较小网络开始,记录效果。
  3. 分别尝试:
  4. 重点观察:

重点比较

  1. 深度 vs 宽度
  2. 加正则前 vs 加正则后
  3. 学习率变化
  4. 激活函数变化

本阶段重点理解


三、回归任务实验(约 30 分钟)

目标

从分类切换到回归,理解:

建议步骤

步骤 1:切换到回归模式

重点理解:

步骤 2:从简单模型开始

重点理解:

步骤 3:逐步增大模型复杂度

重点理解:

步骤 4:观察噪声与泛化

重点理解:

步骤 5:调学习率与激活函数

重点理解:


四、建议学生记录的观察结果

建议每位同学至少记录下面几项:

  1. 哪个任务最容易,为什么?
  2. 哪个任务最依赖特征工程,为什么?
  3. 什么时候“加大模型”有帮助,什么时候没帮助?
  4. 噪声变大后,训练 loss 和测试 loss 分别发生了什么?
  5. 正则化带来了什么变化?
  6. 学习率过大、过小时各自出现了什么现象?
  7. 你观察到的“最好边界”长什么样?为什么你认为它更好?

五、实验报告建议问题

可以要求学生围绕下面几个问题写简短总结:

1. 为什么前三个分类任务都说明“理解数据比盲目堆模型更重要”?

2. 特征工程在四象限任务和靶心任务里分别起到了什么作用?

3. 为什么更平滑的边界通常意味着更好的泛化能力?

4. 你如何理解“训练好”与“泛化好”不是一回事?

5. 深度、宽度、正则、学习率、激活函数,各自主要影响训练的哪个方面?


六、教师提示语

上机时可以反复提醒学生:


七、本次实验的核心结论

  1. 机器学习的第一步不是调参,而是理解数据。
  2. 特征工程可以显著改变任务难度。
  3. 模型复杂度需要和问题复杂度匹配。
  4. 训练 loss、测试 loss 和边界形状要结合起来看。
  5. 正则化、学习率、激活函数都会显著影响训练过程与泛化效果。
  6. “边界光滑、规律稳定、测试表现更好”的模型,通常更接近数据的本质结构。