精华内容
下载资源
问答
  • 2022-01-01 23:50:52

    分类目录:《机器学习中的数学》总目录
    相关文章:
    · 距离定义:基础知识
    · 距离定义(一):欧几里得距离(Euclidean Distance)
    · 距离定义(二):曼哈顿距离(Manhattan Distance)
    · 距离定义(三):闵可夫斯基距离(Minkowski Distance)
    · 距离定义(四):切比雪夫距离(Chebyshev Distance)
    · 距离定义(五):标准化的欧几里得距离(Standardized Euclidean Distance)
    · 距离定义(六):马氏距离(Mahalanobis Distance)
    · 距离定义(七):兰氏距离(Lance and Williams Distance)/堪培拉距离(Canberra Distance)
    · 距离定义(八):余弦距离(Cosine Distance)
    · 距离定义(九):测地距离(Geodesic Distance)
    · 距离定义(十): 布雷柯蒂斯距离(Bray Curtis Distance)
    · 距离定义(十一):汉明距离(Hamming Distance)
    · 距离定义(十二):编辑距离(Edit Distance,Levenshtein Distance)
    · 距离定义(十三):杰卡德距离(Jaccard Distance)和杰卡德相似系数(Jaccard Similarity Coefficient)
    · 距离定义(十四):Ochiia系数(Ochiia Coefficient)
    · 距离定义(十五):Dice系数(Dice Coefficient)
    · 距离定义(十六):豪斯多夫距离(Hausdorff Distance)
    · 距离定义(十七):皮尔逊相关系数(Pearson Correlation)
    · 距离定义(十八):卡方距离(Chi-square Measure)
    · 距离定义(十九):交叉熵(Cross Entropy)
    · 距离定义(二十):相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
    · 距离定义(二十一):JS散度(Jensen–Shannon Divergence)
    · 距离定义(二十二):海林格距离(Hellinger Distance)
    · 距离定义(二十三):α-散度(α-Divergence)
    · 距离定义(二十四):F-散度(F-Divergence)
    · 距离定义(二十五):布雷格曼散度(Bregman Divergence)
    · 距离定义(二十六):Wasserstein距离(Wasserstei Distance)/EM距离(Earth-Mover Distance)
    · 距离定义(二十七):巴氏距离(Bhattacharyya Distance)
    · 距离定义(二十八):最大均值差异(Maximum Mean Discrepancy, MMD)
    · 距离定义(二十九):点间互信息(Pointwise Mutual Information, PMI)


    汉明距离(Hamming Distance)是应用于数据传输差错控制编码的距离度量方式,它表示两个(相同长度)字符串对应位不同的数量。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。我们也可以将汉明距离理解为两个等长字符串之间将其中一个变为另外一个所需要作的最小替换次数。

    下面我们来看一下布雷汉明距离的Python实现:

    def HammingDistance(x, y):
        return sum(x_ch != y_ch for x_ch, y_ch in zip(x, y))
    
    更多相关内容
  • 各种距离定义

    千次阅读 2019-09-14 07:28:55
    1、欧式距离(欧几里得距离) 欧式距离是最易理解的距离定义,即各坐标点的坐标之差的平方和相加,然后开根号。 二维平面上点 与点 之间的距离公式是: n维空间上点 和点 之间的距离公式是: 2、曼哈顿距离 ...

    1、欧式距离(欧几里得距离)
    欧式距离是最易理解的距离定义,即各坐标点的坐标之差的平方和相加,然后开根号。
    二维平面上点 与点 之间的距离公式是:

    n维空间上点 和点 之间的距离公式是:

     

    2、曼哈顿距离
    曼哈顿距离是各坐标点的坐标差值相加。
    二维平面上点 与点 之间的距离公式是:

    n维空间上点 和点 之间的距离公式是:

     

    3、切比雪夫距离
    切比雪夫距离是各坐标的坐标差值中的最大值。
    二维平面上点 与点 之间的距离公式是:

    n维空间上点 和点 之间的距离公式是:

     

    4、闵可夫斯基距离
    闵氏距离是多种距离的概括性描述。
    两个n维的点 之间的闵式距离可以定义为:

    当p 1的时候,上述公式即为曼哈顿距离;
    当p 2的时候,上述公式即为欧式距离;
    的 时候,上述公式即为切比雪夫距离。

     

    5、余弦相似度
    余弦相似度用于衡量两个向量之间的相似程度,衡量的标准是两向量之间夹角的余弦值。已知向量 与向量 的内积表示为:

    则可以得到余弦相似度为:

     

    6、马氏距离
    马氏距离表示的是数据的协方差距离,常用于测量未知样本集与已知样本集的相似性。它与欧氏距离的不同之处在于它考虑了数据集的相关性并且是尺度不变的。对于均值为 ,协方差矩阵为S的多变量矢量,其马氏距离为:

    马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为S的随机变量 的差异程度:

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

     

    7、汉明距离
    汉明距离是使用在数据传输差错控制编码里面的,如111000与111001的汉明距离是1,因为它有一位数不一样。

    转载于:https://my.oschina.net/u/4108765/blog/3063123

    展开全文
  • 数学中各种距离定义

    万次阅读 2016-05-30 23:28:12
    在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。  本文的...

    在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。

      本文的目的就是对常用的相似性度量作一个总结。


    本文目录:

    1.欧氏距离

    2.曼哈顿距离

    3. 切比雪夫距离

    4. 闵可夫斯基距离

    5.标准化欧氏距离

    6.马氏距离

    7.夹角余弦

    8.汉明距离

    9.杰卡德距离& 杰卡德相似系数

    10.相关系数& 相关距离

    11.信息熵

    12.巴氏距离

    13.皮尔逊系数


    1. 欧氏距离(EuclideanDistance)

           欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。

    (1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

     

    (2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

     

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

     

      也可以用表示成向量运算的形式:

     

    (4)Matlab计算欧氏距离

    Matlab计算距离主要使用pdist函数。若X是一个M×N的矩阵,则pdist(X)将X矩阵M行的每一行作为一个N维向量,然后计算这M个向量两两间的距离。

    例子:计算向量(0,0)、(1,0)、(0,2)两两间的欧式距离

    X= [0 0 ; 1 0 ; 0 2]

    D= pdist(X,'euclidean')

    结果:

    D=

        1.0000   2.0000    2.2361

     


    2. 曼哈顿距离(ManhattanDistance)

           从名字就可以猜出这种距离的计算方法了。想象你在曼哈顿要从一个十字路口开车到另外一个十字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越大楼。实际驾驶距离就是这个“曼哈顿距离”。而这也是曼哈顿距离名称的来源, 曼哈顿距离也称为城市街区距离(CityBlock distance)

    (1)二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离

     

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

     

    (3)Matlab计算曼哈顿距离

    例子:计算向量(0,0)、(1,0)、(0,2)两两间的曼哈顿距离

    X= [0 0 ; 1 0 ; 0 2]

    D= pdist(X, 'cityblock')

    结果:

    D=

         1    2     3


    3. 切比雪夫距离 ( Chebyshev Distance )

           国际象棋玩过么?国王走一步能够移动到相邻的8个方格中的任意一个。那么国王从格子(x1,y1)走到格子(x2,y2)最少需要多少步?自己走走试试。你会发现最少步数总是max(| x2-x1 | , | y2-y1 | ) 步。有一种类似的一种距离度量方法叫切比雪夫距离。

    (1)二维平面两点a(x1,y1)与b(x2,y2)间的切比雪夫距离

     

    (2)两个n维向量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的切比雪夫距离

     

      这个公式的另一种等价形式是

     

           看不出两个公式是等价的?提示一下:试试用放缩法和夹逼法则来证明。

    (3)Matlab计算切比雪夫距离

    例子:计算向量(0,0)、(1,0)、(0,2)两两间的切比雪夫距离

    X= [0 0 ; 1 0 ; 0 2]

    D= pdist(X, 'chebychev')

    结果:

    D=

         1    2     2

     


    4. 闵可夫斯基距离(MinkowskiDistance)

    闵氏距离不是一种距离,而是一组距离的定义。

    (1)闵氏距离的定义

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

     

    其中p是一个变参数。

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

    当p=2时,就是欧氏距离

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

           根据变参数的不同,闵氏距离可以表示一类的距离。

    (2)闵氏距离的缺点

      闵氏距离,包括曼哈顿距离、欧氏距离和切比雪夫距离都存在明显的缺点。

      举个例子:二维样本(身高,体重),其中身高范围是150~190,体重范围是50~60,有三个样本:a(180,50),b(190,50),c(180,60)。那么a与b之间的闵氏距离(无论是曼哈顿距离、欧氏距离或切比雪夫距离)等于a与c之间的闵氏距离,但是身高的10cm真的等价于体重的10kg么?因此用闵氏距离来衡量这些样本间的相似度很有问题。

           简单说来,闵氏距离的缺点主要有两个:(1)将各个分量的量纲(scale),也就是“单位”当作相同的看待了。(2)没有考虑各个分量的分布(期望,方差等)可能是不同的。

    (3)Matlab计算闵氏距离

    例子:计算向量(0,0)、(1,0)、(0,2)两两间的闵氏距离(以变参数为2的欧氏距离为例)

    X= [0 0 ; 1 0 ; 0 2]

    D= pdist(X,'minkowski',2)

    结果:

    D=

        1.0000   2.0000    2.2361



    5. 标准化欧氏距离(Standardized Euclidean distance )

    (1)标准欧氏距离的定义

      标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。标准欧氏距离的思路:既然数据各维分量的分布不一样,好吧!那我先将各个分量都“标准化”到均值、方差相等吧。均值和方差标准化到多少呢?这里先复习点统计学知识吧,假设样本集X的均值(mean)为m,标准差(standarddeviation)为s,那么X的“标准化变量”表示为:

      而且标准化变量的数学期望为0,方差为1。因此样本集的标准化过程(standardization)用公式描述就是:

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

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

      如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离(WeightedEuclidean distance)

    (2)Matlab计算标准化欧氏距离

    例子:计算向量(0,0)、(1,0)、(0,2)两两间的标准化欧氏距离 (假设两个分量的标准差分别为0.5和1)

    X= [0 0 ; 1 0 ; 0 2]

    D= pdist(X, 'seuclidean',[0.5,1])

    结果:

    D=

        2.0000   2.0000    2.8284

     


    6. 马氏距离(MahalanobisDistance)

    (1)马氏距离定义

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

     

           而其中向量Xi与Xj之间的马氏距离定义为:

           若协方差矩阵是单位矩阵(各个样本向量之间独立同分布),则公式就成了:

           也就是欧氏距离了。

      若协方差矩阵是对角矩阵,公式变成了标准化欧氏距离。

    (2)马氏距离的优缺点:量纲无关,排除变量之间的相关性的干扰。

    (3)Matlab计算(1 2),( 1 3),( 2 2),( 3 1)两两之间的马氏距离

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

    Y = pdist(X,'mahalanobis')

     

    结果:

    Y=

        2.3452   2.0000    2.3452    1.2247   2.4495    1.2247

     


    7. 夹角余弦(Cosine)

           有没有搞错,又不是学几何,怎么扯到夹角余弦了?各位看官稍安勿躁。几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。

    (1)在二维空间中向量A(x1,y1)与向量B(x2,y2)的夹角余弦公式:

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

           类似的,对于两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n),可以使用类似于夹角余弦的概念来衡量它们间的相似程度。

      即:

           夹角余弦取值范围为[-1,1]。夹角余弦越大表示两个向量的夹角越小,夹角余弦越小表示两向量的夹角越大。当两个向量的方向重合时夹角余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1。

           夹角余弦的具体应用可以参阅参考文献[1]。

    (3)Matlab计算夹角余弦

    例子:计算(1,0)、( 1,1.732)、(-1,0)两两间的夹角余弦

    X= [1 0 ; 1 1.732 ; -1 0]

    D= 1- pdist(X, 'cosine')  % Matlab中的pdist(X,'cosine')得到的是1减夹角余弦的值

    结果:

    D=

        0.5000  -1.0000   -0.5000

     


    8. 汉明距离(Hammingdistance)

    (1)汉明距离的定义

           两个等长字符串s1与s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。例如字符串“1111”与“1001”之间的汉明距离为2。

           应用:信息编码(为了增强容错性,应使得编码间的最小汉明距离尽可能大)。

    (2)Matlab计算汉明距离

      Matlab中2个向量之间的汉明距离的定义为2个向量不同的分量所占的百分比。

           例子:计算向量(0,0)、(1,0)、(0,2)两两间的汉明距离

    X = [0 0 ; 1 0 ; 0 2];

    D = PDIST(X, 'hamming')

    结果:

    D=

        0.5000   0.5000    1.0000

     


    9. 杰卡德相似系数(Jaccardsimilarity coefficient)

    (1) 杰卡德相似系数

           两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示。

      杰卡德相似系数是衡量两个集合的相似度一种指标。

    (2) 杰卡德距离

           与杰卡德相似系数相反的概念是杰卡德距离(Jaccarddistance)。杰卡德距离可用如下公式表示:

      杰卡德距离用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。

    (3)杰卡德相似系数与杰卡德距离的应用

           可将杰卡德相似系数用在衡量样本的相似度上。

      样本A与样本B是两个n维向量,而且所有维度的取值都是0或1。例如:A(0111)和B(1011)。我们将样本看成是一个集合,1表示集合包含该元素,0表示集合不包含该元素。

    p:样本A与B都是1的维度的个数

    q:样本A是1,样本B是0的维度的个数

    r:样本A是0,样本B是1的维度的个数

    s:样本A与B都是0的维度的个数


    那么样本A与B的杰卡德相似系数可以表示为:

    这里p+q+r可理解为A与B的并集的元素个数,而p是A与B的交集的元素个数。

    而样本A与B的杰卡德距离表示为:

    (4)Matlab计算杰卡德距离

    Matlab的pdist函数定义的杰卡德距离跟我这里的定义有一些差别,Matlab中将其定义为不同的维度的个数占“非全零维度”的比例。

    例子:计算(1,1,0)、(1,-1,0)、(-1,1,0)两两之间的杰卡德距离

    X= [1 1 0; 1 -1 0; -1 1 0]

    D= pdist( X , 'jaccard')

    结果

    D=

    0.5000    0.5000   1.0000

     


    10. 相关系数( Correlation coefficient )与相关距离(Correlation distance)

    (1)相关系数的定义

    相关系数是衡量随机变量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1]。相关系数的绝对值越大,则表明X与Y相关度越高。当X与Y线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。

    (2)相关距离的定义

     

    (3)Matlab计算(1, 2 ,3 ,4 )与( 3 ,8 ,7 ,6 )之间的相关系数与相关距离

    X = [1 2 3 4 ; 3 8 7 6]

    C = corrcoef( X' )   %将返回相关系数矩阵

    D = pdist( X , 'correlation')

    结果:

    C=

        1.0000   0.4781

        0.4781   1.0000

    D=

    0.5219

          其中0.4781就是相关系数,0.5219是相关距离。


    11. 信息熵(Information Entropy)

           信息熵并不属于一种相似性度量。那为什么放在这篇文章中啊?这个。。。我也不知道。 (╯▽╰)

    信息熵是衡量分布的混乱程度或分散程度的一种度量。分布越分散(或者说分布越平均),信息熵就越大。分布越有序(或者说分布越集中),信息熵就越小。

           计算给定的样本集X的信息熵的公式:

    参数的含义:

    n:样本集X的分类数

    pi:X中第i类元素出现的概率

           信息熵越大表明样本集S分类越分散,信息熵越小则表明样本集X分类越集中。。当S中n个分类出现的概率一样大时(都是1/n),信息熵取最大值log2(n)。当X只有一个分类时,信息熵取最小值0


    12、巴氏距离(Bhattacharyya Distance),在统计中,Bhattacharyya距离测量两个离散或连续概率分布的相似性。它与衡量两个统计样品或种群之间的重叠量的Bhattacharyya系数密切相关。Bhattacharyya距离和Bhattacharyya系数以20世纪30年代曾在印度统计研究所工作的一个统计学家A. Bhattacharya命名。同时,Bhattacharyya系数可以被用来确定两个样本被认为相对接近的,它是用来测量中的类分类的可分离性。

    (1)巴氏距离的定义
    对于离散概率分布 p和q在同一域 X,它被定义为:
    其中:
    是Bhattacharyya系数。
    对于连续概率分布,Bhattacharyya系数被定义为:
    这两种情况下,巴氏距离 并没有服从三角不等式.(值得一提的是,Hellinger距离不服从三角不等式 )。 
    对于多变量的高斯分布 

    和是手段和协方差的分布
    需要注意的是,在这种情况下,第一项中的Bhattacharyya距离与马氏距离有关联。 
    (2)Bhattacharyya系数
    Bhattacharyya系数是两个统计样本之间的重叠量的近似测量,可以被用于确定被考虑的两个样本的相对接近。
    计算Bhattacharyya系数涉及集成的基本形式的两个样本的重叠的时间间隔的值的两个样本被分裂成一个选定的分区数,并且在每个分区中的每个样品的成员的数量,在下面的公式中使用
    考虑样品a 和 b ,n是的分区数,并且 被一个 和 b i的日分区中的样本数量的成员。更多介绍请参看: http://en.wikipedia.org/wiki/Bhattacharyya_coefficient

    13.皮尔逊系数(Pearson Correlation Coefficient)
        在具体阐述皮尔逊相关系数之前,有必要解释下什么是相关系数 ( Correlation coefficient )与相关距离(Correlation distance)。
        相关系数 ( Correlation coefficient )的定义是:
    ( 其中,E为数学期望或均值,D为方差,D开根号为标准差,E{ [X-E(X)] [Y-E(Y)]}称为随机变量X与Y的协方差,记为Cov(X,Y),即Cov(X,Y) = E{ [X-E(X)] [Y-E(Y)]},而两个变量之间的协方差和标准差的商则称为随机变量X与Y的相关系数,记为)
       相关系数衡量随机变量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1]。相关系数的绝对值越大,则表明X与Y相关度越高。当X与Y线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。
        具体的,如果有两个变量:X、Y,最终计算出的相关系数的含义可以有如下理解:
    1. 当相关系数为0时,X和Y两变量无关系。
    2. 当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。
    3. 当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。
       相关距离的定义是:

    OK,接下来,咱们来重点了解下皮尔逊相关系数。
        在统计学中,皮尔逊积矩相关系数(英语:Pearson product-moment correlation coefficient,又称作 PPMCC或PCCs, 用r表示)用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。

    通常情况下通过以下取值范围判断变量的相关强度:
    相关系数     0.8-1.0     极强相关
                     0.6-0.8     强相关
                     0.4-0.6     中等程度相关
                     0.2-0.4     弱相关
                     0.0-0.2     极弱相关或无相关

    在自然科学领域中,该系数广泛用于度量两个变量之间的相关程度。它是由卡尔·皮尔逊从弗朗西斯·高尔顿在19世纪80年代提出的一个相似却又稍有不同的想法演变而来的。这个相关系数也称作“皮尔森相关系数r”。
    (1)皮尔逊系数的定义
    两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商:
    以上方程定义了总体相关系数, 一般表示成希腊字母ρ(rho)。基于样本对协方差和方差进行估计,可以得到样本标准差, 一般表示成r:
    一种等价表达式的是表示成标准分的均值。基于(Xi, Yi)的样本点,样本皮尔逊系数是

                   其中  及  ,分别是标准分、样本平均值和样本标准差。

    或许上面的讲解令你头脑混乱不堪,没关系,我换一种方式讲解,如下:

    假设有两个变量X、Y,那么两变量间的皮尔逊相关系数可通过以下公式计算:

    • 公式一:
    注:勿忘了上面说过,“皮尔逊相关系数定义为两个变量之间的协方差和标准差的商”,其中标准差的计算公式为:
    • 公式二:
    • 公式三:
    • 公式四:

    以上列出的四个公式等价,其中E是数学期望,cov表示协方差,N表示变量取值的个数。

    (2)皮尔逊相关系数的适用范围
    当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:
    1. 两个变量之间是线性关系,都是连续数据。
    2. 两个变量的总体是正态分布,或接近正态的单峰分布。
    3. 两个变量的观测值是成对的,每对观测值之间相互独立。
    (3)如何理解皮尔逊相关系数

    rubyist:皮尔逊相关系数理解有两个角度

    其一, 按照高中数学水平来理解, 它很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数,Z分数一般代表正态分布中, 数据偏离中心点的距离.等于变量减掉平均数再除以标准差.(就是高考的标准分类似的处理)

    样本标准差则等于变量减掉平均数的平方和,再除以样本数,最后再开方,也就是说,方差开方即为标准差,样本标准差计算公式为:

    所以, 根据这个最朴素的理解,我们可以将公式依次精简为:

    其二, 按照大学的线性数学水平来理解, 它比较复杂一点,可以看做是两组数据的向量夹角的余弦。下面是关于此皮尔逊系数的几何学的解释,先来看一幅图,如下所示:


    回归直线: y=gx(x) [红色] 和 x=gy(y) [蓝色]

    如上图,对于没有中心化的数据, 相关系数与两条可能的回归线y=gx(x) 和 x=gy(y) 夹角的余弦值一致。
    对于没有中心化的数据 (也就是说, 数据移动一个样本平均值以使其均值为0), 相关系数也可以被视作由两个随机变量 向量 夹角 的 余弦值(见下方)。
    举个例子,例如,有5个国家的国民生产总值分别为 10, 20, 30, 50 和 80 亿美元。 假设这5个国家 (顺序相同) 的贫困百分比分别为 11%, 12%, 13%, 15%, and 18% 。 令 x 和 y 分别为包含上述5个数据的向量: x = (1, 2, 3, 5, 8) 和 y = (0.11, 0.12, 0.13, 0.15, 0.18)。
    利用通常的方法计算两个向量之间的夹角  (参见 数量积), 未中心化 的相关系数是:


    我们发现以上的数据特意选定为完全相关: y = 0.10 + 0.01 x。 于是,皮尔逊相关系数应该等于1。将数据中心化 (通过E(x) = 3.8移动 x 和通过 E(y) = 0.138 移动 y ) 得到 x = (−2.8, −1.8, −0.8, 1.2, 4.2) 和 y = (−0.028, −0.018, −0.008, 0.012, 0.042), 从中

    (4)皮尔逊相关的约束条件

    从以上解释, 也可以理解皮尔逊相关的约束条件:

    • 1 两个变量间有线性关系
    • 2 变量是连续变量
    • 3 变量均符合正态分布,且二元分布也符合正态分布
    • 4 两变量独立

    在实践统计中,一般只输出两个系数,一个是相关系数,也就是计算出来的相关系数大小,在-1到1之间;另一个是独立样本检验系数,用来检验样本一致性。

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


    参考资料: 

    [1]吴军. 数学之美 系列 12 -余弦定理和新闻的分类.

    http://www.google.com.hk/ggblog/googlechinablog/2006/07/12_4010.html

    [2]Wikipedia. Jaccard index.

    http://en.wikipedia.org/wiki/Jaccard_index

    [3]Wikipedia. Hamming distance

    http://en.wikipedia.org/wiki/Hamming_distance

    [4] 求马氏距离(Mahalanobisdistance )matlab版

    http://junjun0595.blog.163.com/blog/static/969561420100633351210/

    [5] Pearson product-momentcorrelation coefficient

    http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient


    展开全文
  • 机器学习-各种距离定义

    千次阅读 2018-10-26 15:06:55
    欧氏距离是最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x=(x1,⋯,xn)x=(x1,⋯,xn) 和y=(y2,⋯,yn)y=(y2,⋯,yn)之间的距离为:   d(x,y)=(x1–y1)2+(x2−y2)2...

    转自:https://www.cnblogs.com/ronny/p/4080442.html

    1. 欧氏距离

    欧氏距离是最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x=(x1,⋯,xn)x=(x1,⋯,xn) 和y=(y2,⋯,yn)y=(y2,⋯,yn)之间的距离为:

     

    d(x,y)=(x1–y1)2+(x2−y2)2+⋯+(xn−yn)2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√=∑i=1n(xi−yi)2−−−−−−−−−−√d(x,y)=(x1–y1)2+(x2−y2)2+⋯+(xn−yn)2=∑i=1n(xi−yi)2

    1)二维平面上两点a(x1,y1)a(x1,y1)与b(x2,y2)b(x2,y2)间的欧氏距离:

    d=(x1–x2)2+(y1–y2)2−−−−−−−−−−−−−−−−√d=(x1–x2)2+(y1–y2)2

    2)三维空间两点a(x1,y1,z1)a(x1,y1,z1)与b(x2,y2,z2)b(x2,y2,z2)间的欧氏距离:

    d=(x1–x2)2+(y1–y2)2+(z1–z2)2−−−−−−−−−−−−−−−−−−−−−−−−−√d=(x1–x2)2+(y1–y2)2+(z1–z2)2

    3)两个nn维向量a(x11,x12,⋯,x1n)a(x11,x12,⋯,x1n)与 b(x21,x22,⋯,x2n)b(x21,x22,⋯,x2n)间的欧氏距离:

    d=∑k=1n(x1k–x2k)2−−−−−−−−−−−√d=∑k=1n(x1k–x2k)2

    也可以用表示成向量运算的形式:

    d=(a−b)(a−b)T−−−−−−−−−−−−√d=(a−b)(a−b)T

    nn维平面上两点欧式距离,代码可以如下编写:

    //unixfy:计算欧氏距离 
    double euclideanDistance(const vector<double>& v1, const vector<double>& v2) 
    { 
        assert(v1.size() == v2.size()); 
        double ret = 0.0; 
        for (vector<double>::size_type i = 0; i != v1.size(); ++i) 
        { 
            ret += (v1[i] - v2[i]) * (v1[i] - v2[i]); 
        } 
        return sqrt(ret); 
    }

    2. 曼哈顿距离

    我们可以定义曼哈顿距离的正式意义为L1L1-距离或城市区块距离,也就是在欧几里得空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。

    例如在平面上,坐标(x1,y1)(x1,y1)的点P1P1与坐标(x2,y2)(x2,y2)的点P2P2的曼哈顿距离为:

     

    D(P1,P2)=|x1−x2|+|y1–y2|D(P1,P2)=|x1−x2|+|y1–y2|

    要注意的是,曼哈顿距离依赖座标系统的转度,而非系统在座标轴上的平移或映射。

    通俗来讲,想象你在曼哈顿要从一个十字路口开车到另外一个十字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越大楼。而实际驾驶距离就是这个“曼哈顿距离”,此即曼哈顿距离名称的来源, 同时,曼哈顿距离也称为城市街区距离(City Block distance)。

    1)二维平面两点a(x1,y1)a(x1,y1)与b(x2,y2)b(x2,y2)间的曼哈顿距离

    d(a,b)=|x1–x2|+|y1−y2|d(a,b)=|x1–x2|+|y1−y2|

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

    d(a,b)=∑k=1n|x1k–x2k|d(a,b)=∑k=1n|x1k–x2k|

    3. 切比雪夫距离

    若二个向量或二个点p,qp,q,其座标分别为(p1,p2,⋯,pi,⋯)(p1,p2,⋯,pi,⋯)及(q1,q2,⋯,qi,⋯)(q1,q2,⋯,qi,⋯),则两者之间的切比雪夫距离定义如下:

     

    DChebyshev(p,q)=maxi(|pi–qi|)DChebyshev(p,q)=maxi(|pi–qi|)

    这也等于以下LpLp度量的极值:limk→∞(∑ni=1|pi–qi|k)1/klimk→∞(∑i=1n|pi–qi|k)1/k,因此切比雪夫距离也称为L∞L∞度量。以数学的观点来看,切比雪夫距离是由一致范数(或称为上确界范数)所衍生的度量,也是超凸度量的一种。

    1)在平面几何中,若二点pp及qq的直角坐标系坐标为(x1,y1)(x1,y1)及(x2,y2)(x2,y2),则切比雪夫距离为:DChess=max(|x2–x1|,|y2−y1|)DChess=max(|x2–x1|,|y2−y1|)。

    玩过国际象棋的朋友或许知道,国王走一步能够移动到相邻的8个方格中的任意一个。那么国王从格子(x1,y1)(x1,y1)走到格子(x2,y2)(x2,y2)最少需要多少步?。你会发现最少步数总是max(|x2–x1|,|y2−y1|)max(|x2–x1|,|y2−y1|)步 。

    2)二维平面上两点a(x1,y1)a(x1,y1)与b(x2,y2)b(x2,y2)间的切比雪夫距离

    d(a,b)=max(|x1−x2|,|y1–y2|)d(a,b)=max(|x1−x2|,|y1–y2|)

    3)两个nn维向量a(x11,x12,⋯,x1n)a(x11,x12,⋯,x1n)与 b(x21,x22,⋯,x2n)b(x21,x22,⋯,x2n)间的切比雪夫距离

    d(a,b)=maxi(|x1i–x2i|)d(a,b)=maxi(|x1i–x2i|)

    这个公式的另一种等价形式是

    d(a,b)=limk→∞(∑i=1n|x1i–x2i|k)1/kd(a,b)=limk→∞(∑i=1n|x1i–x2i|k)1/k

    4. 闵可夫斯基距离(Minkowski Distance)

    闵氏距离不是一种距离,而是一组距离的定义。

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

     

    d(a,b)=∑k=1n|x1k–x2k|p−−−−−−−−−−−√pd(a,b)=∑k=1n|x1k–x2k|pp

    其中pp是一个变参数。

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

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

    当p→∞p→∞时,就是切比雪夫距离;

    根据变参数的不同,闵氏距离可以表示一类的距离。

    5. 标准化欧氏距离 (Standardized Euclidean distance )

    标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。标准欧氏距离的思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等。

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

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

     

    X^=X−μσX^=X−μσ

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

     

    d(a,b)=∑k=1n(x1k–x2kσk)2−−−−−−−−−−−−−−⎷d(a,b)=∑k=1n(x1k–x2kσk)2

    如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离(Weighted Euclidean distance)。

    6. 马氏距离(Mahalanobis Distance)   

    有MM个样本向量X1∼XMX1∼XM,协方差矩阵记为SS,均值记为向量μμ,则其中样本向量XX到μμ的马氏距离表示为:

     

    D(X)=(X−μ)TS−1(X−μ)−−−−−−−−−−−−−−−−−√D(X)=(X−μ)TS−1(X−μ)

    而其中向量XiXi与XjXj之间的马氏距离定义为:

     

    D(Xi,Xj)=(Xi–Xj)TS−1(Xi–Xj)−−−−−−−−−−−−−−−−−−√D(Xi,Xj)=(Xi–Xj)TS−1(Xi–Xj)

    若协方差矩阵是单位矩阵(各个样本向量之间独立同分布),则公式就成了:     

     

    D(Xi,Xj)=(Xi–Xj)T(Xi–Xj)−−−−−−−−−−−−−−−√D(Xi,Xj)=(Xi–Xj)T(Xi–Xj)

    也就是欧氏距离了。

    若协方差矩阵是对角矩阵,公式变成了标准化欧氏距离。 
    马氏距离的优缺点:量纲无关,排除变量之间的相关性的干扰。

    7. 巴氏距离(Bhattacharyya Distance)

    在统计中,Bhattacharyya距离测量两个离散或连续概率分布的相似性。它与衡量两个统计样品或种群之间的重叠量的Bhattacharyya系数密切相关。Bhattacharyya距离和Bhattacharyya系数以20世纪30年代曾在印度统计研究所工作的一个统计学家A. Bhattacharya命名。同时,Bhattacharyya系数可以被用来确定两个样本被认为相对接近的,它是用来测量中的类分类的可分离性。

    对于离散概率分布pp和qq在同一域XX,它被定义为:

     

    DB(p,q)=–ln(BC(p,q))DB(p,q)=–ln(BC(p,q))

    其中:

     

    BC(p,q)=∑x∈Xp(x)q(x)−−−−−−−√BC(p,q)=∑x∈Xp(x)q(x)

    是Bhattacharyya系数。

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

     

    BC(p,q)=∫p(x)q(x)−−−−−−−√dxBC(p,q)=∫p(x)q(x)dx

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

    计算Bhattacharyya系数涉及集成的基本形式的两个样本的重叠的时间间隔的值的两个样本被分裂成一个选定的分区数,并且在每个分区中的每个样品的成员的数量,在下面的公式中使用

     

    Bhattacharyya=∑i=1n(∑ai⋅∑bi)−−−−−−−−−−−−√Bhattacharyya=∑i=1n(∑ai⋅∑bi)

    考虑样品aa和bb ,nn是的分区数,∑ai∑ai是指样品aa中落在分区ii内的个数,∑bi∑bi有类似的定义。

    8. 汉明距离(Hamming distance),

    两个等长字符串s1s1与s2s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。

    例如字符串“1111”与“1001”之间的汉明距离为2。

    应用:信息编码(为了增强容错性,应使得编码间的最小汉明距离尽可能大)。

    9. 夹角余弦(Cosine)

    几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。

    (1)在二维空间中向量A(x1,y1)A(x1,y1)与向量B(x2,y2)B(x2,y2)的夹角余弦公式:

     

    cosθ=x1x2+y1y2x21+y21−−−−−−√x22+y22−−−−−−√cosθ=x1x2+y1y2x12+y12x22+y22

    (2) 两个nn维向量a(x11,x12,⋯,x1n)a(x11,x12,⋯,x1n)与 b(x21,x22,⋯,x2n)b(x21,x22,⋯,x2n)的夹角余弦

     

    cos(θ)=a⋅b|a||b|cos(θ)=a⋅b|a||b|

    类似的,对于两个n维样本点a(x11,x12,⋯,x1n)a(x11,x12,⋯,x1n)与 b(x21,x22,⋯,x2n)b(x21,x22,⋯,x2n),可以使用类似于夹角余弦的概念来衡量它们间的相似程度,即:

     

    cos(θ)=∑nk=1x1kx2k∑nk=1x21k−−−−−−−√∑nk=1x22k−−−−−−−√cos(θ)=∑k=1nx1kx2k∑k=1nx1k2∑k=1nx2k2

    夹角余弦取值范围为[-1,1]。夹角余弦越大表示两个向量的夹角越小,夹角余弦越小表示两向量的夹角越大。当两个向量的方向重合时夹角余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1。

    10. 杰卡德相似系数(Jaccard similarity coefficient)

    10.1 杰卡德相似系数      

    两个集合AA和BB的交集元素在A,BA,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)J(A,B)表示。

     

    J(A,B)=|A∩B||A∪B|J(A,B)=|A∩B||A∪B|

    杰卡德相似系数是衡量两个集合的相似度一种指标。

    10.2 杰卡德距离      

    与杰卡德相似系数相反的概念是杰卡德距离(Jaccard distance)。

    杰卡德距离可用如下公式表示:

    杰卡德距离用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。

    10.3 杰卡德相似系数与杰卡德距离的应用     

    可将杰卡德相似系数用在衡量样本的相似度上。

    举例:样本A与样本B是两个n维向量,而且所有维度的取值都是0或1,例如:A(0111)和B(1011)。我们将样本看成是一个集合,1表示集合包含该元素,0表示集合不包含该元素。

    M11 :样本A与B都是1的维度的个数

    M01:样本A是0,样本B是1的维度的个数

    M10:样本A是1,样本B是0 的维度的个数

    M00:样本A与B都是0的维度的个数

    依据上文给的杰卡德相似系数及杰卡德距离的相关定义,样本A与B的杰卡德相似系数J可以表示为:

    这里M11+M01+M10可理解为A与B的并集的元素个数,而M11是A与B的交集的元素个数。而样本A与B的杰卡德距离表示为J':

     

    11.皮尔逊系数(Pearson Correlation Coefficient)

        在具体阐述皮尔逊相关系数之前,有必要解释下什么是相关系数 ( Correlation coefficient )与相关距离(Correlation distance)。

        相关系数 ( Correlation coefficient )的定义是:

    (其中,E为数学期望或均值,D为方差,D开根号为标准差,E{ [X-E(X)] [Y-E(Y)]}称为随机变量X与Y的协方差,记为Cov(X,Y),即Cov(X,Y) = E{ [X-E(X)] [Y-E(Y)]},而两个变量之间的协方差和标准差的商则称为随机变量X与Y的相关系数,记为)

       相关系数衡量随机变量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1]。相关系数的绝对值越大,则表明X与Y相关度越高。当X与Y线性相关时,相关系数取值为1(正线性相关)或-1(负线性相关)。

        具体的,如果有两个变量:X、Y,最终计算出的相关系数的含义可以有如下理解:

    当相关系数为0时,X和Y两变量无关系。 
    当X的值增大(减小),Y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。 
    当X的值增大(减小),Y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。

       相关距离的定义是:

    OK,接下来,咱们来重点了解下皮尔逊相关系数。

        在统计学中,皮尔逊积矩相关系数(英语:Pearson product-moment correlation coefficient,又称作 PPMCC或PCCs, 用r表示)用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。

    通常情况下通过以下取值范围判断变量的相关强度: 
    相关系数     0.8-1.0     极强相关 
                     0.6-0.8     强相关 
                     0.4-0.6     中等程度相关 
                     0.2-0.4     弱相关 
                     0.0-0.2     极弱相关或无相关

    在自然科学领域中,该系数广泛用于度量两个变量之间的相关程度。它是由卡尔·皮尔逊从弗朗西斯·高尔顿在19世纪80年代提出的一个相似却又稍有不同的想法演变而来的。这个相关系数也称作“皮尔森相关系数r”。

    (1)皮尔逊系数的定义:

    两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商:

    以上方程定义了总体相关系数, 一般表示成希腊字母ρ(rho)。基于样本对协方差和方差进行估计,可以得到样本标准差, 一般表示成r:

    一种等价表达式的是表示成标准分的均值。基于(Xi, Yi)的样本点,样本皮尔逊系数是

                   其中 及 ,分别是标准分、样本平均值和样本标准差。

    或许上面的讲解令你头脑混乱不堪,没关系,我换一种方式讲解,如下:

    假设有两个变量X、Y,那么两变量间的皮尔逊相关系数可通过以下公式计算:

    公式一:

    注:勿忘了上面说过,“皮尔逊相关系数定义为两个变量之间的协方差和标准差的商”,其中标准差的计算公式为:

    公式二: 
    公式三: 
    公式四:

    以上列出的四个公式等价,其中E是数学期望,cov表示协方差,N表示变量取值的个数。

    (2)皮尔逊相关系数的适用范围 
    当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:

    两个变量之间是线性关系,都是连续数据。 
    两个变量的总体是正态分布,或接近正态的单峰分布。 
    两个变量的观测值是成对的,每对观测值之间相互独立。

    (3)如何理解皮尔逊相关系数

    rubyist:皮尔逊相关系数理解有两个角度

    其一, 按照高中数学水平来理解, 它很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数,Z分数一般代表正态分布中, 数据偏离中心点的距离.等于变量减掉平均数再除以标准差.(就是高考的标准分类似的处理)

    样本标准差则等于变量减掉平均数的平方和,再除以样本数,最后再开方,也就是说,方差开方即为标准差,样本标准差计算公式为:

    所以, 根据这个最朴素的理解,我们可以将公式依次精简为:

    其二, 按照大学的线性数学水平来理解, 它比较复杂一点,可以看做是两组数据的向量夹角的余弦。下面是关于此皮尔逊系数的几何学的解释,先来看一幅图,如下所示:

    回归直线: y=gx(x) [红色] 和 x=gy(y) [蓝色]

    如上图,对于没有中心化的数据, 相关系数与两条可能的回归线y=gx(x) 和 x=gy(y) 夹角的余弦值一致。

    对于没有中心化的数据 (也就是说, 数据移动一个样本平均值以使其均值为0), 相关系数也可以被视作由两个随机变量 向量 夹角 的 余弦值(见下方)。

    举个例子,例如,有5个国家的国民生产总值分别为 10, 20, 30, 50 和 80 亿美元。 假设这5个国家 (顺序相同) 的贫困百分比分别为 11%, 12%, 13%, 15%, and 18% 。 令 x 和 y 分别为包含上述5个数据的向量: x = (1, 2, 3, 5, 8) 和 y = (0.11, 0.12, 0.13, 0.15, 0.18)。 
    利用通常的方法计算两个向量之间的夹角  (参见 数量积), 未中心化 的相关系数是:

    我们发现以上的数据特意选定为完全相关: y = 0.10 + 0.01 x。 于是,皮尔逊相关系数应该等于1。将数据中心化 (通过E(x) = 3.8移动 x 和通过 E(y) = 0.138 移动 y ) 得到 x = (−2.8, −1.8, −0.8, 1.2, 4.2) 和 y = (−0.028, −0.018, −0.008, 0.012, 0.042), 从中

    (4)皮尔逊相关的约束条件

    从以上解释, 也可以理解皮尔逊相关的约束条件:

    1 两个变量间有线性关系 
    2 变量是连续变量 
    3 变量均符合正态分布,且二元分布也符合正态分布 
    4 两变量独立

    在实践统计中,一般只输出两个系数,一个是相关系数,也就是计算出来的相关系数大小,在-1到1之间;另一个是独立样本检验系数,用来检验样本一致性。

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

    展开全文
  • 各种距离概念与计算公式

    千次阅读 2022-01-14 10:55:43
    各种常用的距离的概念和计算公式的汇总整理
  • 下面是 [RJ45接口针脚定义(各种接口针脚定义)]的电路图RJ45接口信号定义,以及网线连接头信号安排以太网 10/100Base-T 接口:Pin Name Description1 TX+ Tranceive Data+ (发信号+)2 TX- Tranceive Data- (发信号-)3 ...
  • Wasserstein距离也被称为推土机距离(Earth Mover’s Distance,EMD),用来表示两个分布的相似程度。Wasserstein距离衡量了把数据从分布ppp移动成”分布qqq时所需要移动的平均距离的最小值。Wasserstein距离是2000...
  • 几种距离的度量方式

    千次阅读 2020-11-26 17:07:22
    马氏距离概念 定义:有M个样本向量X1~Xm,协方差矩阵记为S,均值记为向量μ,则其中样本向量X到μ的马氏距离表示为: 向量Xi与Xj之间的马氏距离定义为: 若协方差矩阵是单位矩阵(各个样本向量之间独立同分布),则...
  • 机器学习总结之——各种距离汇总

    千次阅读 2018-09-25 21:23:08
    机器学习总结之——各种样本距离汇总   一般在机器学习模型中会...  最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x = (x1,…,xn) 和 y = (y1,…,yn) 之间的...
  • 各种距离算法汇总

    千次阅读 2019-08-02 11:25:13
    1. 欧氏距离,最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为: (1)二维平面上两点a(x1,y1)与b(x2,y2)间的...
  • RS485最大通讯距离和RS485接口定义

    千次阅读 2020-04-28 09:34:27
    智能仪表在要求通信距离为几十米到上千米时,通过RS485通讯连成现场网络,满足企业信息化的需要。RS485总线特点 1、RS485的最高数据传输速率为10Mbps。 2、RS485最大通信距离约为1200m。 3、RS485传输速率与传输距离...
  • 各种接口针脚定义

    万次阅读 2017-06-13 14:01:32
    RJ45接口信号定义,以及网线连接头信号安排 以太网 10/100Base-T 接口: Pin Name Description 1 TX+ Tranceive Data+ (发信号+) 2 TX- Tranceive Data- (发信号-) 3 RX+ Receive Data+ (收信号+) 4 n/c ...
  • 机器学习——各种距离度量方法总结

    千次阅读 多人点赞 2019-07-16 14:49:35
    欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际...
  • 类内距离与类间距离

    万次阅读 2019-04-23 20:23:32
    初识类内距离与类间距离 一、定义 类内距离:同一类各模式样本点间的均方距离 类间距离:顾名思义不同类间的距离 二、计算公式 1.类内距离: 2.类间距离 ...
  • Python计算经济距离权重矩阵

    千次阅读 多人点赞 2021-09-25 10:47:45
    一年前的博客介绍了基本权重矩阵的定义,今天在其基础上分享Python构建的方式 目录一、经济权重矩阵定义二、数据准备三、全部代码 一、经济权重矩阵定义 当然,这里YiY_{i}Yi​和YjY_{j}Yj​可以根据实际研究的需求...
  • 太难找了,自己写个博客记录一下 hypot()方法返回的欧几里德范数 sqrt(xx + yy). ...len = hypot(x1-x2, y1-y2) #(x1, y1)与(x2, y2)间的欧氏距离 参考: https://www.jb51.net/article/66227.htm ...
  • 常见距离计算方法

    千次阅读 2021-02-24 19:49:30
    1、欧式距离(Euclidean Distance) 2、曼哈顿距离(Manhattan Distance) 不能直接走两点连接的直线,红、蓝、黄距离一样长 ...闵氏距离不是一种距离,而是一组距离定义,是对多个距离度量公式的概括性的表述。
  • 各种距离算法

    千次阅读 2017-12-20 20:17:18
    1. 欧氏距离,最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为:   (1)二维平面上两点a(x1,y1)与b(x2,y2)间的...
  • 数学中的常见的距离公式

    万次阅读 2017-08-24 11:20:08
    1. 欧氏距离,最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中,如点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为: (1)二维平面上两点a(x1
  • 时间序列的距离度量DTW

    万次阅读 多人点赞 2018-04-18 16:13:11
     这里我们定义一个累加距离 cumulative distances 。从 (0, 0) 点开始匹配这两个序列 Q 和 C ,每到一个点,之前所有的点计算的距离都会累加。到达终点 (n, m) 后,这个累积距离就是我们上面说的最后的总的距离,也...
  • #include <stdio.h> #include <math.h> double dist(double x1,double y1,double x2,double y2) { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } int main() { double x1,y1,x2,y2;... printf("%.2f
  • 几种常用的距离计算方式整合

    千次阅读 2019-04-24 21:36:54
    在我们的机器学习和数据挖掘过程中(如最近学习的聚类,以及knn算法),经常会用到一些距离算法,如欧式距离,曼哈顿距离等等,那么这些距离是怎么计算的呢,我们来了解一下: 欧式距离(Euclidean Distance) 欧式...
  • 计算经纬度点之间的距离

    千次阅读 2019-10-23 19:32:34
    球面上任意两点之间的距离计算公式可以参考维基百科上的下述文章。 Great-circle distance Haversine formula 值得一提的是,维基百科推荐使用Haversine公式,理由是Great-circle distance公式用到了大量余弦...
  • 几种常见的距离计算公式

    万次阅读 2019-10-20 10:41:59
    我们常用的距离计算公式是欧几里得距离公式,但是有时候这种计算方式会存在一些缺陷,那么就需要另外的计算方法去加以补充,本文将介绍几种在机器学习中常用的计算距离。 在做很多研究问题时常常需要估算不同样本...
  • 日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow ...欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 举例: X=[[1,1],[2,2],[3,3...
  • 马氏距离 欧式距离 曼哈顿距离
  • 几种距离度量方法比较

    千次阅读 2019-02-04 13:20:43
    欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离: 三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的...
  • 使用Matlab计算各种距离Distance

    万次阅读 2018-11-02 20:29:28
    转自:... 一种是给定一个特征集合X,然后计算Pairwise距离矩阵,那么可使用D=pdist(X,distance)的方式;  另一种是给定两个对应的特征集合...
  • 【Python】欧氏距离和余弦距离

    万次阅读 多人点赞 2017-08-23 20:25:26
    一、欧几里得距离(Euclidean Distance)  欧氏距离是最常见的距离度量,衡量的是多维空间中各个点之间的绝对距离。公式如下:  因为计算是基于各维度特征的绝对数值,所以欧氏度量需要保证各维度指标在相同的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 286,774
精华内容 114,709
关键字:

各种方式定义距离