距离度量

Distance Metric

距离度量(Distance Metric)或相似性度量(Similarity Measure)是机器学习和数据挖掘中用于量化两个样本、特征或数据点之间相似性或差异性的函数。它是许多算法(如K近邻聚类支持向量机)的核心组成部分,直接影响着模型的性能和结果。

核心作用:量化相似性

在机器学习中,我们经常需要判断“这个样本和那个样本有多像?”或者“这两个特征有多相关?”。距离度量提供了一个数学工具来回答这些问题。一个好的距离度量能够准确地反映数据点之间的内在关系。

距离度量的性质

一个函数 d(x,y) 要被称为“距离度量”,通常需要满足以下四个基本性质:

  1. 非负性 (Non-negativity): d(x,y)0。距离总是非负的。
  2. 同一性 (Identity of indiscernibles): d(x,y)=0 当且仅当 x=y。只有当两个点是同一个点时,它们之间的距离才为零。
  3. 对称性 (Symmetry): d(x,y)=d(y,x)。从 xy 的距离与从 yx 的距离相等。
  4. 三角不等式 (Triangle Inequality): d(x,z)d(x,y)+d(y,z)。从 xz 的直接距离不会超过从 xy 再到 z 的距离之和。

常见距离度量

1. 闵可夫斯基距离 (Minkowski Distance)

这是最通用的一类距离度量,通过参数 p 的选择,可以退化为多种常用距离。

dp(x,y)=(i=1n|xiyi|p)1/p

范数
欧氏距离:在二维和三维空间中的欧氏距离就是两点之间的实际距离

d(x,y)=i(xiyi)2

曼哈顿距离/城市街区距离:

d(x,y)=i|xiyi|

切比雪夫距离:各坐标数值差绝对值的最大值

d(x,y)=max|xiyi|

闵可夫斯基距离:p=1 时为曼哈顿距离, p=2 时为欧氏距离,p= 时为切比雪夫距离

d(x,y)=(i|xiyi|p)1/p

2. 余弦相似度 (Cosine Similarity)

3. 汉明距离 (Hamming Distance)

原理: 用于衡量两个等长字符串(通常是二进制字符串)之间对应位置上不同字符的数量。它表示将一个字符串转换为另一个字符串所需的最小替换次数。

公式: 对于两个二进制字符串 AB

dH(A,B)=i=1n(AiBi)

适用场景: 编码理论、信息论、DNA序列分析、类别变量的比较。

4. 杰卡德相似系数 (Jaccard Similarity Coefficient)

选择原则

选择合适的距离度量是机器学习任务中的一个重要决策,需要考虑: