相似度和相异度简介
相似度(Similarity):
- 两个数据对象相似程度的数值度量;
- 对象越相似,值越高;
- 通常在[0, 1]区间取值。
有时候相似度的取值范围可能在[-1, 1]之间,这时正负号包含了一定信息,这种情况下可以保留其符号,而非强行转换到[0, 1]之间。
相异度(Dissimilarity):
- 两个对象不同(相异)程度的数值度量;
- 对象越相似,值越低;
- 通常,最小相异度为0;
- 上界不确定。
对象越类似,他们的相异度就越低。距离常常用来表示特定类型的相异度。
相异度可以在[0, 1]中取值,但也常常在 [ 0 , ∞ ] [0, \infty] [0,∞]中取值。而将相异度的值映射到[0, 1]时往往会损失一些信息,甚至尺度会发生一些变化,这个过程往往需要结合算法以及具体场景来斟酌判断。
邻近度(Proximity):相似度和相异度的统称。
相似度和相异度之间是可以相互转换的。可以用d=1-s来从相似度数据中得到相异度,这时相异度越接近1,代表数据间距离越远;相异度越接近0,代表数据间距离越近。还可以直接对相似度取负,一般来说,单调减函数都可以用来完成相似度和相异度间的转换。
数据对象之间的相异度
距离常常用于度量数据对象的相异度。下面介绍一些常用的距离公式。
欧几里得距离 ( Euclidean distance) d如下公式定义:
d ( x , y ) = ∑ k = 1 n ( x k − y k ) 2 d(x, y)=\sqrt{\sum_{k=1}^{n}(x_k-y_k)^2} d(x,y)=k=1∑n(xk−yk)2
其中n是维度,而 x k {x_k} xk 和 y k {y_k} yk分别是x和y的第k个属性(分量):
闵可夫斯基距离 ( Minkowski distance ):
d ( x , y ) = ( ∑ k = 1 n ∣ x k − y k ∣ r ) 1 / r d(x, y)=(\sum_{k=1}^{n}{|x_k-y_k|}^r)^{1/r} d(x,y)=(k=1∑n∣xk−yk∣r)1/r
Minkowski距离是欧氏距离的推广,其中r是参数:
- r=1时成为街区距离(或曼哈顿距离, L 1 L_1 L1范数);
- r=2时为Euclidean距离(或 L 2 L_2 L2范数);
- r → ∞ \to\infty →∞时成为切比雪夫距离(或 L m a x L_{max} Lmax范数, L ∞ L_{\infty} L∞ 范数):
d ( x , y ) = lim r → ∞ ( ∑ k = 1 n ∣ x k − y k ∣ r ) 1 / r = max k ( ∣ x k − y k ∣ ) d(x, y)=\lim_{r\to\infty}(\sum_{k=1}^n{|x_k-y_k|}^r)^{1/r}=\max_k(|x_k-y_k|) d(x,y)=r→∞lim(k=1∑n∣xk−yk∣r)1/r=kmax(∣xk−yk∣)
Mahalanobis距离(马氏距离) 可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。**某些属性之间相关就使用Mahalanobis距离。**计算Mahalanobis距离的代价较大,但对于属性相关的对象来说是值得的,如果属性相对来说不相关,只是具有不同的值域,则只需要对变量进行标准化就足够了。
Mahalanobis距离公式定义如下:
m a h a l a n o b i s ( x , y ) = ( x − y ) T Σ − 1 ( x − y ) mahalanobis(x, y)=(x-y)^{T}\Sigma^{-1}{(x-y)} mahalanobis(x,y)=(x−y)TΣ−1(x−y)
- 其中, Σ − 1 \Sigma^{-1} Σ−1是数据协方差矩阵的逆;
- 协方差矩阵 Σ \Sigma Σ是这样的矩阵,它的第i行第j列元素是第i个和第j个属性的协方差。
距离具有一些常见性质。如果 d ( x , y ) d(x, y) d(x,y)是两个点x和y之间的距离,则如下性质成立:
- 非负性
- 对于所有x和y, d ( x , y ) ≥ 0 d(x, y)\geq{0} d(x,y)≥0;
- 仅当x=y时, d ( x , y ) = 0 d(x, y)=0 d(x,y)=0;
- 对称性
- 对于所有x和y, d ( x , y ) = d ( y , x ) d(x, y)=d(y, x) d(x,y)=d(y,x);
- 三角不等式
- 对于是所有x,y和z, d ( x , z ) ≤ d ( x , y ) + d ( y , z ) d(x, z)\leq{d(x, y)+d(y, z)} d(x,z)≤d(x,y)+d(y,z)
满足以上三个性质的测度成为度量 ( metric )。
非度量的相异度:集合差 基于集合论中定义的两个集合差的概念举例。设有两个集合A和B,A-B是不在B中的 A 中元素的集合。例如,如果 A={1, 2, 3, 4}, 而 B={2, 3, 4},则A-B={1},而 B −