算法思想
MDS算法思想很简单,一句话就是保持样本在原空间和低维空间的距离不变。
因为距离是样本之间一个很好的分离属性,对于大多数聚类算法来说,距离是将样本分类的重要属性,因此当我们降维后,保持距离不变,那么就相当于保持了样本的相对空间关系不变。
MDS算法
假设
m
m
个样本在原始空间中的距离矩阵为D∈Rm∗m,
distij
d
i
s
t
i
j
为
xi
x
i
和
xj
x
j
之间的距离,我们的目标就是获得样本在
d′
d
′
维空间中的表示
Z∈Rd′∗m,d′≤d
Z
∈
R
d
′
∗
m
,
d
′
≤
d
且
||zi−zj||2=distij
|
|
z
i
−
z
j
|
|
2
=
d
i
s
t
i
j
,即两个空间中,样本间距离保持不变。
令
B=ZZT
B
=
Z
Z
T
为降维后的内积矩阵, 则
Bij=zizTj
B
i
j
=
z
i
z
j
T
dist2ij=||zi−zj||2=||zi||2+||zj||2−2zTizj=bii+bjj−2bij
d
i
s
t
i
j
2
=
|
|
z
i
−
z
j
|
|
2
=
|
|
z
i
|
|
2
+
|
|
z
j
|
|
2
−
2
z
i
T
z
j
=
b
i
i
+
b
j
j
−
2
b
i
j
当我们对
Z
Z
做过中心化,即∑mi=1zi=0,则有矩阵B的行和列的和均为0,即:
∑mi=1bij=∑mj=1bij=0
∑
i
=
1
m
b
i
j
=
∑
j
=
1
m
b
i
j
=
0
因此有:
∑mi=1dist2ij=∑mi=1||zi−zj||2=∑mi=1bii+∑mi=1bjj−2∑mi=1bij=tr(B)+mbjj−0
∑
i
=
1
m
d
i
s
t
i
j
2
=
∑
i
=
1
m
|
|
z
i
−
z
j
|
|
2
=
∑
i
=
1
m
b
i
i
+
∑
i
=
1
m
b
j
j
−
2
∑
i
=
1
m
b
i
j
=
t
r
(
B
)
+
m
b
j
j
−
0
∑mj=1dist2ij=tr(B)+mbii
∑
j
=
1
m
d
i
s
t
i
j
2
=
t
r
(
B
)
+
m
b
i
i
所以:
∑mi=1∑mj=1dist2ij=∑mi=1tr(B)+m∑mi=1bii=2mtr(B)
∑
i
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
=
∑
i
=
1
m
t
r
(
B
)
+
m
∑
i
=
1
m
b
i
i
=
2
m
t
r
(
B
)
令:
dist2i⋅=1m∑mj=1dist2ij
d
i
s
t
i
⋅
2
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
dist2⋅j=1m∑mi=1dist2ij
d
i
s
t
⋅
j
2
=
1
m
∑
i
=
1
m
d
i
s
t
i
j
2
dist2⋅⋅=1m2∑mi=1∑mj=1dist2ij
d
i
s
t
⋅
⋅
2
=
1
m
2
∑
i
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
有:
bii=1m(∑mj=1dist2ij−tr(B))
b
i
i
=
1
m
(
∑
j
=
1
m
d
i
s
t
i
j
2
−
t
r
(
B
)
)
bjj=1m(∑mi=1dist2ij−tr(B))
b
j
j
=
1
m
(
∑
i
=
1
m
d
i
s
t
i
j
2
−
t
r
(
B
)
)
所以有:
bij=12(bii+bjj−dist2ij)=−12(dist2ij−bii−bjj)=−12(dist2ij−dist2i⋅−dist2⋅j+2mtr(B))
b
i
j
=
1
2
(
b
i
i
+
b
j
j
−
d
i
s
t
i
j
2
)
=
−
1
2
(
d
i
s
t
i
j
2
−
b
i
i
−
b
j
j
)
=
−
1
2
(
d
i
s
t
i
j
2
−
d
i
s
t
i
⋅
2
−
d
i
s
t
⋅
j
2
+
2
m
t
r
(
B
)
)
而:
tr(B)=12m∑mi=1∑mj=1dist2ij
t
r
(
B
)
=
1
2
m
∑
i
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
所以有:
bij=−12(dist2ij−dist2i⋅−dist2⋅j+dist2⋅⋅)
b
i
j
=
−
1
2
(
d
i
s
t
i
j
2
−
d
i
s
t
i
⋅
2
−
d
i
s
t
⋅
j
2
+
d
i
s
t
⋅
⋅
2
)
因此我们可以通过矩阵
D
D
求得矩阵B,而
B=ZZT
B
=
Z
Z
T
,对
B
B
做特征分解,有:
B=PΛPT
可以得到:
Z=Λ12PT
Z
=
Λ
1
2
P
T
矩阵
Z
Z
<script type="math/tex" id="MathJax-Element-61">Z</script>就是样本在低维空间的映射
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)