目录
- (1) Manhattan Distance(曼哈顿距离)
- (2) Euclidean Distance(欧氏距离)
- (3) Minkowsk Distance(闵可夫斯基距离)
- (4) Chebyshev Distance (切比雪夫距离)
- (5) Hamming Distance(海明距离)
- (6) Jaccard Coefficient(Jaccard 系数)
- (7) Pearson Correlation Coefficient(Pearson相关系数)
- (8) Cosine Similarity(余弦相似度)
- (9) Mahalanobis Distance(马氏距离)
- (10) Kullback-Leibler Divergence(KL散度)
- (11) Pointwise Mutual Information (PMI,点对互信息)
- (12) Normalized Google Distance(NGD,正则谷歌距离)
本文将介绍数据分析、数据挖掘、机器学习等领域中常用的相似性度量(Similarity Measurement)方法。
(1) Manhattan Distance(曼哈顿距离)
我们知道曼哈顿街区有一个个方块构成,从一个十字路口(0,0)到另一个十字路口(3,3)的最短路程,不是两点的连线距离,而是两条垂直线的距离和,也就是“曼哈顿距离”。假设有两个 N N N维的向量 x , y x,y x,y, x x x和 y y y可以分别表示为 x = ( x 1 , x 2 , ⋯ , x N ) x=(x_1,x_2,\cdots,x_N) x=(x1,x2,⋯,xN)和 y = ( y 1 , y 2 , ⋯ , y N ) y=(y_1,y_2,\cdots,y_N) y=(y1,y2,⋯,yN),那么 x x x和 y y y的曼哈顿距离可以用 L 1 L_1 L1范式表示,即
d ( x , y ) = ∑ i = 1 N ∣ x i − y i ∣ d(x,y)=\sum_{i=1}^{N}|x_i-y_i| d(x,y)=i=1∑N∣xi−yi∣
(2) Euclidean Distance(欧氏距离)
假设有两个 N N N维的向量 x , y x,y x,y, x x x和 y y y可以分别表示为 x = ( x 1 , x 2 , ⋯ , x N ) x=(x_1,x_2,\cdots,x_N) x=(x1,x2,⋯,xN)和 y = ( y 1 , y 2 , ⋯ , y N ) y=(y_1,y_2,\cdots,y_N) y=(y1,y2,⋯,yN),那么 x x x和 y y y的欧式距离可以用 L 2 L_2 L2范式表示,即
d ( x , y ) = ∑ i = 1 N ( x i − y i ) 2 d(x,y)=\sqrt{\sum_{i=1}^{N}(x_i-y_i)^2} d(x,y)=i=1∑N(xi−yi)2
(3) Minkowsk Distance(闵可夫斯基距离)
假设有两个 N N N维的向量 x , y x,y x,y, x x x和 y y y可以分别表示为 x = ( x 1 , x 2 , ⋯ , x N ) x=(x_1,x_2,\cdots,x_N) x=(x1,x2,⋯,xN)和 y = ( y 1 , y 2 , ⋯ , y N ) y=(y_1,y_2,\cdots,y_N) y=(y1,y2,⋯,yN),那么 x x x和 y y y的闵可夫斯基距离可以用 L p L_p Lp范式表示,即
d ( x , y ) = ∑ i = 1 N ( x i − y i ) p p d(x,y)=\sqrt[^p]{\sum_{i=1}^{N}(x_i-y_i)^p} d(x,y)=pi=1∑N(x