向量的相似性度量时常常采用计算距离的方式进行,以下是对各种距离计算公式的汇总及pyhton实现。
在介绍距离公式之前首先引入范数的概念。
范数(百度百科):向量的范数可以简单、形象的理解为向量的长度,或者向量到坐标系原点的距离,或者相应空间内的两点之间的距离。
向量的范数定义:向量的范数是一个函数
L1范数:
L2范数:
Lp范数:
L
接下来介绍几种距离的计算及其python实现。几种距离公式为:
- 闵可夫斯基距离
- 欧式距离
- 曼哈顿距离
- 切比雪夫距离
- 夹角余弦
- 汉明距离
- 杰卡德相似系数
1.闵可夫斯基距离(Minkowski Distance)
严格意义上讲,闵可夫斯基距离不是一种距离,而是一组距离。
两个n维变量
- 当
- 当
- 当
2.欧式距离(Euclidean Distance)
欧式距离(L2范数)是最易于理解的一种距离计算方法,源自欧式空间中两点间的距离公式。
(1)二维平面上两点
(4)python实现欧式距离
- from numpy import *
- vector1 = mat([1, 2, 3])
- vector2 = mat([4, 5, 6])
- print sqrt((vector1 - vector2) * (vector1 - vector2).T)
剩下的在接下来的一个博客中介绍。详情点击。