平方欧氏距离为何是非度量函数?与欧氏距离有何差异?
嘿,咱们一步步理清楚平方欧氏距离和普通欧氏距离的区别,以及为啥前者会被归为非度量函数~
1. 平方欧氏距离与欧氏距离的核心区别
数学表达式差异
- 对于n维空间中的两点 (x=(x_1,x_2,...,x_n)) 和 (y=(y_1,y_2,...,y_n)),欧氏距离的计算是:
d(x,y) = sqrt(Σ(x_i - y_i)²) - 平方欧氏距离则直接省略了平方根运算,公式为:
d²(x,y) = Σ(x_i - y_i)²
- 对于n维空间中的两点 (x=(x_1,x_2,...,x_n)) 和 (y=(y_1,y_2,...,y_n)),欧氏距离的计算是:
数值与单位特性
- 欧氏距离的结果和原始数据的单位一致(比如数据单位是米,距离结果也是米),数值大小直观反映两点间的实际空间距离。
- 平方欧氏距离的单位是原始单位的平方(比如平方米),数值上会比对应的欧氏距离大(除了距离为0或1的情况)。
排序一致性
- 就像你在书里看到的,这两个函数对样本间的距离排序是完全一致的。因为平方根是严格单调递增的函数,所以如果
d²(x,y) > d²(a,b),必然有d(x,y) > d(a,b),反过来也成立。这也是很多算法(比如K-means聚类)会用平方欧氏距离代替欧氏距离的原因——计算更快(不用开根号),而且完全不影响结果的相对排序,而这正是算法需要的核心信息。
- 就像你在书里看到的,这两个函数对样本间的距离排序是完全一致的。因为平方根是严格单调递增的函数,所以如果
2. 为什么平方欧氏距离属于非度量函数?
一个函数要被称为度量函数,必须满足四个核心公理:
- 非负性:(D(x,y) ≥ 0),且当且仅当(x=y)时,(D(x,y)=0)
- 同一性:(D(x,x)=0)
- 对称性:(D(x,y)=D(y,x))
- 三角不等式:对任意三点(x,y,z),都满足(D(x,z) ≤ D(x,y) + D(y,z))
平方欧氏距离轻松满足前三个公理:
- 平方运算保证了非负性,只有两点完全相同时结果才为0;交换两点顺序,计算结果也不会变,满足对称性。
它的问题出在三角不等式上,咱们用一个简单的一维例子就能看明白:
- 设三个点分别为 (x=0),(y=0.5),(z=1)
- 计算平方欧氏距离:
- (D(x,y) = (0-0.5)² = 0.25)
- (D(y,z) = (0.5-1)² = 0.25)
- (D(x,z) = (0-1)² = 1)
- 现在验证三角不等式:(D(x,z) ≤ D(x,y) + D(y,z)) → (1 ≤ 0.25 + 0.25) → (1 ≤ 0.5),显然不成立!
因为平方欧氏距离不满足度量函数要求的三角不等式,所以它被归类为非度量函数。
内容的提问来源于stack exchange,提问作者raikumardipak
相关产品推荐
相关产品推荐

