常用六个距离公式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

记录一下常用的距离公式

一、欧式距离

欧式距离最简单的理解就是两点间的直线距离了,就算是多维空间,也是一样的。
对于点A(x1,y1),B(x2,y2),A和B的欧式距离为:

                            d=√[(x1-x2)^2 + (y1-y2)^2]

二、余弦距离

余弦距离是求两个向量的夹角余弦值,在自然语言处理的句子相似度匹配经常使用。
对于向量A(x1,y1),B(x2,y2),A和B的余弦距离为:

            d=(x1*x2+y1*y2)/[√(x1^2 + y1^2) * √(x2^2 + y2^2)]

三、曼哈顿距离

曼哈顿距离是街道距离,也是国际象棋的方格距离,以前见过求国际象棋的后,从某一点到另一点的最短距离,相当于坐标系方向的距离和。
对于坐标系上的点A(x1,y1),B(x2,y2),A和B的欧式距离为:

                        d=|x1-x2|+|y1-y2|

四、切比雪夫距离

这个。。。我没用过这个距离,不知道用在什么地方,单纯记下来而已。
对于点A(x1,y1),B(x2,y2),A和B的切比雪夫距离为:

                        d=max(|x1-x2|,|y1-y2|)

对于多维向量,A(a1,a2,…,an)和B(b1,b2,…,bn):

                        d=max(|ai-bi|)  i=1...n

更专业的表达方式,可以去看专业的博客,我不懂,就不乱说了。

五、闵可夫斯基距离

对于点A(x1,y1),B(x2,y2),A和B的闵可夫斯基距离为:

             d=[(x1-x2)^p + (y1-y2)^p ]^(1/p)

(1/p)这个是开p次方,应该能看懂吧。
当p=1时,闵可夫斯基距离等于曼哈顿距离
当p=2时,闵可夫斯基距离等于欧式距离
当p=无穷时,闵可夫斯基距离等于切比雪夫距离
所以,闵可夫斯基距离要来干嘛的。。。。。。见识少的我又写不了了。
(我写文章才发现,不能用双等于,会变黄色)

六、汉明距离(编辑距离)

这个嘛,毕业生的校招面试笔试,经常遇到。就是求字符串s1变成字符串s2的最少步骤,在自然语言处理中,也可以比较两个句子的相似程度。
从字符串s1变成s2可用的步骤:
1、插入一个字符
2、替换一个字符
3、删除一个字符
算法原理也很简单,把两个字符串编成二维数组a[size(s1),size(s2)],初始值为0;

 a[i,j]=min(a[i-1][j],a[i][j-1],a[i-1][j-1])+(s1[i]=s2[j]?0:1)

总结

常用到的距离公式就几个,每个领域设计的距离公式可能都不同,我也没有见过太多,那些我根本用不到的就没有记录,更多的公式可以去看专业一点的文章,多维向量下的公式,我也没写,因为公式太难打了。。。。。想了解的可以多看看别人的文章。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值