曼哈顿距离(Manhattan distance)

简介: 曼哈顿距离(Manhattan distance),也称为城市街区距离(City block distance)或L1距离(L1 distance),是两个点在标准坐标系上的绝对值距离之和。

曼哈顿距离(Manhattan distance),也称为城市街区距离(City block distance)或L1距离(L1 distance),是两个点在标准坐标系上的绝对值距离之和。

对于二维平面上的两个点A(x1, y1)和B(x2, y2),它们之间的曼哈顿距离可以通过以下公式计算:

d(A, B) = |x1 - x2| + |y1 - y2|

曼哈顿距离可以推广到更高维度的空间。对于n维空间中的两个点A(x1, x2, ..., xn)和B(y1, y2, ..., yn),它们之间的曼哈顿距离可以表示为:

d(A, B) = |x1 - y1| + |x2 - y2| + ... + |xn - yn|

曼哈顿距离的应用非常广泛,特别是在计算机视觉、聚类分析、路径规划等领域。

以下是一个简单的Python代码示例,演示如何计算两个二维点之间的曼哈顿距离:

python
Copy
def manhattan_distance(point1, point2):
distance = abs(point1[0] - point2[0]) + abs(point1[1] - point2[1])
return distance

示例点A和点B

pointA = (1, 2)
pointB = (4, 6)

计算曼哈顿距离

distance = manhattan_distance(pointA, pointB)

print("曼哈顿距离:", distance)
运行以上代码,将会输出点A(1, 2)和点B(4, 6)之间的曼哈顿距离为 7。

在计算机视觉中,曼哈顿距离常用于图像相似性度量、目标检测中的边界框匹配等。在聚类分析中,曼哈顿距离可以用作一种距离度量,例如K-means算法中的簇中心更新。在路径规划中,曼哈顿距离可以用作启发式函数,例如A*搜索算法中的估计代价。

《数据挖掘导论》(Introduction to Data Mining)- Pang-Ning Tan, Michael Steinbach, Vipin Kumar:这本书介绍了数据挖掘的基本概念和技术,其中包括曼哈顿距离的讲解和应用示例。

《算法导论》(Introduction to Algorithms)- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein:这本经典的计算机算法教材包含了曼哈顿距离的讨论,特别是在几何算法和近似算法方面的应用。

相关论文和研究文章:在学术搜索引擎(如Google Scholar)上搜索关键词 "Manhattan distance" 或 "L1 distance",可以找到与曼哈顿距离相关的研究论文和文章,涵盖了不同领域的应用。

网络教程和博客文章:在网上搜索关键词 "Manhattan distance explained" 或 "L1 distance tutorial",你可以找到很多教程和博客文章,介绍曼哈顿距离的概念、计算方法以及在不同领域的应用。

Coursera 和 Udemy:这些在线学习平台提供各种与数据科学、机器学习和计算机视觉相关的课程,其中一些课程会涉及到曼哈顿距离的讲解和实践。

目录
相关文章
|
存储 Python
海明距离(Hamming Distance)
海明距离(Hamming Distance)是用来衡量两个二进制数之间差异程度的指标,它表示两个二进制数之间最多有多少个比特的差异。海明距离可以用于衡量数据传输或存储中的错误率,以及检测噪声干扰。 海明距离的计算方法是:对于两个 n 位二进制数,将它们进行逐位比较,如果对应位上的数字不同,则计算距离时增加 1。然后将所有位上的距离加在一起,得到海明距离。
1657 1
五种常用距离的代码实现:欧式距离、曼哈顿距离、闵可夫斯基距离、余弦相似度、杰卡德距离
五种常用距离的代码实现:欧式距离、曼哈顿距离、闵可夫斯基距离、余弦相似度、杰卡德距离
|
6月前
|
算法
欧几里得
欧几里得
45 4
|
机器学习/深度学习 算法 Python
欧几里得距离(Euclidean distance)
欧几里得距离(Euclidean distance)是在数学中常用于衡量两个点之间的距离的一种方法。它在几何学和机器学习等领域都有广泛的应用。欧几里得距离基于两点之间的直线距离,可以看作是在一个多维空间中测量两个点之间的直线距离。
699 1
|
算法
hdoj 4712 Hamming Distance(靠人品过的)
在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的字符不同的个数。换句话说,它就是将 一个字符串变换成另外一个字符串所需要替换的字符个数。
32 0
|
机器学习/深度学习 搜索推荐 数据挖掘
常见的几种距离量度(欧式距离、曼哈顿距离、切比雪夫距离等)
在机器学习和数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。本文介绍几种常用的距离量度方法。
838 0
面积曲线AUC(area under curve)
面积曲线AUC(area under curve)
218 2
面积曲线AUC(area under curve)
|
机器学习/深度学习
【欧拉计划第 6 题】和的平方与平方的和差值 Sum square difference
【欧拉计划第 6 题】和的平方与平方的和差值 Sum square difference
161 0
【1046】Shortest Distance (20 分)
【1046】Shortest Distance (20 分) 【1046】Shortest Distance (20 分)
91 0