news 2026/4/26 12:20:37

从曼哈顿街区到国际象棋:用生活例子彻底搞懂机器学习里的‘距离’到底在算什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从曼哈顿街区到国际象棋:用生活例子彻底搞懂机器学习里的‘距离’到底在算什么

从曼哈顿街区到国际象棋:用生活例子彻底搞懂机器学习里的‘距离’到底在算什么

想象一下,你正站在纽约曼哈顿的十字路口,手里拿着一张地图。要去五个街区外的咖啡店,导航显示了两条路线:一条是斜穿公园的直线,另一条是沿着街道直角转弯的路径。这个日常选择背后,隐藏着机器学习中最基础却最容易被忽视的概念——距离度量。不同场景下,"距离"的定义天差地别,就像在曼哈顿开车时,直线距离往往不如拐弯次数来得实际。

1. 欧式距离:当我们在谈论距离时,我们在谈论什么

打开任何一本几何教科书,两点之间的距离都是通过那条最短的直线来定义的。这就是欧几里得在公元前300年提出的欧式距离,也是我们最熟悉的距离概念。在二维平面中,计算点A(x₁,y₁)和点B(x₂,y₂)的欧式距离公式简单明了:

distance = sqrt((x2 - x1)**2 + (y2 - y1)**2)

但现实世界往往比几何课本复杂得多。假设你在设计一个外卖配送系统,单纯用直线距离计算送餐时间会严重失真——配送员不可能穿墙而过,也不可能飞跃高楼。这就是为什么我们需要更多元的距离度量方式。

提示:欧式距离对异常值非常敏感。在三维空间中,一个偏离很远的点会显著拉大距离值,这可能影响聚类算法的效果。

2. 曼哈顿距离:城市生活的几何学

回到开头的曼哈顿导航问题。在这座以规则网格著称的城市里,出租车司机最清楚"距离"的另类定义——不是直线,而是所有南北向和东西向移动的总和。这种距离度量在机器学习中被称为曼哈顿距离或城市街区距离,其数学表达式为:

distance = abs(x2 - x1) + abs(y2 - y1)

这种距离度量特别适合:

  • 棋盘类游戏路径计算
  • 城市导航系统
  • 集成电路设计中的导线布局

有趣的事实:在曼哈顿距离下,所有与中心点距离相等的点会形成一个旋转45度的正方形,这与欧式距离形成的圆形形成鲜明对比。

3. 切比雪夫距离:国王的步伐

国际象棋中,国王可以朝任意方向移动一格——横、竖、斜线均可。那么国王从棋盘一角移动到对角位置最少需要多少步?这个问题的答案引出了切比雪夫距离的概念。数学上,它定义为各坐标数值差的最大值:

distance = max(abs(x2 - x1), abs(y2 - y1))
距离类型计算公式适用场景
欧式距离√(Δx²+Δy²)物理空间测量
曼哈顿距离Δx
切比雪夫距离max(Δx

在图像处理中,切比雪夫距离常用于检测像素间的最大差异。比如比较两张图片时,我们可能关心的是颜色通道中差异最大的那个分量,而不是整体差异。

4. 余弦距离:当方向比远近更重要

有时候,数值的绝对差异反而会掩盖真正的相似性。比如比较两篇文章的主题相似度时,文章长度不应该成为决定性因素。这时候就需要余弦距离——它测量的是两个向量之间的夹角,而非直线距离。

计算两个向量A和B的余弦相似度:

dot_product = sum(a*b for a,b in zip(A,B)) magnitude_A = sqrt(sum(a*a for a in A)) magnitude_B = sqrt(sum(b*b for b in B)) cosine_similarity = dot_product / (magnitude_A * magnitude_B)

余弦距离=1-余弦相似度。这种度量方式在以下场景表现优异:

  • 文档相似性比较
  • 推荐系统
  • 任何需要忽略量级差异的分析

注意:当向量包含负值时,余弦相似度的解释会变得复杂,这时可能需要考虑其他相似度度量。

5. 距离度量的艺术与科学

选择正确的距离度量就像为特定任务选择合适的工具。以下是一些实用建议:

  • 数据分布均匀且各维度同等重要:欧式距离
  • 网格状移动或各维度独立影响:曼哈顿距离
  • 只关心最大差异维度:切比雪夫距离
  • 方向比大小更重要:余弦距离
  • 分类数据:汉明距离
  • 考虑数据相关性:马氏距离

在实际项目中,我经常先用多种距离度量进行试验,通过交叉验证来确定哪种最适合当前问题。曾经在一个客户细分项目中,曼哈顿距离的表现意外地优于欧式距离,后来发现是因为客户行为指标间存在明显的独立性。

理解这些距离度量背后的直觉,远比死记硬背公式重要。当下次看到机器学习算法中的"metric"参数时,你会知道那不仅仅是一个数学定义,而是一套衡量世界多样性的思维工具。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 12:18:27

选NAND还是EMMC?给正点原子I.MX6ULL开发板配存储的实战指南与避坑建议

选NAND还是EMMC?正点原子I.MX6ULL开发板存储方案深度决策指南 在嵌入式系统开发中,存储介质的选择往往直接影响项目的成本结构、开发周期和最终产品的可靠性。对于采用正点原子ALPHA开发板(I.MX6ULL平台)的工程师而言,…

作者头像 李华
网站建设 2026/4/26 12:17:51

【数据结构】图----图的应用(拓扑排序)

一、基础概念有向无环图 DAG&#xff1a;无回路的有向图&#xff0c;拓扑排序仅对 DAG 有效拓扑排序对 DAG 顶点排序&#xff0c;使得&#xff1a;任意有向边 <u , v> &#xff0c;u 一定排在 v 前面作用判断有向图是否有环任务调度、课程先后顺序、工程流程特点拓扑序列…

作者头像 李华
网站建设 2026/4/26 12:14:53

Visual C++运行库终极修复指南:3分钟解决软件启动失败问题

Visual C运行库终极修复指南&#xff1a;3分钟解决软件启动失败问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否遇到过新安装的软件无法启动&#xff…

作者头像 李华