学习笔记5——距离度量(欧氏距离、马氏距离、闵氏距离、曼哈顿距离等)

 参考深度学习中常用的几种距离度量算法 - 简书 (jianshu.com)

常见的9种距离度量方法-电子发烧友网 (elecfans.com)

1.欧氏距离

         欧式距离并不是尺度不变的,因此所计算的距离可能会根据特征的单位发生倾斜。通常,在使用欧式距离度量之前,需要对数据进行归一化处理。 此外,随着数据维数的增加,欧氏距离的作用也就越小。这与维数灾难(curse of dimensionality)有关。

用例:当你拥有低维数据且向量的大小非常重要时,欧式距离的效果非常好。如果在低维数据上使用欧式距离,则如 k-NN 和 HDBSCAN 之类的方法可达到开箱即用的效果。

2.曼哈顿距离(城市街区距离,不是两点之间的距离)

         两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的曼哈顿距离:

        尽管曼哈顿距离在高维数据中似乎可以工作,但它比欧式距离直观性差,尤其是在高维数据中使用时。此外,由于它可能不是最短路径,有可能比欧氏距离给出一个更高的距离值。 用例:当数据集具有离散或二进制属性时,曼哈顿距离似乎工作得很好,因为它考虑了在这些属性的值中实际可以采用的路径。以欧式距离为例,它会在两个向量之间形成一条直线,但实际上这是不可能的。

3.切比雪夫距离(两点之间某一维度的最大值)

         切比雪夫距离通常用于特定的用例,这使得它很难像欧氏距离那样作为通用的距离度量。因此,在确定适合用例时才使用它。

         用例:切比雪夫距离用于提取从一个方块移动到另一个方块所需的最小移动次数。此外,在允许无限制八向移动的游戏中,这可能是有用的方法。在实践中,切比雪夫距离经常用于仓库物流,因为它非常类似于起重机移动一个物体的时间。 

 4.闵可夫斯基距离(一组距离)

        闵氏距离与它们所代表的距离度量有相同的缺点,因此,对哈顿距离、欧几里得距离和切比雪夫距离等度量标准有个好的理解非常重要。此外,参数 p 的使用可能很麻烦,因为根据用例,查找正确的 p 值在计算上效率低。

用例:p 的积极一面是可迭代,并找到最适合用例的距离度量。它允许在距离度量上有很大的灵活性。 

5.马氏距离(与量纲无关)

        马氏距离用于度量两个坐标点之间的距离关系,表示数据的协方差距离。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。

6.汉明距离

        2个字符串之间一个字符串变为另一个字符串所需要做的最小字符替换次数,用来衡量编码的复杂程度。

例如:
1011101与1001001之间的汉明距离是2。
2143896与2233796之间的汉明距离是3。
 

猜你喜欢

转载自blog.csdn.net/daige123/article/details/121844752