title: 深度学习中常用的几种距离度量算法
tags: 数学
categories:


1.欧式距离

深度学习中常用的几种距离度量算法 - 图1

2.曼哈顿距离

深度学习中常用的几种距离度量算法 - 图2

两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的曼哈顿距离:

深度学习中常用的几种距离度量算法 - 图3

3.切比雪夫距离

深度学习中常用的几种距离度量算法 - 图4

4.闵可夫斯基距离

深度学习中常用的几种距离度量算法 - 图5

5.标准化欧式距离

深度学习中常用的几种距离度量算法 - 图6

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

深度学习中常用的几种距离度量算法 - 图7

6.马氏距离

深度学习中常用的几种距离度量算法 - 图8

马氏距离就是用于度量两个坐标点之间的距离关系,表示数据的协方差距离。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为:

深度学习中常用的几种距离度量算法 - 图9

协方差矩阵为Σ的多变量矢量:

深度学习中常用的几种距离度量算法 - 图10

其马氏距离:

深度学习中常用的几种距离度量算法 - 图11

如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离;如果协方差矩阵为对角阵,其也可称为正规化的马氏距离:

深度学习中常用的几种距离度量算法 - 图12

其中σi是xi的标准差。

7.巴氏距离

深度学习中常用的几种距离度量算法 - 图13

对于连续概率分布,Bhattacharyya系数被定义为:

深度学习中常用的几种距离度量算法 - 图14

Bhattacharyya系数是两个统计样本之间的重叠量的近似测量,可以被用于确定被考虑的两个样本的相对接近。

8.汉明距离

汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。例如: 1011101与1001001之间的汉明距离是2。 2143896与2233796之间的汉明距离是3。 “toned”与”roses”之间的汉明距离是3。

9.夹角余弦

深度学习中常用的几种距离度量算法 - 图15

10.杰卡德相似系数

深度学习中常用的几种距离度量算法 - 图16

11.皮尔逊系数

深度学习中常用的几种距离度量算法 - 图17

深度学习中常用的几种距离度量算法 - 图18

深度学习中常用的几种距离度量算法 - 图19

12.DTW距离

深度学习中常用的几种距离度量算法 - 图20

深度学习中常用的几种距离度量算法 - 图21

13.信息熵

深度学习中常用的几种距离度量算法 - 图22

简单说来,各种”距离”的应用场景简单概括为: 空间:欧氏距离 路径:曼哈顿距离 国际象棋国王:切比雪夫距离 (以上三种的统一形式:闵可夫斯基距离) 加权:标准化欧氏距离 排除量纲和依存:马氏距离 向量差距:夹角余弦 编码差别:汉明距离 集合近似度:杰卡德相似系数与距离 相关:相关系数与相关距离 时间序列:DTW距离