机器学习中常用的距离简介

在机器学习常见的算法中,很多都需要使用距离表示相似性,常用的距离计算方式有以下几种:

1、欧式距离

      欧式距离是最常见的两点之间或多点之间的距离表示方式,又称为欧几里得度量。计算的表达式如下:



2、曼哈顿距离

       曼哈顿距离可以看作不同维度之间的累加和:

例如:在二维平面内,两个点(x1,y1)和(x2,y2)之间的曼哈顿距离是:


        在n维空间中,两个点(x11,x12,...,x1n)和(x21,x22,...,x2n)之间的曼哈顿距离是:



3、切比雪夫距离

在n维空间中,两个点(x11,x12,...,x1n)和(x21,x22,...,x2n)之间的切比雪夫距离是:



4、闵可夫斯基距离

       闵可夫斯基距离不是一种距离,而是一组距离。如下:

在n维空间中,两个点(x11,x12,...,x1n)和(x21,x22,...,x2n)之间的闵可夫斯基距离是:


从上面这个式子可以看出:

当p=1的时候,就是曼哈顿距离;

当p=2的时候就是欧式距离;

当p-->无穷的时候,就是切比雪夫距离


5、马氏距离

有M个样本向量X1~Xm,协方差矩阵记为S,均值记为向量μ,则其中样本向量X到u的马氏距离表示为: 


而其中向量Xi与Xj之间的马氏距离定义为:    
若协方差矩阵是单位矩阵(各个样本向量之间独立同分布),则公式就成了:        


6、巴氏距离


7、汉明距离

汉明距离表示在信息编码过程中对两个等长字符串s1和s2,要使s1变成s2的最少需要改变多少位的数据。例如:s1=1111 ,s2=1011,此时汉明距离为1.


8、标准化欧式距离

       标准化欧式距离是在欧式距离的基础上做的一点改进和优化。在欧式距离的计算过程中,没有把每一个分量都标准化之后再计算。在标准化欧式距离中,先把各个分量都标准化为均值和方差相等。

假设样本集X的数学期望或均值为m,标准差为s,那么X的“标准化变量”X*表示为:(X-m)/s,而且标准化变量的数学期望为0,方差为1。

即,样本集的标准化过程(standardization)用公式描述就是:


标准化后的值 = (标准化前的值 - 分量的均值)/分量的标准差

经过简单的推导就可以得到两个n维向量(x11,x12,…,x1n)与 (x21,x22,…,x2n)间的标准化欧氏距离的公式:


参考文献:

从K近邻算法、距离度量谈到KD树、SIFT+BBF算法点击打开链接



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值