欧式距离

欧式距离(Euclidean Distance) 是在欧几里得空间中,两点之间的直线距离。它是度量空间中距离的一种,也是最常用的距离度量之一。在二维和三维空间中,欧氏距离就是两点之间的直线距离。

1. 欧式距离的定义

对于 n-维空间中的两个点 p=(p1,p2,,pn) 和 q=(q1,q2,,qn),它们之间的欧氏距离 d(p,q) 定义为:
d(p,q)=(p1q1)2+(p2q2)2++(pnqn)2

2. 欧式距离的计算

在二维空间中,如果点 p=(x1,y1) 和点 q=(x2,y2),则它们之间的欧氏距离为:
d(p,q)=(x1x2)2+(y1y2)2
在三维空间中,如果点 p=(x1,y1,z1) 和点 q=(x2,y2,z2),则它们之间的欧氏距离为:
d(p,q)=(x1x2)2+(y1y2)2+(z1z2)2

3. 欧式距离的性质

  • 非负性:欧氏距离总是非负的,即 d(p,q)0。
  • 对称性:两点之间的欧氏距离是对称的,即 d(p,q)=d(q,p)。
  • 三角不等式:对于任意三点 p,q,r,有 d(p,r)d(p,q)+d(q,r)。

4. 欧式距离的应用

  • 聚类分析:在 K-Means 等聚类算法中,欧氏距离常用于度量样本之间的相似性。
  • 分类问题:在 K-Nearest Neighbors(KNN)等分类算法中,欧氏距离用于找到最近的邻居。
  • 数据降维:在主成分分析(PCA)中,欧氏距离用于度量数据点之间的距离,以找到最佳的降维方向。

5. 欧式距离的优缺点

  • 优点:直观、易于理解,计算简单。
  • 缺点:对异常值敏感,且在高维空间中可能遇到“维度灾难”。

6. 代码示例(Python)

以下是一个使用 Python 计算欧氏距离的示例:
Python复制
import numpy as np

def euclidean_distance(p, q):
    return np.sqrt(np.sum((np.array(p) - np.array(q))**2))

# 示例
p = (1, 2, 3)
q = (4, 5, 6)

distance = euclidean_distance(p, q)
print("欧氏距离:", distance)

7. 总结

欧氏距离是度量空间中两点之间直线距离的一种,具有直观、易于计算的特点。它在机器学习、数据挖掘等领域有广泛的应用,但对异常值敏感,且在高维空间中可能遇到“维度灾难”。在实际应用中,需要根据具体问题选择合适的距离度量。
复制
分享
posted @ 2025-03-18 18:27  yinghualeihenmei  阅读(442)  评论(0)    收藏  举报