我们在考虑数据的时候,常常会讨论数据间的相似性和相异性。我们使用术语邻近度来表示相似性和相异性。
【相异度】
我们定义两个对象之间的相异度是这两个对象差异程度的数值度量,我们通常所说的相异度其实就是距离。距离越小,相异度越低,则对象越相似。
【度量】
距离具有一些众所周知的性质(假设
D(x,y)
D
(
x
,
y
)
是点
x
x
和的距离)
1.非负性 对于所有
x
x
和,
D(x,y)≥0
D
(
x
,
y
)
≥
0
,当且仅当
x=y
x
=
y
时
D(x,y)=0
D
(
x
,
y
)
=
0
2.对称性 对于所有
x
x
和,
D(x,y)=D(y,x)
D
(
x
,
y
)
=
D
(
y
,
x
)
3.三角不等式 对于所有
x
x
、和
z
z
,
满足以上三条性质的测度,我们称之为度量。
【常用距离】
假设分别有两点 xi=(xi1,xi2,...,xim) x i = ( x i 1 , x i 2 , . . . , x i m ) , yj=(yj1,yj2,...,yjm) y j = ( y j 1 , y j 2 , . . . , y j m )
1. Minkowski M i n k o w s k i 距离,又称闵式距离
其定义为:
Dij=(|xi1−yj1|p+|xi2−yj2|p+...+|xim−yjm|p)1p
D
i
j
=
(
|
x
i
1
−
y
j
1
|
p
+
|
x
i
2
−
y
j
2
|
p
+
.
.
.
+
|
x
i
m
−
y
j
m
|
p
)
1
p
或者写成
Dij=(∑k=1m|xik−yjk|p)1p
D
i
j
=
(
∑
k
=
1
m
|
x
i
k
−
y
j
k
|
p
)
1
p
①当
p=1
p
=
1
时,即曼哈顿距离
Dij=|xi1−yj1|+|xi2−yj2|+...+|xim−yjm|
D
i
j
=
|
x
i
1
−
y
j
1
|
+
|
x
i
2
−
y
j
2
|
+
.
.
.
+
|
x
i
m
−
y
j
m
|
或者写成
Dij=∑k=1m|xik−yjk|
D
i
j
=
∑
k
=
1
m
|
x
i
k
−
y
j
k
|
②当
p=2
p
=
2
时,即欧几里得距离,又称欧氏距离
Dij=(|xi1−yj1|2+|xi2−yj2|2+...+|xim−yjm|2)12
D
i
j
=
(
|
x
i
1
−
y
j
1
|
2
+
|
x
i
2
−
y
j
2
|
2
+
.
.
.
+
|
x
i
m
−
y
j
m
|
2
)
1
2
或者写成
Dij=(∑k=1m|xik−yjk|2)12
D
i
j
=
(
∑
k
=
1
m
|
x
i
k
−
y
j
k
|
2
)
1
2
③当
p→∞
p
→
∞
时,即切比雪夫距离
Dij=max(|xi1−yj1|,|xi2−yj2|,...,|xim−yjm|)
D
i
j
=
max
(
|
x
i
1
−
y
j
1
|
,
|
x
i
2
−
y
j
2
|
,
.
.
.
,
|
x
i
m
−
y
j
m
|
)
或者写成
Dij=limp→∞(∑k=1m|xik−yjk|p)1p
D
i
j
=
lim
p
→
∞
(
∑
k
=
1
m
|
x
i
k
−
y
j
k
|
p
)
1
p
范数在定义上比距离多了一条数乘的运算法则,不过我们还是可以将范数当做距离来理解。
范数
Lp
L
p
对应着
Minkowski
M
i
n
k
o
w
s
k
i
距离,它表示为x向量各个元素绝对值p次方和的1/p次方,即
Lp=(∑k=1m|x(k)i−y(k)j|p)1p
L
p
=
(
∑
k
=
1
m
|
x
i
(
k
)
−
y
j
(
k
)
|
p
)
1
p
L1
L
1
范数对应着曼哈顿距离,
L2
L
2
范数对应着欧氏距离,
L∞
L
∞
范数对应着切比雪夫距离
2. Mahalanobis M a h a l a n o b i s 距离,又称马式距离
这个距离用于表示数据的协方差距离,它是一种有效的计算两个未知样本集的相似度的方法,与欧式距离不同的是它考虑到各种特性之间的联系,并且是尺度无关的(独立于测量尺度)
D(xi,xj)=(xi−xj)TS−1(xi−xj)−−−−−−−−−−−−−−−−−−√
D
(
x
i
,
x
j
)
=
(
x
i
−
x
j
)
T
S
−
1
(
x
i
−
x
j
)
协方差矩阵记为
S
S
,若为单位矩阵,则变为欧氏距离
3. Hamming H a m m i n g 距离,又称汉明距离
它是指两个等长字符串中对应位置的不同字符的个数。
如”010010111”和”011110111”的汉明距离为2;”batch”和”catch”的汉明距离为1。
【非度量的相异度】
有些相异度不满足一个或多个度量性质,如集合差、时间等。
集合差
若 A= A = { 1,2,3,4 1 , 2 , 3 , 4 }而 B= B = { 2,3,4 2 , 3 , 4 },定义集合 A A 和集合之间的距离为 A−B A − B 后集合元素的个数,那么这样的距离虽然符合性质1(距离测度大于等于0),但却不符合性质2和3。
时间
定义时间之间的距离测度为:
f(n)={t2−t1,24+(t2−t1),t1≤t2t1≥t2
f
(
n
)
=
{
t
2
−
t
1
,
t
1
≤
t
2
24
+
(
t
2
−
t
1
)
,
t
1
≥
t
2
那么
D(1PM,2PM)=1≠D(2PM,1PM)=23
D
(
1
P
M
,
2
P
M
)
=
1
≠
D
(
2
P
M
,
1
P
M
)
=
23
,不满足性质2。
【相似度】
对于相似度,性质3三角不等式往往不成立,但是性质1和2通常成立。相似度具有以下性质(假设
s(x,y)
s
(
x
,
y
)
是数据点
x
x
和之间的相似度):
1.仅当
x=y
x
=
y
时
s(x,y)=1
s
(
x
,
y
)
=
1
,
(0≤s≤1)
(
0
≤
s
≤
1
)
2.对于所有
x
x
和,
s(x,y)=s(y,x)
s
(
x
,
y
)
=
s
(
y
,
x
)
【二元数据的相似性度量】
两个仅包含二元属性的对象之间的相似性度量,设
x
x
和是两个对象,都由m个二元属性组成,这样的两个对象(即两个二元向量)的比较可生成如下四个量(频率):
f00=x
f
00
=
x
取0,
y
y
取0的属性的个数
取0,
y
y
取1的属性的个数
取1,
y
y
取0的属性的个数
取1,
y
y
取1的属性的个数
简单匹配系数(SMC)
Jaccard J a c c a r d 系数
J=匹配的个数不涉及0-0匹配的属性个数=f11f01+f10+f11 J = 匹配的个数 不涉及0-0匹配的属性个数 = f 11 f 01 + f 10 + f 11
【广义 Jaccard J a c c a r d 系数】
又称
Tanimoto
T
a
n
i
m
o
t
o
系数,用
EJ
E
J
表示,可以用于文档数据,并在二元属性情况下规约为
Jaccard
J
a
c
c
a
r
d
系数。
EJ(x,y)=x⋅y||x||2+||y||2−x⋅y
E
J
(
x
,
y
)
=
x
·
y
|
|
x
|
|
2
+
|
|
y
|
|
2
−
x
·
y
【余弦相似度】
文档相似性最常用的度量,若
x
x
和是两个文档向量
cos(x,y)=x⋅y||x||||y||=∑k=1mxkyk∑k=1mx2k√∑k=1my2k√
c
o
s
(
x
,
y
)
=
x
·
y
|
|
x
|
|
|
|
y
|
|
=
∑
k
=
1
m
x
k
y
k
∑
k
=
1
m
x
k
2
∑
k
=
1
m
y
k
2
【相关性】
两个具有二元变量或连续变量的数据对象之间的相关性是对象属性之间线性联系的度量。更准确地,两个数据对象
x
x
和之间的皮尔森相关系数定义如下:
corr(x,y)=covariance(x,y)standard−deviation(x)×standard−deviation(y)=SxySxSy
c
o
r
r
(
x
,
y
)
=
c
o
v
a
r
i
a
n
c
e
(
x
,
y
)
s
t
a
n
d
a
r
d
−
d
e
v
i
a
t
i
o
n
(
x
)
×
s
t
a
n
d
a
r
d
−
d
e
v
i
a
t
i
o
n
(
y
)
=
S
x
y
S
x
S
y
x
x
与之间的协方差:
covariance(x,y)=Sxy=1m−1∑k=1m(xk−x¯)(yk−y¯)
c
o
v
a
r
i
a
n
c
e
(
x
,
y
)
=
S
x
y
=
1
m
−
1
∑
k
=
1
m
(
x
k
−
x
¯
)
(
y
k
−
y
¯
)
x
x
的标准差:
x
x
的均值:
y
y
的标准差:
y
y
的均值:
参考文献《数据挖掘导论》