基于距离的算法 曼哈顿,欧氏等

  • 曼哈顿距离
  • 欧氏距离
  • 标准化欧氏距离
  • 夹角余弦

曼哈顿距离(Manhattan Distance)

曼哈顿距离是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。[百度]

曼哈顿距离另外有个名字出租车距离(cab driver distance)

Paste_Image.png

图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。曼哈顿距离——两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离,因此,曼哈顿距离又称为出租车距离。
如在平面上,坐标(x1, y1)的i点与坐标(x2, y2)的j点的曼哈顿距离为:
d(i,j)=|X1-X2|+|Y1-Y2|
[百度]

  • 二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离
Paste_Image.png
  • 两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的曼哈顿距离
Paste_Image.png

曼哈顿距离的一个优点是计算速度快


欧氏距离(Euclidean Distance)

欧氏距离是较易掌握的一种距离计算方法,源自欧氏空间中两点间的距离公式。

  • 二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离
Paste_Image.png
  • 三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离
Paste_Image.png
  • 两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

标准化欧氏距离(Standardized Euclidean distance )

标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。标准欧氏距离的思路:既然数据各维分量的分布不一样, 那就先将各个分量都“标准化”到均值、方差相等吧。均值和方差标准化到多少呢?假设样本集X的均值(mean)为m,标准差(standard deviation)为s,那么X的“标准化变量”表示为:
  而且标准化变量的数学期望为0,方差为1。因此样本集的标准化过程(standardization)用公式描述就是:


  标准化后的值 = ( 标准化前的值 - 分量的均值 ) /分量的标准差
  经过简单的推导就可以得到两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的标准化欧氏距离的公式:
基于距离的计算方法

  如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离(Weighted Euclidean distance)


夹角余弦(Cosine)

几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。

  • 在二维空间中向量A(x1,y1)与向量B(x2,y2)的夹角余弦公式
Paste_Image.png
  • 两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)的夹角余弦。
    类似的,对于两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n),可以使用类似于夹角余弦的概念来衡量它们间的相似程度。


  即:
基于距离的计算方法

夹角余弦取值范围为[-1,1]。夹角余弦越大表示两个向量的夹角越小,夹角余弦越小表示两向量的夹角越大。当两个向量的方向重合时夹角余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自:http://www.cnblogs.com/heaad/archive/2011/03/08/197773...
    罗田阅读 1,469评论 0 4
  • 原文:http://blog.csdn.net/nishiwodeangel/article/details/12...
    mogu酱阅读 1,194评论 0 7
  • 在《程序员》12月刊A中,我们介绍了POI(兴趣点)的设计及其搜索。由于推荐系统是兴趣点系统的核心,所以接下来,我...
    阿七笔记阅读 4,793评论 0 8
  • 聚类##### 今天说聚类,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实...
    程sir阅读 75,544评论 40 151
  • 提到检索的方法,比如KNN算法,这些都需要用到“距离”这个尺度去度量两者的近似程度。但是,距离也有很多种,除了我们...
    a微风掠过阅读 1,334评论 2 0