机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的原因,在周志华《机器学习》中用最近邻分类器给了一个解释——数据集需要满足密采样条件,以及高维计算下会有很多麻烦,甚至在尾数特别高的时候连计算内积都变的复杂,这种计算阻碍称为“维数灾难”。其他的原因还有过滤噪音等。
多维缩放(MIDS)
假设样本数m(
X∈Rd∗m
X∈Rd∗m),样本间的距离矩阵
D∈Rm∗m
D∈Rm∗m,其第i行第j列的元素为
distij
distij是
xi
xi到
xj
xj的距离。
这里降维的目标是得到样本在
d′≤d
d′≤d的
d′
d′维空间里的表示:
Z∈Rd′∗m
Z∈Rd′∗m且任意两个样本之间的欧氏距离不变。即(
||zi−zj||=distij
||zi−zj||=distij)
令内积矩阵
B=ZTZ∈Rm∗m
B=ZTZ∈Rm∗m,
bij=zTizj
bij=ziTzj有
dist2ij=||zi||2+||zj||2−2zTizj
distij2=||zi||2+||zj||2−2ziTzj
=bii+bjj−2bij
=bii+bjj−2bij
为便于计算,令Z被中心化,即质心在原点,则
∑mi=1zi=0
∑i=1mzi=0,则:
∑i=1mdist2ij=∑i=1mbii+mbjj−2∑i=1mbij
∑i=1mdistij2=∑i=1mbii+mbjj−2∑i=1mbij
=tr(B)+mbjj
=tr(B)+mbjj
∑j=1mdist2ij=tr(B)+mbii
∑j=1mdistij2=tr(B)+mbii
∑i=1m∑j=1mdist2ij=mtr(B)+m∑j=1mbjj=2m tr(B)
∑i=1m∑j=1mdistij2=mtr(B)+m∑j=1mbjj=2m tr(B)
令
我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。
dist2i.=1m∑i=1mdist2ij
disti.2=1m∑i=1mdistij2
dist2.j=1m∑j=1mdist2ij
dist.j2=1m∑j=1mdistij2
dist2..=1m2∑i=1m∑j=1mdist2ij
dist..2=1m2∑i=1m∑j=1mdistij2
则可以由上式得:
bij=−12(dist2ij−dist2i.−dist2.j+dist2..)
bij=−12(distij2−disti.2−dist.j2+dist..2)
由此就可以在保持样本距离矩阵不变并求出内积矩阵B。
接下来求矩阵Z:
可以把B特征值分解为
B=VΛVT,Λ=diag(λ1,λ2,...,λd)
B=VΛVT,Λ=diag(λ1,λ2,...,λd)(这是写到现在为止学了线代唯一还记得的:))
原文链接