欧几里得距离(Euclidean distance)可能是数据科学领域应用最广的距离度量方法。它通用、直观并且计算起来很快。由于它在每个维度使用距离的平方,因而有时也叫“L2范数”,记作“距离函数 - 图1”。这里我们会总结一些在数据挖掘当中常用的距离度量方法。由Deza&Deza编撰的Encyclopedia of Distances(springer, 2016)中列举了几百种距离度量方法,感兴趣可以详细参考。

公式1 欧几里得距离(L2范数)

距离函数 - 图2

公式2 曼哈顿距离(L1范数,Manhattan distance)

距离函数 - 图3
它之所以被称为曼哈顿距离(或出租车距离)是因为它表示了一个人在类似曼哈顿区中心(网格状形式)这样的地方的两点之间移动时,他所走过的所有街道的总距离,即总的横向距离加上总的纵向距离。

公式3 杰卡德距离(Jaccard distance)

距离函数 - 图4
它把两个对象作为特征集合进行处理,杰卡德距离是两者共有的特征数与两者全部的特征(两者中任意一个所拥有的特征)数之比。当两者共有的特征更重要,而两者同时缺少的特征不重要的时候,杰卡德距离比较适用。

公式4 余弦距离(Cosine distance)

距离函数 - 图5
其中距离函数 - 图6仍代表每个特征向量的L2范数,或称欧几里得长度(对向量而言,这仅为其到原点的距离)。余弦距离常在文本分类中用于度量两篇文档的相似性(余弦相似性)。余弦距离尤其适用于需要忽略实例间尺度差异的情况——技术上说,也就是需要忽略向量的幅度的情况。