摘要:距离和相似度是相对的概念,可以相互转换。比如,可以把距离的导数定义为相似度(距离为零时,可以采用拉普拉斯平滑的方式),可以把1减去相似度定以为距离。
距离和范数的关系是,一个元素和空间零元的距离即为它自身的相应范数。
以下简单汇总了机器学习中常用的,向量、序列、集合和概率分布之间的距离。
一、向量距离
(一)minkowski distance
(∑i=1n|xi−yi|p)1p ( ∑ i = 1 n | x i − y i | p ) 1 p
(二)L0 distance
∑i=1nI(xi−yi≠0) ∑ i = 1 n I ( x i − y i ≠ 0 )
(三)Manhattan distance
∑i=1n|xi−yi| ∑ i = 1 n | x i − y i |
(四)Euclidean distance
(∑i=1n|xi−yi|2)12 ( ∑ i = 1 n | x i − y i | 2 ) 1 2
(五)Chebyshev distance
max1⩽i⩽n|xi−yi| m a x 1 ⩽ i ⩽ n | x i − y i |
小结:显然,除L0距离外,后面几种距离只是闵可夫斯基距离在 p p 取不同值时的特殊情况。切比雪夫距离是 趋于无穷大时的结果。
二、向量相似度
(一)cosine similarity
s(i,j)=ri⋅