什么时候会使用曼哈顿距离而不是欧几里得距离?

数据挖掘 机器学习 分类 距离
2021-10-11 21:42:51

我试图寻找一个很好的论据,说明为什么在机器学习中使用曼哈顿距离而不是欧几里得距离。

到目前为止,我发现的最接近好的论点的是麻省理工学院的讲座

在 36:15,您可以在幻灯片上看到以下声明:

“通常使用欧几里得度量;如果不同的维度不可比,曼哈顿可能是合适的。

不久之后,教授说,因为爬行动物的腿数在 0 到 4 之间变化(而其他特征是二元的,只是从 0 到 1 变化),“腿数”特征最终会有很多如果使用欧几里得距离,则权重更高。果然,这确实是对的。但是如果使用曼哈顿距离也会有这个问题(只是这个问题会稍微缓解,因为我们不像欧几里得距离那样对差异进行平方)。

解决上述问题的更好方法是将“腿数”特征标准化,使其值始终介于 0 和 1 之间。

因此,既然有更好的方法来解决这个问题,感觉在这种情况下使用曼哈顿距离的论点缺乏一个更有力的观点,至少在我看来是这样。

有谁真正知道为什么以及何时有人会在欧几里得上使用曼哈顿距离?谁能给我一个使用曼哈顿距离会产生更好结果的例子吗?

4个回答

根据这篇有趣的论文,对于高维数据,曼哈顿距离(L1 范数)可能比欧几里德距离(L2 范数)更可取。

该论文的作者甚至更进一步,建议将分数值为 k 的 Lk 范数距离用于非常高维的数据,以改善基于距离的算法(如聚类)的结果。

我可以从wikipedia提出一些想法

  1. 如果您想减少对异常值的重视,曼哈顿距离将尝试平等地减少所有错误,因为梯度具有恒定的幅度。
  2. 如果您的噪声是拉普拉斯分布的,则通过最小化曼哈顿估计来找到 MLE。

我在使用 Scikit-Learn 和 TensorFlow 的动手机器学习中发现了一些关于这个问题的直觉

RMSE 和 MAE 都是衡量两个向量之间距离的方法:预测向量和目标值向量。各种距离测量或规范是可能的:

  • 计算平方和的根 (RMSE) 对应于欧几里得范数:这是您熟悉的距离概念。它也被称为ℓ2范数(...)

  • 计算绝对值之和 (MAE) 对应于 ℓ1 范数,(...)。它有时被称为曼哈顿范数,因为如果您只能沿着正交的城市街区旅行,它会测量城市中两点之间的距离。

  • 更一般地, (... )ℓ 0 只给出向量中非零元素的数量,而 ℓ∞ 给出向量中的最大绝对值。

  • 范数指数越高,越关注大值而忽略小值。这就是为什么 RMSE 比 MAE 对异常值更敏感的原因。但是当异常值呈指数级罕见时(如钟形曲线),RMSE 表现非常好,通常是首选。

曼哈顿距离的使用很大程度上取决于数据集使用的坐标系类型。虽然欧几里得距离给出了两点之间的最短或最小距离,但曼哈顿有特定的实现。

例如,如果我们要使用国际象棋数据集,则使用曼哈顿距离比欧几里得距离更合适。另一种用途是当有兴趣了解相距几个街区的房屋之间的距离时。

此外,如果输入变量的类型(例如年龄、性别、身高等)不相似,您可能需要考虑曼哈顿距离。由于维度的诅咒,我们知道随着维度数量的增加,欧几里得距离成为一个糟糕的选择。

所以简而言之:曼哈顿距离通常只有在点以网格的形式排列时才有效,我们正在研究的问题更优先考虑点之间的距离以及网格,而不是几何距离。