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

一、任务目标
用数字特征算两点距离,距离越小越像。
二、知识点短列表
- 特征:描述样本的数字,如 [运动分, 阅读分]。
- 距离小通常表示更相似(本课约定)。
- 曼哈顿距离:各维 「abs」 差之和。
- 点用列表 「[x, y]」;多维同理 zip 对齐。
- 特征选不同,相似关系可能不同。
- 两向量维数必须相同,否则 zip 只会落到较短的那一段,距离会少算。
- 「abs」 保证差为负时仍按“格子数”累加,不会正负抵消。
三、机器学习在说什么
无监督常靠“相似”工作,而相似必须可计算。特征把卡片、同学、词语变成向量;距离把向量变成一个数。没有特征,算法无法比较。
曼哈顿距离是众多距离之一,优点是好算、好讲。欧氏距离以后会遇到,但小学先掌握“差的绝对值相加”即可。
警告:特征若含偏见(只采某一类同学),距离也会不公。选特征时要问:这个数真的与任务有关吗?无关特征会制造假相似:两个人鞋号相近,不等于兴趣相近。选特征前先写一句话:“我用这个数,是为了比较……”。
曼哈顿距离的生活比喻:在只许横平竖直走路的校园里,从 A 到 B 要走的格子数。差一维加一维,比斜线距离更好口算。公式写进笔记:对每一维算绝对值差,再全部加起来——维数变多时,仍然同一套「计数循环」积木思路。
本课为下一课“近中心归堆”准备尺子:没有距离,就没有“更近”。特征与距离是无监督的两条腿,缺一不可。
四、相关积木怎么用
- 「遍历/计数循环」:按维(或按项)重复处理。 逐维对齐。
- 「运算」 + 绝对值:累加每一维的差。 累加绝对值差。
- 迷你例子:函数「manhattan」 → 7。
走查:输入 函数「manhattan」 → 输出 7,因为 |0-3|+|0-4|=3+4。输入 函数「manhattan」 → 输出 3,因为 |1-2|+|2-4|=1+2。
生活格子图:只许横走竖走时,从学校到家的格子数就是曼哈顿距离。斜线捷径(欧氏)本课不算。把比喻与公式 |Δx|+|Δy| 写在同一行笔记。
检查题锚点:manhattan([0,0],[3,4]) 必须为 7。先口算 3+4,再点运行;口算错禁止点检查碰运气。
再练:(1,2)到(2,4)得3;三维[1,2,3]与[2,2,5]得3。两道加练写进笔记,特征课才算扎实。
偏见提醒:特征若只采某一类同学,距离会系统性偏向——选特征前先问“与任务有关吗”。
想一想:函数「manhattan」 三维时应返回几?先手算再写进笔记。
特征说明书必填:特征 1 名称与含义;特征 2 名称与含义;单位是什么;为何与任务有关。缺说明书的距离数字,科学课上无效。算完 (0,0)-(3,4)=7 与三维和=3 后,再讨论:若只比鞋号,原先“更像”的两人是否仍更像。
约定距离小更相似;换特征远近可翻转,结论必须写“在××特征下距离为×”。三维验算:[1,2,3] 与 [2,2,5] 差 1、0、2 和为 3,证明 zip 不限于二维。
要点串讲:特征把样本变成数字;距离量化相似;曼哈顿=各维绝对值差之和;特征一换,远近可能变;偏见特征会伤害公平。本课过关标准:能口算 manhattan([0,0],[3,4])=7,并举出换特征导致结论变化的例子。加练:三维特征 [1,2,3] 与 [2,2,5] 手算曼哈顿距离,确认 zip 多维仍然成立。
五、操作步骤
六、解题思路
任务:用数字特征算两点距离,距离越小越像。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:屏幕输出。
- 1明确任务「用数字特征算两点距离,距离越小越像。」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
- 3找出重复动作,用「计数循环/遍历」积木写成循环,少抄几遍。
- 4把可复用的一段动作做成函数,主程序里调用它。
- 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
七、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
即时验算:(0,0) 到 (3,4) 距离 7;(1,2) 到 (2,4) 距离 3。换特征为鞋号后重算,结论可能变——在笔记写清所用特征名,否则相似判断无效。无关特征会制造假相似。报告必须写特征名。格子图帮助理解只能横竖走。
abs 作用:差为负时仍按格子数加,避免正负抵消成“假近”。维数不同时 zip 会截断——两向量长度必须先相等。把这两条写成特征课的军规,贴在 manhattan 函数上方。
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:不问特征,凭感觉说“更像”;或不同样本用不同长度的特征却强行 zip。
判断:统一特征含义与维数;用距离量化相似;记录特征从何而来。
判断:特征选得不同,归堆结果可能不同。
判断:距离越小,在本课约定下通常越相似。
判断:曼哈顿距离是各维差的绝对值相加。
判断:无监督完全不需要任何数字特征。
选择:按相似度无标签分堆 →
九、知识点讲解
先弄清本课输入与输出,再进编程练习对照现象。
十、编程练习
用下拉列表切换题目;下方 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]))
正在载入编程环境
正在载入 Mixly 图形化编程环境…
十一、本节小结
你现在能实现 manhattan,用各维绝对值差之和度量两点远近,并说明换特征可能改变谁更相似;二维 7 与三维 3 都要会手算;特征说明书两维含义写清;abs 防正负抵消;维数必须一致。nearer 归近中心。