距离度量
31
(1)杰卡德距离可用如下公式表示:
杰卡德距离用两个集合中不同元素占所有元素
的比例来衡量两个集合的区分度。
32
(2)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
12
曼哈顿距离的命名原因是从规划为方型建筑区
块的城市(如曼哈顿)间,最短的行车路径而 来(忽略曼哈顿的单向车道以及只存在于3、 14大道的斜向车道)。任何往东三区块、往北 六区块的的路径一定最少要走九区块,没有其 他捷径。
13
出租车几何学满足除了SAS全等定理之外的希伯特 定理,SAS全等指任两个三角型两个边与一个角相 等,则这两个三角型必全等。 在出租车几何学中,一个圆是由从圆心向各个固定 曼哈顿距离标示出来的点围成的区域。因此这种圆 其实就是旋转了45度的正方形。如果有一群圆,任 两圆皆相交,则整群圆必在某点相交;因此曼哈顿 距离会形成一个超凸度量空间(Injective metric space)。对一个半径为r 的圆来说,这个正方形的 圆每边长√2r。此'"圆"的半径r对切比雪夫距离 (L∞ 空间)的二维平面来说,也是一个对座标轴来说边 长为2r的正方形,因此二维切比雪夫距离可视为等 同于旋转且放大过的二维曼哈顿距离。然而这种介 于L1与L∞的相等关系并不能延伸到更高的维度。
18
(1)二维平面两点a(x1,y1)与b(x2,y2)间的切比
雪夫距离:
(2)两个n维向量a(x11,x12,…,x1n)与
b(x21,x22,…,x2n)间的切比雪夫距离:
19
(3)Matlab计算切比雪夫距离 例子:计算向量(0,0)、(1,0)、(0,2)两两间的切
比雪夫距离 X = [0 0 ; 1 0 ; 0 2] D = pdist(X, 'chebychev') 结果: D = 1 2 2
个M×N的矩阵,则pdist(X)将X矩阵M行的每一 行作为一个N维向量,然后计算这M个向量两两 间的距离。
5
例子:计算向量(0,0)、(1,0)、(0,2)两两间的欧
式距离 X = [0 0 ; 1 0 ; 0 2] D = pdist(X,'euclidean') 结果: D = 1.0000 2.0000 2.2361
30
(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
而其中向量Xi与Xj之间的马氏距离定义为:
27
若协方差矩阵是单位矩阵(各个样本向量之间
独立同分布),则公式就成了:
也就是欧氏距离了。
若协方差矩阵是对角矩阵,公式变成了标准化
欧氏距离。 (2)马氏距离的优缺点: 量纲无关,排除变量之间的相关性的干扰。
28
(3)
Matlab计算(1 2),( 1 3),( 2 2),( 3 1)两 两之间的马氏距离 X = [1 2; 1 3; 2 2; 3 1] Y = pdist(X,'mahalanobis')
3
欧氏距离是最常见的距离度量,衡量的是多维
空间中各个点之间的绝对距离。公式如下:
(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧
氏距离:
4
(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的
欧氏距离:
(3)Matlab计算欧氏距离
Matlab计算距离主要使用pdist函数。若X是一
17
切比雪夫距离起源于国际象棋中国王的走法,
我们知道国际象棋国王每次只能往周围的8格中 走一步,那么如果要从棋盘中A格(x1, y1) 走到B格(x2, y2)最少需要走几步?最少步 数总是max( | x2-x1 | , | y2-y1 | ) 步。 扩展到多维空间,其实切比雪夫距离就是当p 趋向于无穷大时的明氏距离:
6
(1)标准欧氏距离的定义
标准化欧氏距离是针对简单欧氏距离的缺 点而作的一种改进方案。标准欧氏距离的思路: 既然数据各维分量的分布不一样,好吧!那我 先将各个分量都“标准化”到均值、方差相等 吧。均值和方差标准化到多少呢?这里先复习 点统计学知识吧,假设样本集X的均值(mean) 为m,标准差(standard deviation)为s,那么X 的“标准化变量”表示为: 而且标准化变量的数学期望为0,方差为1。 因此样本集的标准化过程(standardization)用 公式描述就是:
9
西洋棋(国际象棋)
10
西洋棋(国际象棋)规则
王:横、竖、斜都可以走,每次限走一格 后:横、竖、斜都可以走,格数不限,不能越
子 象:只能斜走,格数不限,不能越子 马:每步棋先横走或竖走一格,然后再斜走一 格,可以越子 车:横、竖都可以走,不能斜走,格数不限, 除王车易位的情况,平时不能越子 兵:只能向前直走,每次只能走一格。走第一 步时,可以走一格,也可以直进两格。
Sabrina.Y
欧几里得距离(Euclidean Distance) 标准化欧氏距离(Standardized Euclidean distance) 曼哈顿距离(Manhattan Distance) 切比雪夫距离(Chebyshev Distance) 明可夫斯基距离(Minkowski Distance) 马哈拉诺比斯距离(Mahalanobis Distance 汉明距离(Hamming Distance) 杰卡德距离(Jaccard Distance) 相关距离( Correlation Distance ) hausdorff距离 巴氏距离 Earth Mover’s distance KL距离(Kullback-Leibler) 2
氏距离可以表示一类的距离。 当p=1时,就是曼哈顿距离 当p=2时,就是欧氏距离 当p→∞时,就是切比雪夫距离
22
(2)明氏距离的缺点 明氏距离,包括曼哈顿距离、欧氏距离和切比
雪夫距离都存在明显的缺点。 举个例子:二维样本(身高,体重),其中身高范 围是150~190,体重范围是50~60,有三个样本: a(180,50),b(190,50),c(180,60)。那么a与b 之间的明氏距离(无论是曼哈顿距离、欧氏距 离或切比雪夫距离)等于a与c之间的明氏距离, 但是身高的10cm真的等价于体重的10kg么?因 此用明氏距离来衡量这些样本间的相似度很有 问题。
又称欧式距离,欧氏距离是最易于理解的一种距离 计算方法,源自欧氏空间中两点间的距离公式。 先设定我们要比较X个体和Y个体间的差异,它们都 包含了N个维的特征,即X=(x1, x2, x3, … xn),Y=(y1, y2, y3, … yn)。 因为计算是基于各维度特征的绝对数值,所以欧氏 度量需要保证各维度指标在相同的刻度级别,比如 对身高(cm)和体重(kg)两个单位不同的指标 使用欧式距离可能使结果失效。 对于距离度量,距点(x,y)的距离小于或等于某一 值r的像素是中心在(x,y)且半径为r的圆平面。
8
(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
14
在西洋棋里,车(城堡)是以曼哈顿距离来计
算棋盘 格上的距离;而王(国王)与后(皇后) 使用切比雪夫距离,象(主教)则是用转了45 度的曼哈顿距离来算(在同色的格子上),也 就是说它以斜线为行走路径。只有国王需要一 步一步走的方式移动,皇后、主教与城堡可以 在一或两次移动走到任何一格(在没有阻碍物 的情况下,且主教忽略它不能走到的另一类颜 色)。
20
又称明氏距离,或闵式距离 明氏距离是欧氏距离的推广,是对多个距离度
量公式的概括性的表述。 明氏距离不是一种距离,而是一组距离的定义。
21
(1)
明氏距离的定义 两个n维变量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的明可夫斯基距离定义为:
其中p是一个变参数。根据变参数的不同,闵
15
(1)二维平面两点a(x1,y1)与b(x2,y2)间的曼哈
顿距离
(2)两个n维向量a(x11,x12,…,x1n)与
b(x21,x22,…,x2n)间的曼哈顿距离
16
(3)
Matlab计算曼哈顿距离 例子:计算向量(0,0)、(1,0)、(0,2)两两间的曼 哈顿距离 X = [0 0 ; 1 0 ; 0 2] D = pdist(X, 'cityblock') 结果: D = 1 2 3
23
简单说来,明氏距离的缺点主要有两个: (1)将各个分量的量纲(scale),也就是“单位”
当作相同的看待了。 (2)没有考虑各个分量的分布(期望,方差等) 可能是不同的。