数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等

原标题:数据科学中常见的9种距离度量方法 , 内含欧氏距离、切比雪夫距离等
在数据挖掘中 , 我们经常需要计算样本之间的相似度 , 通常的做法是计算样本之间的距离 。 在本文中 , 数据科学家MaartenGrootendorst向我们介绍了9种距离度量方法 , 其中包括欧氏距离、余弦相似度等 。
>>>>

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
许多算法 , 无论是监督学习还是无监督学习 , 都会使用距离度量 。 这些度量 , 如欧几里得距离或者余弦相似性 , 经常在k-NN、UMAP、HDBSCAN等算法中使用 。 了解距离度量这个领域可能比你想的更重要 , 以k-NN为例 , 它常被用于监督学习中 。
但是 , 如果你的数据是高维的 , 欧几里德距离还能用吗?又或者如果你的数据是由地理空间信息组成的 , 也许半正矢距离是很好的选择 。
我们究竟如何选择最适合的距离度量?数据科学家MaartenGrootendorst向读者介绍了9种距离度量方法 , 并探讨如何以及何时以最佳的方式使用它们 。 此外MaartenGrootendorst还对它们的缺点进行了介绍 , 以及如何规避不足 。
欧氏距离(EuclideanDistance)

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
欧式距离 。
我们从最常见的欧式距离开始 , 欧式距离可解释为连接两个点的线段的长度 。 欧式距离公式非常简单 , 使用勾股定理从这些点的笛卡尔坐标计算距离 。

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
缺点:尽管这是一种常用的距离度量 , 但欧式距离并不是尺度不变的 , 这意味着所计算的距离可能会根据特征的单位发生倾斜 。 通常 , 在使用欧式距离度量之前 , 需要对数据进行归一化处理 。
此外 , 随着数据维数的增加 , 欧氏距离的作用也就越小 。 这与维数灾难(curseofdimensionality)有关 。
用例:当你拥有低维数据且向量的大小非常重要时 , 欧式距离的效果非常好 。 如果在低维数据上使用欧式距离 , 则如k-NN和HDBSCAN之类的方法可达到开箱即用的效果 。
余弦相似度(CosineSimilarity)

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
余弦相似度 。
余弦相似度经常被用作抵消高维欧式距离问题 。 余弦相似度是指两个向量夹角的余弦 。 如果将向量归一化为长度均为1的向量 , 则向量的点积也相同 。
两个方向完全相同的向量的余弦相似度为1 , 而两个彼此相对的向量的余弦相似度为-1 。 注意 , 它们的大小并不重要 , 因为这是在方向上的度量 。

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
缺点:余弦相似度的一个主要缺点是没有考虑向量的大小 , 而只考虑它们的方向 。 以推荐系统为例 , 余弦相似度就没有考虑到不同用户之间评分尺度的差异 。
用例:当我们对高维数据向量的大小不关注时 , 可以使用余弦相似度 。 对于文本分析 , 当数据以单词计数表示时 , 经常使用此度量 。 例如 , 当一个单词在一个文档中比另一个单词更频繁出现时 , 这并不一定意味着文档与该单词更相关 。 可能是文件长度不均匀或者计数的重要性不太重要 。 我们最好使用忽略幅度的余弦相似度 。
汉明距离(HammingDistance)

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
汉明距离 。
汉明距离是两个向量之间不同值的个数 。 它通常用于比较两个相同长度的二进制字符串 。 它还可以用于字符串 , 通过计算不同字符的数量来比较它们之间的相似程度 。
缺点:当两个向量长度不相等时 , 汉明距离使用起来很麻烦 。 当幅度是重要指标时 , 建议不要使用此距离指标 。
用例:典型的用例包括数据通过计算机网络传输时的错误纠正/检测 。 它可以用来确定二进制字中失真的数目 , 作为估计误差的一种方法 。 此外 , 你还可以使用汉明距离来度量分类变量之间的距离 。
曼哈顿距离(ManhattanDistance)

数据科学中常见的9种距离度量方法,内含欧氏距离、切比雪夫距离等
文章图片
曼哈顿距离 。
曼哈顿距离通常称为出租车距离或城市街区距离 , 用来计算实值向量之间的距离 。 想象一下均匀网格棋盘上的物体 , 如果它们只能移动直角 , 曼哈顿距离是指两个向量之间的距离 , 在计算距离时不涉及对角线移动 。