单元六

第18课 五问诊帮任务选型——四种方法怎么选

任务场景:五问诊——先问清楚再选方法
任务场景:五问诊——先问清楚再选方法

一、任务目标

按有无标签、要否归堆、要否试错、是否复杂感知,选出方法。

二、知识点短列表

  • 问1:有没有标签?
  • 问2:要不要自己发现组别?
  • 问3:要不要连续试错奖励?
  • 问4:是不是复杂感知?
  • 问5:能否拆成多步分别选型?
  • 优先级:感知→奖励→无标签归堆→有标签。
  • 函数「choose_type」 返回类型中文名。
  • 优先级固定:感知 > 奖励 > 无标签归堆 > 有标签;改顺序会选错类型。
  • 四个参数都是布尔值;不要把“有一点像”写成模糊的字符串。

三、机器学习在说什么

选型错误比代码错误更浪费:用错类型,数据准备与评价指标都会偏。五问诊把口头讨论变成固定顺序,减少漏问。

函数里用四个布尔参数模拟问诊结果。真实课堂先人工问答,再对照函数输出是否一致——人仍然主审。

记住:不是越“深”越好,而是越对症越好。拆步:例如“先聚类发现组别,再人工命名后做有监督”,可以两段选型。

把四类任务当场演练:垃圾分类(有标签)→有监督;兴趣词无标签分堆→无监督;迷宫奖励→强化;语音点名→深度。每演练一题,就改一次 choose_type 的四个布尔参数,看返回值是否与口算一致——这是在校准你的五问诊,而不是在玩函数。

优先级为何如此排列:感知任务往往结构最重,先挡住“误用小规则硬扛人脸”;奖励任务有安全边界,需单独识别;无标签归堆与有标签分类最后用标签有无来分流。记优先级,比死记四个名字更有用。

四、相关积木怎么用

  • 参数:has_label, need_cluster, need_reward, need_perception。
  • 先 if need_perception,再 need_reward,再无标签聚类,再有标签。
  • 迷你例子:全 False 仅 has_label True→有监督学习。

走查:输入 函数「choose_type」 → 有监督学习,因为不需要感知/奖励/无标签归堆,且 has_label 为真。输入 函数「choose_type」 → 深度学习,因为 need_perception 优先命中。

想一想:has_label=False、need_cluster=True、其余 False 时,choose_type 应返回哪一类?

应返回无监督学习。把四卡布尔表与函数 if 顺序贴在同一页:感知→奖励→无标签归堆→有标签。拆步例再写一行:步骤 A 无监督、步骤 B 有监督,禁止合成一个含糊的“深度”。倒填参数一经发现,本课客观题作废重测。

纪律:先口头五问→四个布尔→再运行 choose_type,禁止倒填。复合例:先无监督分堆再有监督分类,两步各填一套参数。优先级口诀:感知优先挡;奖励看安全;无标签归堆;有标签分类——对照代码 if 顺序。

要点串讲:五问诊按标签、归堆、试错、感知、拆步提问;choose_type 按感知→奖励→无标签归堆→有标签优先级返回类型名;复合任务分步选。本课过关标准:四张任务卡口头选型与函数输出一致。加练:设计一个“先无监督分堆、再有监督分类”的两步任务,说明五问诊第五问“拆步”如何用。

五、操作步骤

步骤1
读任务单对每个任务回答五问。
步骤2
填布尔值把答案变成四个 True/False。
步骤3
跑 choose_type对照期望类型名。
步骤4
拆复合题若一步不够,拆成两步分别选。

六、解题思路

任务:按有无标签、要否归堆、要否试错、是否复杂感知,选出方法。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「按有无标签、要否归堆、要否试错、是否复杂感知,选出方法。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4把可复用的一段动作做成函数,主程序里调用它。
  5. 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:按有无标签、要…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…把可复用的一段动作做成函数…对照参考积木(或代码)跑通后,只改一…

七、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

即时验算:(True,F,F,F)→有监督;(F,F,F,True)→深度;(F,F,True,F)→强化;(F,True,F,F)→无监督。先口答四卡再跑函数,禁止倒填布尔参数。

第五问拆步补一句:若任务既要分堆又要最终贴官方标签,先无监督后有监督,两次 choose_type,不要合成一次调用。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:所有问题都上深度学习;或复合任务不拆步硬套一种。

  2. 判断:按五问诊与优先级选型;复合任务分步选;人主审核。

  3. 校园垃圾:已有类别名要自动分 →

  4. 兴趣小组:无标签按相似分堆 →

  5. 迷宫机器人:碰壁扣分到终点加分 →

  6. 语音点名识别同学 →

  7. 判断:复合任务可以拆开分别选型。

  8. 判断:所有问题都要用深度学习。

九、知识点讲解

—四种方法怎么选:弄清本课概念定义、适用边界与可观察现象;用例子或仿真验证后再练习。

先弄清本课输入与输出,再进编程练习对照现象。

十、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。

参考代码(对照抄写到下方 Mixly)
def choose_type(has_label, need_cluster, need_reward, need_perception):
    if need_perception:
        return "深度学习"
    if need_reward:
        return "强化学习"
    if need_cluster and not has_label:
        return "无监督学习"
    if has_label:
        return "有监督学习"
    return "无监督学习"

print(choose_type(True, False, False, False))
print(choose_type(False, True, False, False))

十一、本节小结

你现在能按五问诊填写四个布尔参数,并用 函数「choose_type」 返回正确类型名,复合任务还会拆步。traintest 跑通一天活动项目闭环。