大数跨境
0
0

机器学习中常用的9种距离

机器学习中常用的9种距离 数据分析学习与实践
2022-09-16
0
导读:常见距离测量的优点和缺陷 不管是有监督的还是无监督的算法,都涉及的距离度量。例如,如欧氏距离或余弦相似度,在

常见距离测量的优点和缺陷

不管是有监督的还是无监督的算法,都涉及的距离度量。例如,如欧氏距离或余弦相似度,在KNN、UMAP、HDBSCAN等算法中采用,我们都还依稀能够记得她的模样。但在为清晰的理解距离之前,我们很难对算法与距离进行对号入座。

那么,在被我们遗忘的角落,距离度量的世界可以说是别有洞天,我们今天就要把这扇窗户打开,看看他们之间的区别。以KNN为例,这是一种经常用于监督学习的技术。作为默认情况,它经常使用欧氏距离,而往往现实世界都不是线性距离能够描述的。

欧氏距离可以给我们直觉的判断和足够的感全感,我们不曾突破这个舒适区。然而,如果我们的数据是高维的呢?那么,欧氏距离还能发挥作用吗?或者如果你的数据是由地理空间信息组成的呢?也许哈韦尔辛距离会是一个更好的选择!

知道何时使用哪种距离测量方法可以帮助你从一个糟糕的分类器变成一个准确的模型。

在这篇文章中,我们将介绍许多距离度量方法,并探讨如何以及何时可以最好地使用它们。最重要的是,我将谈论它们的缺点,以便你能认识到什么时候应该避开危险。

注意:对于大多数距离测量法,有很多文章已经写了很多关于其使用情况、优点和缺点的论文。我将尽可能多地介绍,但可能会有不足之处。因此,请把这篇文章看作是对这些距离的全面概述。

1. 欧几里得距离

欧几里得距离。图片由作者提供。

我们从最常见的距离测量开始,即欧几里得距离。这是一种距离测量,最好的解释是连接两点的线段的长度。

这个公式相当简单,因为距离是利用毕达哥拉斯定理从平面坐标两点的计算出来的。

缺点

尽管它是一种常见的距离测量方法,但欧氏距离不是尺度内变异的,这意味着计算出的距离可能是倾斜的,这取决于特征的单位。通常情况下,在使用这种距离测量方法之前,人们需要将数据标准化。

此外,随着数据维度的增加,欧氏距离的作用就越小。这与 "维度诅咒 "有关,即高维空间的作用并不像我们直观地从二维或三维空间期望的那样。关于一个很好的总结,见这个帖子。

使用案例

当你有低维数据并且测量矢量的大小是很重要的情况,欧氏距离就很好用。如果在低维数据上使用欧氏距离,KNN和HDBSCAN等方法就会显示出很好的结果。

尽管已经开发了许多其他的测量方法来说明欧氏距离的缺点,但它仍然是最常用的距离测量方法之一,原因很充分。它使用起来非常直观,实现起来也很简单,而且在许多使用案例中展现出很好的效果。

2. 余弦相似性

余弦相似性经常被用来抵消欧氏距离的高维问题。余弦相似性只是两个向量之间的角度的余弦。如果这两个向量被归一化为长度为1,它也有相同的内积。

两个方向完全相同的向量的余弦相似度为1,而两个截然相反的向量的相似度为-1。 注意,它们的大小并不重要,因为这是一个方向的测量。

缺点

余弦相似性的一个主要缺点是不考虑向量的大小,只考虑其方向。在实践中,这意味着数值的差异没有被充分考虑。以推荐系统为例,余弦相似性没有考虑到不同用户之间的评分标准的差异。

使用案例

当我们有高维数据并且向量的大小不重要时,我们经常使用余弦相似性。对于文本分析来说,当数据是由字数表示的时候,这种测量方法是很经常使用的。例如,当一个词在一个文件中比另一个文件出现得更频繁时,这并不一定意味着一个文件与这个词更相关。可能是文件的长度不均匀,计数的大小就不那么重要了。那么,我们最好使用余弦相似度,它不需要考虑大小。

3. Hamming距离

Hamming距离是两个向量之间不同的值的数量。它通常用于比较两个等长的二进制字符串。它也可用于字符串,通过计算彼此不同的字符数来比较它们之间的相似程度。

缺点

显然,当两个向量的长度不相等时,Hamming距离很难使用。你会想把相同长度的向量相互比较,以了解哪些位置不匹配。

此外,只要它们不同或相等,它就不考虑实际值。因此,当幅度是一个重要的衡量标准时,不建议使用这种距离衡量标准。

使用案例

典型的用例包括当数据通过计算机网络传输时的错误纠正/检测。它可以用来确定二进制字中失真的比特数,作为估计错误的一种方法。

此外,你也可以用Hamming距离来测量分类变量之间的距离。

4. 曼哈顿距离

曼哈顿距离,通常称为出租车距离或城市街区距离,计算实值向量之间的距离。想象一下,向量描述的是统一网格上的物体,如棋盘。那么,曼哈顿距离是指两个向量之间的距离,如果它们只能直角移动的话。在计算距离时,不涉及对角线运动。

缺点

尽管曼哈顿距离对于高维数据来说似乎还不错,但它是一个不如欧氏距离那么直观的度量,尤其是在高维数据中使用时。

此外,它更有可能给出一个比欧氏距离更高的距离值,因为它不可能是最短的路径。这不一定会产生问题,但你应该考虑到这一点。

使用案例

当你的数据集有离散和/或二进制属性时,曼哈顿似乎很好用,因为它考虑到了在这些属性值中实际可能采取的路径。以欧氏距离为例,它可以在两个向量之间建立一条直线,而在现实中这可能并不可行。

5. 切比雪夫距离

切比雪夫距离被定义为两个向量之间沿任何坐标维度的最大差异。换句话说,它只是沿一个轴的最大距离。由于其性质,它经常被称为国际象棋棋盘距离,因为国王从一格到另一格所需的最小移动次数等于切比雪夫距离。

缺点

Chebyshev通常用于非常特殊的使用场合,这使得它很难像欧氏距离或余弦相似度那样被用作多用途的距离度量。出于这个原因,我们建议只有在你绝对确定它适合你的使用情况时才使用它。

使用案例

如前所述,切比雪夫距离可以用来提取从一个方格到另一个方格所需的最小移动数。此外,在允许不受限制的8路移动的游戏中,它也是一个有用的措施。

在实践中,切比雪夫距离经常被用于仓库物流,因为它与起重机需要移动一个物体所需的时间非常相似。

6. 闵科夫斯基

闵可夫斯基距离是一个比大多数人更复杂的度量。它是一个用于规范化矢量空间(n维实空间)的度量,这意味着它可以用于距离也可以表示为有长度的矢量的空间。

这个度量有三个要求:

  • 零向量 - 零向量的长度为零,而其他每个向量的长度都为正数。例如,如果我们从一个地方到另一个地方,那么这个距离总是正的。然而,如果我们从一个地方到它自己,那么这个距离就是零。
  • 标量因子 - 当你用一个正数乘以向量时,它的长度会改变,同时保持其方向。例如,如果我们从一个方向走了一定的距离,再加上同样的距离,方向不会改变。
  • 三角形不等式 - 两点之间最短的距离是一条直线。

闵可夫斯基距离的公式如下。

关于这个距离度量,最有趣的是使用了参数p。我们可以使用这个参数来控制距离度量,使其与其他的距离度量相近。

p的常见值是:

  • p=1 - 曼哈顿距离
  • p=2 - 欧几里得距离
  • p= - 切比雪夫距离

缺点

Minkowski的缺点与它们所代表的距离度量相同,所以对Manhattan、Euclidean和Chebyshev距离等度量的深刻理解极为重要。

此外,参数p的使用实际上是很麻烦的,因为根据你的使用情况,很难找到正确的值。

使用案例

p的好处是可以对它进行迭代,找到最适合你的使用情况的距离测量。这样距离度量就有很大的灵活性,如果你对p和许多距离度量非常熟悉,这将是一个得天独厚的优势。

7.  雅卡德指数

雅卡德指数(或交集大于联盟)是一个用于计算样本集的相似性和多样性的指标。它是交叉点的大小除以样本集的联合点的大小。

在实践中,它是集合之间相似实体的总数除以实体的总数。例如,如果两个集合有1个共同的实体,总共有5个不同的实体,那么Jaccard指数就是1/5=0.2。

为了计算贾卡德距离,我们只需从1中减去贾卡德指数。

缺点

Jaccard指数的一个主要缺点是,它受数据大小的影响很大。大的数据集会对该指数产生很大的影响,因为它可以在保持相交点相似的情况下大大增加联合点。

使用案例

雅卡德指数经常被用于使用二进制或二进制数据的应用中。当你有一个深度学习模型来预测一个图像的片段,例如一辆汽车,那么雅卡德指数就可以用来计算给定真实标签的预测片段的准确性。

同样,它可以用于文本相似性分析,以衡量文档之间有多少词汇选择重叠。因此,它可以用来比较模式的集合。

8.  哈维辛

Haversine距离是指球体上两点之间的距离,给定其经度和纬度。它与欧几里得距离非常相似,都是计算两点之间最短的直线。主要的区别是,不可能是直线,因为这里的假设是两点都在一个球体上。

缺点

这种距离测量法的一个缺点是,它假定各点位于一个球体上。在实践中,这种情况很少发生,例如,地球并不是完全圆形的,这可能使某些情况下的计算变得困难。相反,我们可以把目光投向假设为椭圆体的Vincenty distance,这将是一个合适的做法。

使用案例

正如你可能已经预料到的那样,哈维辛距离经常被用于导航中。例如,你可以用它来计算在两个国家之间飞行时的距离。请注意,如果距离本身已经不是那么大,它就不太适合了。曲率不会有那么大的影响。

9. 索伦森-戴斯指数

索伦森-戴斯指数与贾卡德指数非常相似,它衡量样本集的相似性和多样性。尽管它们的计算方法相似,但索伦森-戴斯指数更直观一些,因为它可以被看作是两个集合之间的重叠百分比,它是一个介于0和1之间的值。

缺点

和Jaccard指数一样,它们都夸大了几乎没有基础真相的正数集的重要性。因此,它可能会过于看重多个集合的平均得分。它对每个项目的权重与相关集合的大小成反比,而不是平等处理。

用例

使用情况与Jaccard指数相似,甚至相同。你会发现它通常用于图像分割任务或文本相似性分析。

注意:除了这里提到的9种距离测量方法,还有很多其他的距离测量方法。如果你在寻找更多有趣的度量,我建议你研究一下以下的度量。

  • Mahalanobis,
  • Canberra,
  • Braycurtis,
  • KL-divergence。

感谢阅读


【声明】内容源于网络
0
0
数据分析学习与实践
数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
内容 343
粉丝 0
数据分析学习与实践 数据分析,数据科学,线性代数,统计学,AI,python,可视化,excel
总阅读14
粉丝0
内容343