第 2 章课后练习与答案
下面是一组为教学而构造的虚构邮件数据。它只用来理解特征、标签、训练和推理,不能作为真实垃圾邮件过滤规则。
建议先做完前四部分,再查看答案。
🌈 关于《AI 零基础 36 讲》课后训练
📚 与正式讲解配套学习
本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI
使用逐步进入编程、模型训练和大模型应用开发。
✍️ 先独立作答,再核对答案
训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。
💻 代码题请亲手运行
观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。

训练数据
| 编号 | 发件人是否在联系人中 | 链接数量 | 是否出现催促用语 | 是否索要密码或验证码 | 标签 |
|---|---|---|---|---|---|
| 1 | 是 | 0 | 否 | 否 | 正常邮件 |
| 2 | 否 | 3 | 是 | 否 | 垃圾邮件 |
| 3 | 否 | 1 | 是 | 是 | 垃圾邮件 |
| 4 | 是 | 1 | 否 | 否 | 正常邮件 |
| 5 | 否 | 0 | 否 | 否 | 正常邮件 |
| 6 | 否 | 4 | 否 | 否 | 垃圾邮件 |
| 7 | 是 | 2 | 是 | 否 | 正常邮件 |
| 8 | 否 | 1 | 否 | 是 | 垃圾邮件 |
第一部分 找出特征和标签
回答下面三个问题。
- 每一行代表什么。
- 哪四列是特征。
- 模型希望预测的标签是什么。
第二部分 写下自己的分类办法
观察八封训练邮件,写一个你认为可行的分类办法。可以参考下面的形式,也可以自己改。
text
如果邮件索要密码或验证码,预测为垃圾邮件。
如果发件人不在联系人中并且链接较多,预测为垃圾邮件。
其他情况预测为正常邮件。
这只是人工写下的规则。机器学习模型通常会计算各项特征对预测概率的影响,不一定生成同样的条件句。
第三部分 给新邮件做预测
不要查看参考标签。先根据训练数据和自己的办法填写最后一列。
| 新邮件 | 发件人是否在联系人中 | 链接数量 | 是否出现催促用语 | 是否索要密码或验证码 | 你的预测 |
|---|---|---|---|---|---|
| A | 否 | 2 | 是 | 否 | 待填写 |
| B | 是 | 0 | 否 | 否 | 待填写 |
| C | 否 | 0 | 否 | 否 | 待填写 |
| D | 是 | 1 | 是 | 是 | 待填写 |
第四部分 检查陌生样本
教学数据为四封新邮件设置了下面的参考标签。
| 新邮件 | 参考标签 | 补充信息 |
|---|---|---|
| A | 垃圾邮件 | 陌生发件人发送带两个跳转链接的限时促销 |
| B | 正常邮件 | 联系人发送的课程资料 |
| C | 垃圾邮件 | 邮件没有链接,要求收件人拨打可疑号码 |
| D | 正常邮件 | 联系人发送的账户安全提醒 |
比较你的预测和参考标签,再回答下面三个问题。
- 哪封邮件最容易判断错。
- 现有特征遗漏了什么线索。
- 哪条人工规则需要修改。
第五部分 给训练数据补一个例子
把邮件 D 加入训练数据。它来自联系人,出现催促用语,也提醒用户检查账户安全,但没有在邮件正文中要求提交密码或验证码。
重新观察数据后,判断"只要语气催促就是垃圾邮件"这条规则是否还可靠。再想一想,真实系统若只统计催促词,会把哪些正常邮件误判。
参考答案
第一部分答案
每一行代表一封已经确认类别的历史邮件。发件人是否在联系人中、链接数量、是否出现催促用语、是否索要密码或验证码是四项特征。标签是"正常邮件"或"垃圾邮件"。
第三部分参考预测
按照训练数据里较明显的规律,A 可以预测为垃圾邮件,B 可以预测为正常邮件。C 很可能被简单规则预测为正常邮件,D 很可能被"索要密码或验证码"这项特征预测为垃圾邮件。
第四部分答案
C 和 D 最能暴露现有特征的不足。
C 没有链接,也没有直接索要密码或验证码,现有特征没有记录电话号码、正文语义和发件域名。模型缺少这些信息,容易把它判成正常邮件。
D 来自联系人,邮件本身是正常的安全提醒。表格把"安全提醒"和"在邮件中索要敏感信息"压成了过于简单的字段,可能导致误判。更好的数据要把实际动作和上下文记录得更清楚。
第五部分答案
"只要语气催促就是垃圾邮件"不可靠。缴费提醒、考试通知、账户安全警告和工作安排都可能带有时间要求。催促用语可以作为一条线索,不能单独承担最终判断。
自我检查
完成后,试着不用看正文回答下面五个问题。
- 样本、特征和标签分别是什么
- 训练阶段为什么需要标签
- 评估数据为什么不能提前参加训练
- 推理阶段通常能看到哪些信息
- 数据缺少一类场景时可能发生什么
五个问题能够说清楚,并能指出 C 或 D 判断困难的原因,就可以进入第 3 章。