机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的原因,在周志华《机器学习》中用最近邻分类器给了一个解释——数据集需要满足密采样条件,以及高维计算下会有很多麻烦,甚至在尾数特别高的时候连计算内积都变的复杂,这种计算阻碍称为“维数灾难”。其他的原因还有过滤噪音等。
多维缩放(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=2mtr(B) ∑i=1m∑j=1mdistij2=mtr(B)+m∑j=1mbjj=2mtr(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)(这是写到现在为止学了线代唯一还记得的:))
原文链接