相似性度量—距离1

  上次介绍完闵可夫斯基距离及欧式距离,这次接着曼哈顿距离及切比雪夫距离公式及python实现。

3.曼哈顿距离(Manhattan Distance)
  所谓曼哈顿距离就是想要从城区的一个位置到另一个位置,由于建筑物及其他事物的阻隔,无法直接到达,按照道路行驶。实际行走的距离就是曼哈顿距离(L1范数)。曼哈顿距离也称为城市街区距离(City Block distance)。
  (1)二维平面两点 A(x1,y1) B(x2,y2) 之间的曼哈顿距离为:

d12=|x1x2|+|y1y2|
  (2)两个n维向量 A(x11,x12,...,x1n) B(x21,x22,...,x2n) 之间的曼哈顿距离为:
d12=k=1n|x1kx2k|
  python实现曼哈顿距离

 1. from numpy import
 2. vector1 = mat([1, 2, 3])
 3. vector2 = mat([4, 5, 6])
 4. print sum(abs(vector1 - vector2))

4.切比雪夫距离(Chebyshev Distance)
  切比雪夫距离(L 范数)。
  (1)二维平面两点 A(x1,y1) B(x2,y2) 之间的切比雪夫距离为:

d12=max(|x1x2|,|y1y2|)
  (2)两个n维向量 A(x11,x12,...,x1n) B(x21,x22,...,x2n) 之间的切比雪夫距离为:
d12=maxi(|x1ix2i|)

  其等价形式为:
d12=limk(i=1n|x1ix2i|k)1/k
  python实现为切比雪夫距离。

 1. from numpy import *
 2. vector1 = [1, 2, 3] 
 3. vector2 = [4, 7, 5] 
 4. print "切比雪夫距离:", abs(vector1 - vector2).max()

  剩下的在接下来的一个博客中介绍。详情点击

猜你喜欢

转载自blog.csdn.net/xdguangguang/article/details/78704282
今日推荐