常用的相似性度量-各种距离总结
? ?????? 看不出两个公式是等价的?提示一下:试试用放缩法和夹逼法则来证明。 (3)Matlab计算切比雪夫距离 例子:计算向量(0,2)两两间的切比雪夫距离 X= [0 0 ; 1 0 ; 0 2] D= pdist(X,'chebychev') 结果: D= ???? 1????2???? 2 ? 4. 闵可夫斯基距离(MinkowskiDistance) 闵氏距离不是一种距离,而是一组距离的定义。 (1)闵氏距离的定义 ?????? 两个n维变量a(x11,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,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,x2n)间的标准化欧氏距离的公式: 如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离(WeightedEuclidean distance)。 (2)Matlab计算标准化欧氏距离 例子:计算向量(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的马氏距离表示为: (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |