面包屑图标 当前位置: 首页
AI资讯
热点详情

一文掌握机器学习十种常用距离度量方法详解

AI热点日报
AI热点日报时间:2026-07-14
热点解读

距离度量是机器学习中一个绕不开的基础话题——无论是监督学习还是无监督学习,从K近邻、支持向量机到K均值聚类,几乎所有算法都要依赖它来刻画样本之间的差异。选择什么样的距离度量,往往会直接影响模型的效果。因此,在动手之前,先搞清楚每种距离的原理、适用场景和局限性,比盲目套用默认值要靠谱得多。本文就来系统

距离度量是机器学习中一个绕不开的基础话题——无论是监督学习还是无监督学习,从K近邻、支持向量机到K均值聚类,几乎所有算法都要依赖它来刻画样本之间的差异。选择什么样的距离度量,往往会直接影响模型的效果。因此,在动手之前,先搞清楚每种距离的原理、适用场景和局限性,比盲目套用默认值要靠谱得多。

本文就来系统地梳理一下十种常用的距离度量方法:它们怎么算、Python里怎么实现、适合处理什么类型的数据。顺便也把各自的坑点说明白,避免踩雷。在深入每种方法之前,先建立一个大致的框架。距离度量的本质,就是衡量两个对象在特征空间中的差异。差异越小,说明两个对象越相似。根据数据类型的差异,距离度量大致可以分为两类:几何距离统计距离。前者适合实值向量、地理坐标这类数据;后者多用于二进制数据、集合、时间序列等特殊场景。


几何距离测量

1. 欧氏距离(Euclidean distance)

这是最直观、最常用的距离度量,表示两个实值向量之间的最短直线距离。由于计算简单且在很多场景下表现不错,它经常被当作默认选项。欧氏距离也叫L2范数,计算公式为:Python实现只需要一行:from scipy.spatial import distance; distance.euclidean(vector_1, vector_2)。不过要注意两个明显的问题:第一,维度一旦超过二维或三维,欧氏距离的直观性就会打折扣,而且在高维空间中容易失效(所谓的“维度灾难”);第二,如果特征没有经过归一化或标准化,量纲差异会导致距离严重倾斜。

2. 曼哈顿距离(Manhattan distance)

也叫出租车距离或城市街区距离,它模拟的是只能在直角方向上移动的路径。这种度量尤其适合离散属性和二元属性,因为它能反映真实的路径长度。曼哈顿距离基于L1范数:Python调用:distance.cityblock(vector_1, vector_2)。它的缺陷也明显:不如欧氏距离直观,而且不关心最短路径——如果你要的是“最短距离”,曼哈顿距离可能并不满足需求。

3. 切比雪夫距离(Chebyshev distance)

也叫棋盘距离,它取的是向量在任意维度上的最大差值。一个典型应用是仓库物流:从一点到另一点所需的时间,往往由最长的那个轴上的移动决定。切比雪夫距离对应L-无穷范数:Python:distance.chebyshev(vector_1, vector_2)。它的使用场景非常特定,日常工作中并不常见。

4. 闵可夫斯基距离(Minkowski distance)

可以看作是前面三种距离的广义形式。通过调整参数p,它可以退化为曼哈顿距离(p=1)、欧氏距离(p=2)或切比雪夫距离(p→∞)。这种灵活性让它能适配更多场景,但同时也增加了调参成本。公式为:Python:distance.minkowski(vector_1, vector_2, p)。需要提醒的是,它继承了欧氏距离在高维空间和量纲依赖上的通病,而且寻找最优p值需要额外计算,可能影响效率。

5. 余弦相似度与余弦距离(Cosine similarity/distance)

余弦相似度衡量的是两个向量方向的接近程度,完全忽略它们的长度。因此,它特别适合高维稀疏数据,比如文本分析中的词频向量、推荐系统中的用户兴趣向量。余弦相似度取值范围是[-1, 1],在正空间(如图像、文本)中通常落在[0, 1]之间。余弦距离 = 1 - 余弦相似度,取值[0, 1]。Python:distance.cosine(vector_1, vector_2)。主要缺点是只关注方向,不考虑幅值差异,当数值大小本身包含重要信息时,余弦距离可能会丢掉关键信息。

6. 半正矢距离(Haversine distance)

专门用来计算球面上两点之间的最短大圆距离。导航、地理信息系统里绕不开它,因为经纬度需要在球面曲率下处理。公式涉及地球半径r、经度φ和纬度λ:Python:from sklearn.metrics.pairwise import haversine_distances; haversine_distances([vector_1, vector_2])。它的局限性在于假设地球是完美球体,而实际是椭球,因此存在一定误差。

7. 汉明距离(Hamming distance)

用于比较两个等长二进制向量或字符串之间的差异。它逐元素比较,统计不同位置的个数,再平均得到[0,1]区间的距离。相同则为0,完全不同则为1。Python:distance.hamming(vector_1, vector_2)。两个限制:一是两个向量长度必须相等,二是它只反映差异的个数,不反映差异的程度。如果差异的大小很重要(比如信号强度),汉明距离就不合适。


统计距离测量

统计距离侧重于数据分布或集合的相似性,常用于假设检验、分类任务和异常检测。

8. 杰卡德指数与距离(Jaccard Index & Distance)

用来衡量两个样本集之间的重叠程度。它计算交集与并集的比值,范围[0,1]。在图像识别的模型评估中,常用Jaccard指数比较预测掩码与真实标注;在文本分析中,它也可以比较文档的单词集合。公式为:Python:distance.jaccard(vector_1, vector_2)。需要注意,数据集的规模对结果影响很大——样本量大的集合往往更容易匹配,这可能导致偏差。

9. Sorensen-Dice指数

和Jaccard类似,但计算方式略有不同,它直接给出重叠的百分比,因此有时更直观。常用于图像分割和文本相似度。公式:Python:distance.dice(vector_1, vector_2)。同样的,它对数据集规模也很敏感。

10. 动态时间规整(Dynamic Time Warping, DTW)

这是专门为时间序列设计的距离度量,可以处理长度不同、或者存在时间偏移(比如同一模式提前或延后)的序列。想象一下,两条形曲线完全一样,但一条比另一条晚了几个时间步——如果用欧氏距离逐点对齐,结果会非常大,但DTW通过允许一对多或多对一的映射找到最佳对齐路径,从而得到更合理的相似度。路径需要满足边界条件、单调性、连续性等约束。Python可以用fastdtw包:from fastdtw import fastdtw; distance, path = fastdtw(timeseries_1, timeseries_2, dist=euclidean)。DTW的主要缺点是计算量较大,尤其是长序列。


总结

以上就是十种常见距离度量的核心要点:怎么算、怎么用、有什么坑。实际工作中,没有一种度量是万能的。关键是理解数据的特性:是连续值还是离散值?是否有量纲差异?维度高不高?是否需要考虑方向?有没有时间偏移?——选对了距离,模型才不至于在第一步就走偏。如果你有其他常用的距离度量,也欢迎补充。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:一文掌握机器学习十种常用距离度量方法详解要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://m.elecfans.com/article/2133009.html
机器学习

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-14 17:40
AI大厂进军医药,资本市场难等十年

三家AI大厂加速布局生命科学:Anthropic推出科研工作台ClaudeScience,OpenAI发布基因基准测试GeneBench-Pro,谷歌旗下IsomorphicLabs推进AI药物设计。然而,药物研发周期漫长,资本市场难以等待十年。最终赢家或将是拥有专有数据与临床体系的大型制药公司。

AI热点2026-07-14 17:40
AI交易崩盘债市大涨拖累股市

AI借债狂潮引发债市警报,投资级债券市场消化不良,叠加美联储加息预期和油价冲击,导致美股半导体及AI板块全线溃退。债市裂缝正演变为股市地震,市场承接能力急剧萎缩,可能引发更广泛抛售。

AI热点2026-07-14 17:39
十分钟搞懂Stable Diffusion运行原理

揭秘Stable Diffusion如何利用AI魔法将文字转化为惊艳图像,10分钟掌握核心技术与原理! 核心内容: Stable Diffusion的技术背景与行业深远影响 文生图核心原理与关键模块拆解 AI绘画的典型应用场景与未来发展趋势 AIGC热潮正以迅猛之势席卷全球,Stable Diffu

AI热点2026-07-14 17:39
长沙市智能教育工作坊研修活动圆满举办

2025年6月21日,一场以“聚焦数字化应用,赋能教师成长”为主题的研修活动在长沙仰天湖赤岭小学正式拉开帷幕。本次活动不仅是长沙市人工智能助推教师队伍建设试点区的阶段性成果集中展示,更是“长沙市智能教育工作坊”启动研修的重要契机。近百名分管培训与教研工作的校长、教师到场参与,市区级相关领导与专家也亲

延伸阅读