机器学习中的相似性度量 在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。 本文目录: 1. 欧 氏 距离 2. 曼 哈 顿距离 3. 切 比 雪 夫 距离 4. 闵可 夫 斯 基 距离 5. 标准 化 欧 氏 距离 6. 马氏 距离 7. 夹角 余 弦 8. 汉明 距离 9. 杰 卡 德 距离&杰 卡 德 相似系 数 10. 相关系 数 &相关距离 11. 信 息 熵 12 hausdorff 距离 13 Bhattacharyya 距离 1. 欧 氏 距离(Euclidean Distance) 欧 氏 距离是最 易 于 理 解 的一种距离计算方 法 ,源 自 欧 氏 空 间中 两 点 间的距离公 式 。 (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. 曼 哈 顿距离(Manhattan Distance) 从 名 字 就 可以猜 出 这种距离的计算方 法 了 。想 象 你 在 曼 哈 顿要从 一个十 字 路口 开车到 另 外 一个十 字 路 口 ,驾驶距离是两点 间的直 线距离吗? 显然不 是,除 非 你能 穿 越 大 楼 。实际驾驶距离就 是这个“曼 哈 顿距离”。而 这也是曼 哈 顿距离名 称 的来源 ,曼 哈 顿距离也称 为城 市 街 区 距离(City Block 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, ...