目录[-]
数据挖掘中经常需要度量样本的相似度或距离,来评价样本间的相似性。特征数据不同,度量方法也不相同。
欧式距离(Euclidean Distance)在数学上表示n维空间中两个点的直线距离。
曼哈顿距离(Manhattan Distance)又称城市街区距离,用于表明两个坐标点在标准坐标系中的绝对轴距总和,也就是在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。例如百度百科上的例子:
图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离。
马氏距离(Mahalanobis Distance)表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。
马氏距离有很多优点,马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。
汉明距离(Hamming Distance)在信息论中表示两个等长字符串之间对应位置的不同字符串个数。换而言之,就是将一个字符串变换成另一个等长字符串所需要的 替换 次数。
汉明重量:是字符串相对于同样长度的零字符串的汉明距离,也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是1
的个数,所以11101
的汉明重量是4。因此,如果向量空间中的元素a
和b
之间的汉明距离等于它们汉明重量的差a-b
。
编辑距离,又称Levenshtein距离(也叫做Edit Distance
),是汉明距离的一般化,指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括替换、插入、删除。