0


【AI知识点】欧几里得距离(Euclidean Distance)L2距离(L2 Distance)

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】


欧几里得距离(Euclidean Distance)也称L2距离(L2 Distance),是一种常用的几何距离度量方法,用来计算两个点之间的直线距离。在二维或更高维空间中,欧几里得距离可以看作是“最短路径”的概念。它在机器学习、图像处理、模式识别、聚类分析等领域有广泛的应用。

1. 欧几里得距离的定义

给定两个向量或点

     A 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
   
     … 
    
   
     , 
    
    
    
      x 
     
    
      n 
     
    
   
     ) 
    
   
  
    \mathbf{A} = (x_1, x_2, \dots, x_n) 
   
  
A=(x1​,x2​,…,xn​) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
    
    
      y 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     , 
    
   
     … 
    
   
     , 
    
    
    
      y 
     
    
      n 
     
    
   
     ) 
    
   
  
    \mathbf{B} = (y_1, y_2, \dots, y_n) 
   
  
B=(y1​,y2​,…,yn​),欧几里得距离的公式为:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
      
        ( 
       
       
       
         x 
        
       
         1 
        
       
      
        − 
       
       
       
         y 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
       
       
         x 
        
       
         2 
        
       
      
        − 
       
       
       
         y 
        
       
         2 
        
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ⋯ 
       
      
        + 
       
      
        ( 
       
       
       
         x 
        
       
         n 
        
       
      
        − 
       
       
       
         y 
        
       
         n 
        
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2 + \dots + (x_n - y_n)^2} 
    
   
 d(A,B)=(x1​−y1​)2+(x2​−y2​)2+⋯+(xn​−yn​)2​

或者更一般的形式是:

      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
    
      ∥ 
     
    
      A 
     
    
      − 
     
    
      B 
     
     
     
       ∥ 
      
     
       2 
      
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \|\mathbf{A} - \mathbf{B}\|_2 
    
   
 d(A,B)=∥A−B∥2​

其中,

     ∥ 
    
   
     ⋅ 
    
    
    
      ∥ 
     
    
      2 
     
    
   
  
    \|\cdot\|_2 
   
  
∥⋅∥2​ 是L2范数,表示向量之间的欧几里得距离。

二维空间中的欧几里得距离

给定两个点

     A 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     ) 
    
   
  
    \mathbf{A} = (x_1, y_1) 
   
  
A=(x1​,y1​) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     ) 
    
   
  
    \mathbf{B} = (x_2, y_2) 
   
  
B=(x2​,y2​) 在二维平面上,欧几里得距离可以通过勾股定理计算为这两个点之间的直线距离。公式为:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
      
        ( 
       
       
       
         x 
        
       
         2 
        
       
      
        − 
       
       
       
         x 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
       
       
         y 
        
       
         2 
        
       
      
        − 
       
       
       
         y 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} 
    
   
 d(A,B)=(x2​−x1​)2+(y2​−y1​)2​

这个公式表示两点在平面上形成的直角三角形的斜边长度。

三维空间中的欧几里得距离

如果是三维空间中的两个点

     A 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      1 
     
    
   
     , 
    
    
    
      z 
     
    
      1 
     
    
   
     ) 
    
   
  
    \mathbf{A} = (x_1, y_1, z_1) 
   
  
A=(x1​,y1​,z1​) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     , 
    
    
    
      z 
     
    
      2 
     
    
   
     ) 
    
   
  
    \mathbf{B} = (x_2, y_2, z_2) 
   
  
B=(x2​,y2​,z2​),它们之间的欧几里得距离为:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
      
        ( 
       
       
       
         x 
        
       
         2 
        
       
      
        − 
       
       
       
         x 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
       
       
         y 
        
       
         2 
        
       
      
        − 
       
       
       
         y 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
       
       
         z 
        
       
         2 
        
       
      
        − 
       
       
       
         z 
        
       
         1 
        
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2 + (z_2 - z_1)^2} 
    
   
 d(A,B)=(x2​−x1​)2+(y2​−y1​)2+(z2​−z1​)2​

更高维空间中的欧几里得距离

对于n维空间中的两个点

     A 
    
   
     = 
    
   
     ( 
    
    
    
      x 
     
    
      1 
     
    
   
     , 
    
    
    
      x 
     
    
      2 
     
    
   
     , 
    
   
     … 
    
   
     , 
    
    
    
      x 
     
    
      n 
     
    
   
     ) 
    
   
  
    \mathbf{A} = (x_1, x_2, \dots, x_n) 
   
  
A=(x1​,x2​,…,xn​) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
    
    
      y 
     
    
      1 
     
    
   
     , 
    
    
    
      y 
     
    
      2 
     
    
   
     , 
    
   
     … 
    
   
     , 
    
    
    
      y 
     
    
      n 
     
    
   
     ) 
    
   
  
    \mathbf{B} = (y_1, y_2, \dots, y_n) 
   
  
B=(y1​,y2​,…,yn​),它们之间的欧几里得距离为:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
       
       
         ∑ 
        
        
        
          i 
         
        
          = 
         
        
          1 
         
        
       
         n 
        
       
      
        ( 
       
       
       
         x 
        
       
         i 
        
       
      
        − 
       
       
       
         y 
        
       
         i 
        
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} 
    
   
 d(A,B)=i=1∑n​(xi​−yi​)2​

即在每个维度上计算两个点的差值的平方,取这些平方和的平方根。


2. 欧几里得距离的计算示例

示例1:二维空间中的欧几里得距离

假设有两个点

     A 
    
   
     = 
    
   
     ( 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     ) 
    
   
  
    \mathbf{A} = (1, 2) 
   
  
A=(1,2) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
   
     4 
    
   
     , 
    
   
     6 
    
   
     ) 
    
   
  
    \mathbf{B} = (4, 6) 
   
  
B=(4,6),它们在二维平面上的欧几里得距离可以计算如下:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
      
        ( 
       
      
        4 
       
      
        − 
       
      
        1 
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
      
        6 
       
      
        − 
       
      
        2 
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
      = 
     
     
      
       
       
         3 
        
       
         2 
        
       
      
        + 
       
       
       
         4 
        
       
         2 
        
       
      
     
    
      = 
     
     
      
      
        9 
       
      
        + 
       
      
        16 
       
      
     
    
      = 
     
     
     
       25 
      
     
    
      = 
     
    
      5 
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{(4 - 1)^2 + (6 - 2)^2} = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5 
    
   
 d(A,B)=(4−1)2+(6−2)2​=32+42​=9+16​=25​=5

因此,这两个点之间的欧几里得距离为5。

示例2:三维空间中的欧几里得距离

假设有两个点

     A 
    
   
     = 
    
   
     ( 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     3 
    
   
     ) 
    
   
  
    \mathbf{A} = (1, 2, 3) 
   
  
A=(1,2,3) 和  
 
  
   
   
     B 
    
   
     = 
    
   
     ( 
    
   
     4 
    
   
     , 
    
   
     6 
    
   
     , 
    
   
     8 
    
   
     ) 
    
   
  
    \mathbf{B} = (4, 6, 8) 
   
  
B=(4,6,8),它们在三维空间中的欧几里得距离为:


  
   
    
    
      d 
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
      
      
        ( 
       
      
        4 
       
      
        − 
       
      
        1 
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
      
        6 
       
      
        − 
       
      
        2 
       
       
       
         ) 
        
       
         2 
        
       
      
        + 
       
      
        ( 
       
      
        8 
       
      
        − 
       
      
        3 
       
       
       
         ) 
        
       
         2 
        
       
      
     
    
      = 
     
     
      
       
       
         3 
        
       
         2 
        
       
      
        + 
       
       
       
         4 
        
       
         2 
        
       
      
        + 
       
       
       
         5 
        
       
         2 
        
       
      
     
    
      = 
     
     
      
      
        9 
       
      
        + 
       
      
        16 
       
      
        + 
       
      
        25 
       
      
     
    
      = 
     
     
     
       50 
      
     
    
      ≈ 
     
    
      7.07 
     
    
   
     d(\mathbf{A}, \mathbf{B}) = \sqrt{(4 - 1)^2 + (6 - 2)^2 + (8 - 3)^2} = \sqrt{3^2 + 4^2 + 5^2} = \sqrt{9 + 16 + 25} = \sqrt{50} \approx 7.07 
    
   
 d(A,B)=(4−1)2+(6−2)2+(8−3)2​=32+42+52​=9+16+25​=50​≈7.07

因此,这两个点之间的距离约为7.07。


3. 欧几里得距离的直观理解

欧几里得距离可以直观地理解为平面或空间中的“直线距离”或“最短路径”。它基于勾股定理,计算两个点之间的直线距离。

例子:

在日常生活中,如果你在城市的一个街区(点A),想要到达另一条街(点B),欧几里得距离就是从A到B的直线距离。如果你可以无视街道和建筑物,直接穿越到目标点,所走的距离就是欧几里得距离。

在更高维的向量空间中,这一概念仍然适用:欧几里得距离是两个向量之间的直线距离,描述了它们在向量空间中的“最短”距离。


4. 欧几里得距离的应用场景

a. 聚类分析

在聚类分析中,欧几里得距离常用于衡量数据点之间的相似性。距离越小,表示两个数据点越相似。常见的聚类算法如K-means使用欧几里得距离来决定数据点和聚类中心之间的距离,并根据距离将数据点划分到最接近的簇中。

b. 图像处理

在图像处理任务中,欧几里得距离可以用于衡量图像特征之间的差异。图像可以通过特征向量表示,特征向量之间的欧几里得距离可以衡量图像的相似性。

c. 最近邻算法(K-NN)

在K近邻算法(K-NN)中,欧几里得距离用于衡量新样本和训练集中每个样本之间的距离。距离最近的K个点用于预测新样本的类别。


5. 欧几里得距离的优缺点

优点:

  1. 简单直观:欧几里得距离是最常用的距离度量之一,易于理解和计算。
  2. 几何解释:它具有直观的几何解释,代表了两个点之间的最短路径。

缺点:

  1. 维度灾难:在高维空间中,欧几里得距离的效果会受到“维度灾难”影响,即随着维度的增加,数据点之间的距离会趋于相似,从而使得距离度量失效。
  2. 对尺度敏感:欧几里得距离对不同特征的尺度非常敏感。如果不同特征的量纲(单位)不一致,欧几里得距离可能会被主导量纲较大的特征所主导。因此,在应用欧几里得距离之前,通常需要对数据进行归一化或标准化。

6. 欧几里得距离与其他距离度量的对比

a. L1距离(曼哈顿距离 Manhattan Distance)

L2距离是两点之间的直线距离,而L1距离(曼哈顿距离)是两点在各个坐标轴上的绝对差值之和。L1距离不涉及平方操作,因此对噪声的鲁棒性较好,但有时在高维空间中可能表现不如L2距离。公式为:

       d 
      
     
       Manhattan 
      
     
    
      ( 
     
    
      A 
     
    
      , 
     
    
      B 
     
    
      ) 
     
    
      = 
     
     
     
       ∑ 
      
      
      
        i 
       
      
        = 
       
      
        1 
       
      
     
       n 
      
     
    
      ∣ 
     
     
     
       x 
      
     
       i 
      
     
    
      − 
     
     
     
       y 
      
     
       i 
      
     
    
      ∣ 
     
    
   
     d_{\text{Manhattan}}(\mathbf{A}, \mathbf{B}) = \sum_{i=1}^{n} |x_i - y_i| 
    
   
 dManhattan​(A,B)=i=1∑n​∣xi​−yi​∣

b. 余弦相似度(Cosine Similarity):

余弦相似度用于衡量两个向量之间的方向相似性,而不是它们的距离。余弦相似度的值范围是

     [ 
    
   
     − 
    
   
     1 
    
   
     , 
    
   
     1 
    
   
     ] 
    
   
  
    [-1, 1] 
   
  
[−1,1],用于表示两个向量的夹角余弦值。如果两个向量的夹角为0度,表示它们的方向相同,余弦相似度为1。而欧几里得距离关注的是向量之间的“物理距离”。

c. 马氏距离(Mahalanobis Distance)

马氏距离是一种考虑数据分布的距离度量,特别适用于多元正态分布数据。它考虑了变量之间的协方差,因此在不规则数据分布的情况下,马氏距离比欧几里得距离更可靠。


7. 总结

欧几里得距离作为一种简单而有效的距离度量,仍然在机器学习和数据分析中占据着重要地位,尤其是在KNN、K-Means等核心算法中。尽管在高维空间中可能面临维度灾难,但通过适当的预处理、数据降维以及结合其他技术,欧几里得距离依然能够在实际应用中表现出色。


本文转载自: https://blog.csdn.net/weixin_43221845/article/details/142679627
版权归原作者 AI完全体 所有, 如有侵权,请联系我们删除。

“【AI知识点】欧几里得距离(Euclidean Distance)L2距离(L2 Distance)”的评论:

还没有评论