欧式距离源自N维欧氏空间中两点 x 1 , x 2 x_1,x_2 x1,x2间的距离公式:
引入标准化欧式距离的原因是一个数据 x i x_i xi 的各个维度之间的尺度不一样。 【对于尺度无关的解释】如果向量中第一维元素的数量级是100,第二维的数量级是10,比如v1=(100,10),v2 = (500,40),则计算欧式距离 可见欧式距离会给与第一维度100权重,这会压制第二维度的影响力。对所有维度分别进行处理,使得各个维度的数据分别满足标准正态分布: u i u_i ui是该维度所有数据的均值, s i s_i si 是对应方差。 然后在对 x ′ x′ x′进行欧式距离:
马氏距离又称为数据的协方差距离,它是一种有效的计算两个未知样本集的相似度的方法。马氏距离的结果也是将数据投影到N(0,1)区间并求其欧式距离,与标准化欧氏距离不同的是它认为各个维度之间不是独立分布的,所以马氏距离考虑到各种特性之间的联系。 马氏距离可以通过协方差自动生成相应的权重,而使用逆则抵消掉这些权重。
最典型的就是根据距离作判别问题,即假设有n个总体,计算某个样品X归属于哪一类的问题。此时虽然样品X离某个总体的欧氏距离最近,但是未必归属它,比如该总体的方差很小,说明需要非常近才能归为该类。对于这种情况,马氏距离比欧氏距离更适合作判别。
严格来讲余弦距离不是距离,而只是相似性。其他距离直接测量两个高维空间上的点的距离,如果距离为0则两个点“相同”;余弦的结果为在[0,1]之中,如果为 1,只能确定两者完全相关、完全相似。
假设两用户同时对两件商品评分,向量分别为(3,3)和(5,5),这两位用户对两件商品的喜好其实是一样的,余弦距离此时为1,欧式距离给出的解显然没有余弦值直观。
相对于标准化后的欧式距离,余弦距离少了将数据投影到一个均值为0的区间里这一步骤。对于点X和点Y,其余弦距离: 余弦距离在给文本分类的词袋模型中使用,例如给一篇文章一共出现过6000个词,则用一个6000维度的向量X表示这篇文章,每个维度代表各个字出现的数目;另外一篇文章也恰好只出现过这6000字,用向量Y表示该文章,则这两篇文章相似度可以用余弦距离来测量。
优点:余弦距离根据向量方向来判断向量相似度,与向量各个维度的相对大小有关,不受各个维度直接数值影响。 某种程度上,归一化后的欧氏距离和余弦相似性表征能力相同。
汉明距离是两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。比如: 1011101 与 1001001 为 2 2143896 与 2233796 是 3 可以把它看做将一个字符串变换成另外一个字符串所需要替换的字符个数。 此外,汉明重量是字符串相对于同样长度的零字符串的汉明距离,如: 11101 的汉明重量是 4。 所以两者间的汉明距离等于它们汉明重量的差a-b
曼哈顿距离的定义如下: p是I的维度。当I为图像坐标时,曼哈顿距离即是x,y坐标距离之和。