机器学习中常用的距离和相似性度量方法

来源:互联网 发布:c语言游戏编程入门 编辑:程序博客网 时间:2024/06/12 08:13

在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。根据数据特性的不同,可以采用不同的度量方法。

以下简要介绍机器学习和数据挖掘中一些常见的距离公式,包括:


欧氏距离

欧几里得度量(euclidean metric)(也称欧氏距离):以古希腊数学家欧几里得命名的距离;在二维和三维空间中的欧氏距离就是两点之间的实际距离。也就是我们直观的两点之间直线最短的直线距离。

计算公式:

d=i=1n(xiyi)2


曼哈顿距离

出租车几何或曼哈顿距离(Manhattan Distance): 是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。我们可以定义曼哈顿距离的正式意义为L1-距离或城市区块距离,也就是在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。

计算公式:

d=i=1n|xiyi|


闵氏距离

闵可夫斯基距离或闵氏距离(Minkowski Distance):以俄罗斯数学家闵可夫斯基命名的距离;是欧式距离的推广,p=1时等价于曼哈顿距离,p=2时等价于欧氏距离,和p-范数等值。

计算公式:

d=i=1n|xiyi|pp


马氏距离

马氏距离(Mahalanobis distance): 由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度,如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离,如果协方差矩阵为对角阵,其也可称为正规化的马氏距离。

计算公式:
对于一个均值为μ=(μ1,μ2,μ3,...μp)T ,协方差矩阵为Σ,其马氏距离为:

DM(x)=(xμ)TΣ1(xμ)

马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量 x⃗ y⃗ 的差异程度:
d(x⃗ ,y⃗ )=(x⃗ y⃗ )TΣ1(x⃗ y⃗ )


海明距离

海明距离(Hamming Distance):在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。

举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。


杰卡德距离

杰卡德距离(Jaccard Distance) :它是杰卡德相似系数的补集,被定义为1减去Jaccard相似系数。而杰卡德相似系数(Jaccard similarity coefficient),也称杰卡德指数(Jaccard Index),是用来衡量两个集合相似度的一种指标。

Jaccard相似指数用来度量两个集合之间的相似性,它被定义为两个集合交集的元素个数除以并集的元素个数。

J(A,B)=|AB||AB|

杰卡德距离如下:
dJ(A,B)=1J(A,B)=|AB||AB||AB|

性质:
1) 若A、B两个集合都为空,则J(A,B)=1 ;
2) 0J(A,B)1


余弦相似度

余弦相似度(Cosine Similarity):余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向量根据坐标值,绘制到向量空间中,如最常见的二维空间。

计算公式:

cosθ=ab||a|| ||b||

性质:
余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近;越趋近于-1,他们的方向越相反;接近于0,表示两个向量近乎于正交。
应用:
最常见的应用就是计算文本相似度。将两个文本根据他们词,建立两个向量,计算这两个向量的余弦值,就可以知道两个文本在统计学方法中他们的相似度情况。实践证明,这是一个非常有效的方法。


皮尔森相关系数

皮尔森相关系数(Pearson correlation coefficient):也称皮尔森积矩相关系数(Pearson product-moment correlation coefficient) ,是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用r表示,其中n为样本量,分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的绝对值越大表明相关性越强。

计算公式:

r=ni=1(Xix¯)(yiy¯)ni=1(Xix¯)2ni=1(yiy¯)2

分子是两个集合的交集大小,分母是两个集合大小的几何平均值。是余弦相似性的一种形式


切比雪夫距离

切比雪夫距离(Chebyshev distance)或者(Supremum distance):在数学中,切比雪夫距离或是L∞度量是向量空间中的一种度量,二个点之间的距离定义是其各坐标数值差绝对值的最大值。以数学的观点来看,切比雪夫距离是由一致范数(英语:uniform norm)(或称为上确界范数)所衍生的度量,也是超凸度量。

计算公式:

DChebyshev(p,q)=maxi(|piqi|)=limk(i=1n|piqi|k)1/k

也就是闵氏距离公式中的p趋向于无穷大。


编辑距离

编辑距离(Edit Distance):又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。俄罗斯科学家Vladimir Levenshtein在1965年提出这个概念。编辑距离越小的两个字符串越相似,当编辑距离为0时,两字符串相等。

计算公式:

f(n)=max(i,j)minleva,b(i1,j)+1leva,b(i,j1)+1leva,b(i1,j1)+1(aibj)if min(i,j)=0,otherwise.


K-L散度

K-L散度(Kullback-Leibler Divergence):即相对熵;是衡量两个分布(P、Q)之间的距离;越小越相似。

计算公式:

D(P||Q)=i=1nP(i)logP(i)Q(i)

参考:
http://blog.csdn.net/solomonlangrui/article/details/47454805
http://blog.csdn.net/u010910642/article/details/51315517
http://www.cnblogs.com/wentingtu/archive/2012/05/03/2479919.html

原创粉丝点击