">

常见距离度量方式公式

常见距离度量方式公式

1 距离公式的基本性质

在机器学习过程中,对于函数 dist(., .),若它是⼀"距离度量" (distance measure),则需满⾜⼀些基本性质:

⾮负性: dist(Xi, Xj) >= 0 ;

同⼀性:dist(xi, xj) = 0。当且仅当 Xi = Xj ;

对称性: dist(xi, xj) = dist(xj , xi);

直递性: dist(xi, xj) <= dist(xi, xk) + dist(xk, xj)

直递性常被直接称为“三⻆不等式”。

2 常⻅的距离公式

2.1 欧式距离(Euclidean Distance):

欧⽒距离是最容易直观理解的距离度量⽅法,我们⼩学、初中和⾼中接触到的两个点在空间中的距离⼀般都是指欧⽒距离。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];

经计算得[1,1]到其他三个点距离为:

d = 1.4142 2.8284 4.2426

2.2 曼哈顿距离(Manhattan Distance):

在曼哈顿街区要从⼀个⼗字路⼝开⻋到另⼀个⼗字路⼝,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为“城市街区距离”(City Block distance)。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];

经计算得[1,1]到其他三个点距离为:

d = 2 4 6

2.3 切⽐雪夫距离 (Chebyshev Distance):

国际象棋中,国王可以直⾏、横⾏、斜⾏,所以国王⾛⼀步可以移动到相邻8个⽅格中的任意⼀个。国王从格⼦(x1,y1)⾛到格⼦(x2,y2)最少需要多少步?这个距离就叫切⽐雪夫距离。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];

经计算得[1,1]到其他三个点距离为:

d = 1 2 3

2.4 闵可夫斯基距离(Minkowski Distance):

闵⽒距离不是⼀种距离,⽽是⼀组距离的定义,是对多个距离度量公式的概括性的表述。

两个n维变量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的闵可夫斯基距离定义为:

其中p是⼀个变参数:

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

当p=2时,就是欧⽒距离;

当p→∞时,就是切⽐雪夫距离。

根据p的不同,闵⽒距离可以表示某⼀类/种的距离。

⼩结:

1 闵⽒距离、曼哈顿距离、欧⽒距离和切⽐雪夫距离,都存在明显的缺点:

e.g:⼆维样本(身⾼[单位:cm],体重[单位:kg]),现有三个样本:a(180,50),b(190,50),c(180,60)。

a与b的闵⽒距离(⽆论是曼哈顿距离、欧⽒距离或切⽐雪夫距离)等于a与c的闵⽒距离。但实际上身⾼的10cm并不能和体重的10kg划等号。

2 闵⽒距离的缺点:

(1)将各个分量的量纲(scale),也就是“单位”相同的看待了;

(2)未考虑各个分量的分布(期望,⽅差等)可能是不同的。

【拓展】其他距离公式

1 标准化欧⽒距离 (Standardized EuclideanDistance):

标准化欧⽒距离是针对欧⽒距离的缺点⽽作的⼀种改进。

思路:既然数据各维分量的分布不⼀样,那先将各个分量都“标准化”到均值、⽅差相等。

S 表示各个维度的标准差

如果将⽅差的倒数看成⼀个权重,也可称之为加权欧⽒距离(Weighted Euclidean distance)。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];(假设两个分量的标准差分别为0.5和1)

经计算得:

d = 2.2361 4.4721 6.7082

2 余弦距离(Cosine Distance)

⼏何中,夹⻆余弦可⽤来衡量两个向量⽅向的差异;机器学习中,借⽤这⼀概念来衡量样本向量之间的差异。

⼆维空间中向量A(x1,y1)与向量B(x2,y2)的夹⻆余弦公式:

两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)的夹⻆余弦为:

即:

夹⻆余弦取值范围为[-1,1]。余弦越⼤表示两个向量的夹⻆越⼩,余弦越⼩表示两向量的夹⻆越⼤。当两个向量的⽅向重合时余弦取最⼤值1,当两个向量的⽅向完全相反余弦取最⼩值-1。

举例:

X=[[1,1],[1,2],[2,5],[1,-4]

经计算得:

d = 0.9487 0.9191 -0.5145

3 汉明距离(Hamming Distance)【了解】:

两个等⻓字符串s1与s2的汉明距离为:将其中⼀个变为另外⼀个,所需要作的最⼩字符替换次数。

例如:

The Hamming distance between "1011101" and "1001001" is 2.

The Hamming distance between "2143896" and "2233796" is 3.

The Hamming distance between "toned" and "roses" is 3.

随堂练习:

求下列字符串的汉明距离:

1011101与 1001001

2143896与 2233796

irie与 rise

汉明重量:是字符串相对于同样⻓度的零字符串的汉明距离,也就是说,它是字符串中⾮零的元素个数:对于⼆进制字符串来说,就是 1 的个数,所以 11101 的汉明重量是 4。因此,如果向量空间中的元素a和b之间的汉明距离等于它们汉明重量的差a-b。

应⽤:汉明重量分析在包括信息论、编码理论、密码学等领域都有应⽤。⽐如在信息编码过程中,为了增强容错性,应使得编码间的最⼩汉明距离尽可能⼤。但是,如果要⽐较两个不同⻓度的字符串,不仅要进⾏替换,⽽且要进⾏插⼊与删除的运算,在这种场合下,通常使⽤更加复杂的编辑距离等算法。

举例:

X=[[0,1,1],[1,1,2],[1,5,2]]

注:以下计算⽅式中,把2个向量之间的汉明距离定义为2个向量不同的分量所占的百分⽐。

经计算得:

d = 0.6667 1.0000 0.3333

4 杰卡德距离(Jaccard Distance)【了解】:

杰卡德相似系数(Jaccard similarity coefficient):两个集合A和B的交集元素在A,B的并集中所占的⽐例,称为两个集合的杰卡德相似系数,⽤符号J(A,B)表示:

杰卡德距离(Jaccard Distance):与杰卡德相似系数相反,⽤两个集合中不同元素占所有元素的⽐例来衡量两个集合的区分度:

举例:

X=[[1,1,0],[1,-1,0],[-1,1,0]]

注:以下计算中,把杰卡德距离定义为不同的维度的个数占“⾮全零维度”的⽐例

经计算得:

d = 0.5000 0.5000 1.0000

5 ⻢⽒距离(Mahalanobis Distance)【了解】

下图有两个正态分布图,它们的均值分别为a和b,但⽅差不⼀样,则图中的A点离哪个总体更近?或者说A有更⼤的概率属于谁?显然,A离左边的更近,A属于左边总体的概率更⼤,尽管A与a的欧式距离远⼀些。这就是⻢⽒距离的直观解释。

⻢⽒距离是基于样本分布的⼀种距离。

⻢⽒距离是由印度统计学家⻢哈拉诺⽐斯提出的,表示数据的协⽅差距离。它是⼀种有效的计算两个位置样本集的相似度的⽅法。

与欧式距离不同的是,它考虑到各种特性之间的联系,即独⽴于测量尺度。

⻢⽒距离定义:设总体G为m维总体(考察m个指标),均值向量为μ=(μ1,μ2,… ...,μm,)` ,协⽅差阵为

∑=(σij),

则样本X=(X1,X2,… …,Xm,)`与总体G的⻢⽒距离定义为:

⻢⽒距离也可以定义为两个服从同⼀分布并且其协⽅差矩阵为∑的随机变量的差异程度:如果协⽅差矩阵为单位矩阵,⻢⽒距离就简化为欧式距离;如果协⽅差矩阵为对⻆矩阵,则其也可称为正规化的欧式距离。

⻢⽒距离特性:

1.量纲⽆关,排除变量之间的相关性的⼲扰;

2.⻢⽒距离的计算是建⽴在总体样本的基础上的,如果拿同样的两个样本,放⼊两个不同的总体中,最后计算得出的两

个样本间的⻢⽒距离通常是不相同的,除⾮这两个总体的协⽅差矩阵碰巧相同;

3 .计算⻢⽒距离过程中,要求总体样本数⼤于样本的维数,否则得到的总体样本协⽅差矩阵逆矩阵不存在,这种情况

下,⽤欧式距离计算即可。

4.还有⼀种情况,满⾜了条件总体样本数⼤于样本的维数,但是协⽅差矩阵的逆矩阵仍然不存在,⽐如三个样本点

(3,4),(5,6),(7,8),这种情况是因为这三个样本在其所处的⼆维空间平⾯内共线。这种情况下,也采⽤

欧式距离计算。

欧式距离&⻢⽒距离:

举例:

已知有两个类G1和G2,⽐如G1是设备A⽣产的产品,G2是设备B⽣产的同类产品。设备A的产品质量⾼(如考察指标为耐磨度X),其平均耐磨度μ1=80,反映设备精度的⽅差σ 2 (1)=0.25;设备B的产品质量稍差,其平均耐磨损度μ2=75,反映设备精度的⽅差σ 2 (2)=4.

今有⼀产品G0,测的耐磨损度X0=78,试判断该产品是哪⼀台设备⽣产的?

直观地看,X0与μ1(设备A)的绝对距离近些,按距离最近的原则,是否应把该产品判断设备A⽣产的?

考虑⼀种相对于分散性的距离,记X0与G1,G2的相对距离为d1,d2,则:

因为d2=1.5 < d1=4,按这种距离准则,应判断X0为设备B⽣产的。

设备B⽣产的产品质量较分散,出现X0为78的可能性较⼤;⽽设备A⽣产的产品质量较集中,出现X0为78的可能性较⼩。

这种相对于分散性的距离判断就是⻢⽒距离。

“连续属性”和“离散属性”的距离计算

我们常将属性划分为"连续属性" (continuous attribute)和"离散属性" (categorical attribute),前者在定义域上有⽆穷多个可能的取值,后者在定义域上是有限个取值.

若属性值之间存在序关系,则可以将其转化为连续值,例如:身⾼属性“⾼”“中等”“矮”,可转化为{1, 0.5, 0}。

闵可夫斯基距离可以⽤于有序属性。

若属性值之间不存在序关系,则通常将其转化为向量的形式,例如:性别属性“男”“⼥”,可转化为{(1,0),(0,1)}。

⼩结

1 距离公式的基本性质:⾮负性、统⼀性、对称性、直递性【了解】

2 常⻅距离公式

2.1 欧式距离(Euclidean Distance)【知道】:

通过距离平⽅值进⾏计算

2.曼哈顿距离(Manhattan Distance)【知道】:

通过距离的绝对值进⾏计算

3.切⽐雪夫距离 (Chebyshev Distance)【知道】:

维度的最⼤值进⾏计算

4.闵可夫斯基距离(Minkowski Distance)【知道】:

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

当p=2时,就是欧⽒距离;

当p→∞时,就是切⽐雪夫距离。

3 属性【知道】

连续属性

离散属性

存在序关系,可以将其转化为连续值

不存在序关系,通常将其转化为向量的形式

相关推荐

Steam Community :: Guide :: P4G全技能卡及出处图鉴
3658官方网

Steam Community :: Guide :: P4G全技能卡及出处图鉴

📅 11-08 👁️ 2962
dnf狂战最适合带什么称号?称号选择的建议是什么?
六类物联网网关选型:功能、协议与应用场景区分与介绍