在K-means或KNN,我们是用欧氏距离

来计算最近的邻居之间的距离,为什么不用曼哈顿距离?
在K-means或KNN,我们是用欧氏距离

在K-means聚类和K近邻(KNN)算法中,通常选择欧氏距离作为计算数据点间距离的标准方法,而较少使用曼哈顿距离。尽管两种距离都是衡量空间中两点之间分离程度的有效度量,但欧氏距离在这些特定场景中更为常用的原因主要有以下几点:
几何直观与性质:
欧氏距离:欧氏距离是最直观且最常用的点间距离度量,对应于现实生活中两点间直线距离的概念。在高维空间中,它反映了各个维度差值的平方和开方后的总和,具有良好的几何意义,即两点间的直线段长度。欧氏距离满足度量空间的公理(如非负性、对称性、三角不等式),这对于保持距离计算的合理性至关重要。
数学性质与效率:
欧氏距离:欧氏距离在数学上具有良好的可导性和解析性质,便于在优化过程中(如K-means中的迭代中心更新)进行计算。此外,由于其计算公式中包含平方和开方操作,对于数值稳定性有较好的保证。在实际应用中,特别是在高维空间中,欧氏距离的计算相对简单且易于并行化,有利于提升算法效率。
对各维度平等对待:
欧氏距离:欧氏距离假设各个特征维度具有相同的重要性,即各维度差异的权重相等。这种等权处理方式在许多实际应用中是合理的,尤其是在各特征单位相同、对模型影响均衡的情况下。如果事先没有特别的理由认为某些特征应该赋予不同的权重,欧氏距离作为无偏的全局距离度量是一个自然的选择。
数据分布适应性:
欧氏距离:当数据分布呈现出大致的球形或椭球形态时,欧氏距离更能有效捕捉点之间的相对远近关系。K-means和KNN通常假设数据在局部具有这样的分布特性,使得欧氏距离能较好地服务于聚类或分类任务。
相比之下,曼哈顿距离(城市街区距离或L1范数)计算的是各维度差值绝对值之和。虽然在某些特定情况下(如数据呈网格状分布、各特征轴方向具有明显独立性、需要考虑非连续性移动成本等)曼哈顿距离可能更为合适,但在大多数通用机器学习场景中,尤其是K-means和KNN应用中,其优势不如欧氏距离显著:
几何直观:
曼哈顿距离:曼哈顿距离模拟了在城市街区中行走时,沿着垂直和水平街道移动的总距离。在某些特定的数据结构(如棋盘格、像素矩阵)或特定应用(如计算机视觉中的像素距离计算)中,曼哈顿距离可能更符合问题背景。然而,在大多数机器学习应用场景中,这种直观意义并不直接适用。
权重处理:
曼哈顿距离:虽然曼哈顿距离在处理各维度具有不同权重的情形时可以通过直接调整差值绝对值前的系数来实现,但这通常需要额外的信息或先验知识来确定合适的权重。在缺乏这些信息的情况下,欧氏距离的等权重特性使其成为更通用的选择。
计算复杂性与效率:
曼哈顿距离:虽然曼哈顿距离的计算相比欧氏距离省去了平方和开方步骤,理论上计算更快,但在现代计算机系统中,这些算术运算的效率差异往往微不足道,尤其是在高维空间中,其他因素(如内存访问、数据结构优化)对整体性能的影响可能更大。
对异常值敏感度:
曼哈顿距离:在某些情况下,曼哈顿距离对于单个维度上的异常值(极大或极小值)可能不如欧氏距离敏感,因为异常值只会影响相应维度的绝对差值,而不像在欧氏距离中会被平方放大。然而,在大多数机器学习应用中,数据预处理步骤(如标准化、归一化)通常已经减少了异常值的影响,使得这一差异变得不太重要。
综上所述,尽管曼哈顿距离在特定情况下有其适用性,但在K-means和KNN这类通用机器学习算法中,欧氏距离由于其直观的几何意义、平等对待各维度、对数据分布的良好适应性以及计算上的便利性,成为了更常见的选择。当然,实际应用中应根据具体数据特性和任务要求,灵活选用或定制距离度量方法。在某些特定场景下,曼哈顿距离或其他距离度量(如切比雪夫距离、余弦相似度等)可能更适合解决问题。