单元三

第12课 量一量谁更像谁——特征与曼哈顿距离

任务场景:用尺子和坐标点理解距离=相似度
任务场景:用尺子和坐标点理解距离=相似度

一、任务目标

理解特征把样本变成可比较的数,曼哈顿距离是各维差的绝对值之和;能口算两点距离,并说明距离越小越相似。

二、我们要学什么

  • 学习要点:量一量谁更像谁|特征与曼哈顿距离
  • 本课过关:能完成:说出特征是用来比较的数字,曼哈顿距离把「差多少」加起来;载入体验程序,指出 (0,0) 与 (3,4) 的距离为 7;改其中一个坐标后,距离跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识特征与曼哈顿距离。重难点是先选与任务有关的数,再算距离;换特征,远近可能颠倒。要点对齐「量一量谁更像谁|特征与曼哈顿距离」。

1读场景明确真实任务
2对要点量一量谁更像谁|特征与曼哈顿距离
3载入运行图形化积木

四、解题思路

任务:把样本写成特征,并用曼哈顿距离比较相似。请分清:特征是输入,距离是输出。

本课主要用到:Mixly 图形化积木与屏幕输出。

  1. 1明确任务「算出两点距离」:输出应是一个非负数。
  2. 2对每一维求差的绝对值,再全部相加。
  3. 3改一个坐标后重算,核对距离是否跟随。

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

任务:算出两点距离对每一维求差的绝对值改一个坐标后重算

五、图形块功能讲解

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

六、知识点讲解

特征把样本变成一组数,便于比较。曼哈顿距离是各维差的绝对值之和:距离越小越相似。本课用量一量谁更像谁作例子,只练这一种好算的距离。选特征时要与任务有关;换一套特征,谁更近可能改变。

先弄清:先变成数,再算距离;再进编程练习对照远近。

七、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

参考代码(对照抄写到下方 Mixly)
def manhattan(a, b):
    s = 0
    for i in range(len(a)):
        s = s + abs(a[i] - b[i])
    return s

print(manhattan([1, 2], [2, 4]))

八、课堂练习

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

  1. 判断:两点 (0,0) 与 (3,4) 的曼哈顿距离是 |3-0|+|4-0|=7。

  2. 判断:不问特征、凭感觉说“更像”,和用距离算出来是一回事。

  3. 「特征」在本课指的是?

  4. 曼哈顿距离怎么算?

  5. 换一套与任务有关的特征后,谁更近?

九、本节小结

本课主题是特征与曼哈顿距离:用数字描述样本,各维绝对值差之和表示远近。距离越小越相似。