在K-means或kNN算法中,我们常常使用欧氏距离和曼哈顿距离来计算最近邻居之间的距离。这两种距离有以下差异:
1. 欧氏距离(Euclidean Distance):欧氏距离是最常用的距离度量方法。它计算两点之间的直线距离,即在一个多维空间中两点之间的欧几里德距离。假设有两点A和B,欧氏距离可以计算为√((x2-x1)^2 + (y2-y1)^2 + ... + (n2-n1)^2),其中x,y,n等表示点的不同坐标。
2. 曼哈顿距离(Manhattan Distance):曼哈顿距离也称为城市街区距离或L1距离,它是计算两点之间的距离的另一种方法。它计算两点间在坐标轴上的绝对距离总和。假设有两点A和B,曼哈顿距离可以计算为|x2 - x1| + |y2 - y1| + ... + |n2 - n1|。
差异比较:
- 计算方法:欧氏距离计算两点间的直线距离,而曼哈顿距离计算两点在坐标轴上的绝对距离之和。
- 形状:欧氏距离在一个多维空间中形成圆形的距离,而曼哈顿距离形成方形或矩形的距离。
- 敏感性:欧氏距离对离群点敏感,因为它受到极端值的影响。而曼哈顿距离相对不那么敏感,因为它只计算绝对差距。
- 使用场景:欧氏距离通常用于连续变量的空间测量,而曼哈顿距离在计算城市街区的距离时更为常见,例如在路径规划中。
在选择使用欧氏距离还是曼哈顿距离时,需要根据具体问题的特点和需求来考虑。