多维缩放算法(MDS)

算法思想

MDS算法思想很简单,一句话就是保持样本在原空间和低维空间的距离不变。

因为距离是样本之间一个很好的分离属性,对于大多数聚类算法来说,距离是将样本分类的重要属性,因此当我们降维后,保持距离不变,那么就相当于保持了样本的相对空间关系不变。

MDS算法

假设mm个样本在原始空间中的距离矩阵为DRmmdistijdistijxixixjxj之间的距离,我们的目标就是获得样本在dd′维空间中的表示ZRdm,ddZ∈Rd′∗m,d′≤d||zizj||2=distij||zi−zj||2=distij,即两个空间中,样本间距离保持不变。

B=ZZTB=ZZT为降维后的内积矩阵, 则Bij=zizTjBij=zizjT

dist2ij=||zizj||2=||zi||2+||zj||22zTizj=bii+bjj2bijdistij2=||zi−zj||2=||zi||2+||zj||2−2ziTzj=bii+bjj−2bij

当我们对ZZ做过中心化,即i=1mzi=0,则有矩阵B的行和列的和均为0,即:

mi=1bij=mj=1bij=0∑i=1mbij=∑j=1mbij=0

因此有:

mi=1dist2ij=mi=1||zizj||2=mi=1bii+mi=1bjj2mi=1bij=tr(B)+mbjj0∑i=1mdistij2=∑i=1m||zi−zj||2=∑i=1mbii+∑i=1mbjj−2∑i=1mbij=tr(B)+mbjj−0

mj=1dist2ij=tr(B)+mbii∑j=1mdistij2=tr(B)+mbii

所以:

mi=1mj=1dist2ij=mi=1tr(B)+mmi=1bii=2mtr(B)∑i=1m∑j=1mdistij2=∑i=1mtr(B)+m∑i=1mbii=2mtr(B)

令:

dist2i=1mmj=1dist2ijdisti⋅2=1m∑j=1mdistij2

dist2j=1mmi=1dist2ijdist⋅j2=1m∑i=1mdistij2

dist2=1m2mi=1mj=1dist2ijdist⋅⋅2=1m2∑i=1m∑j=1mdistij2

有:

bii=1m(mj=1dist2ijtr(B))bii=1m(∑j=1mdistij2−tr(B))

bjj=1m(mi=1dist2ijtr(B))bjj=1m(∑i=1mdistij2−tr(B))

所以有:

bij=12(bii+bjjdist2ij)=12(dist2ijbiibjj)=12(dist2ijdist2idist2j+2mtr(B))bij=12(bii+bjj−distij2)=−12(distij2−bii−bjj)=−12(distij2−disti⋅2−dist⋅j2+2mtr(B))

而:

tr(B)=12mmi=1mj=1dist2ijtr(B)=12m∑i=1m∑j=1mdistij2

所以有:

bij=12(dist2ijdist2idist2j+dist2)bij=−12(distij2−disti⋅2−dist⋅j2+dist⋅⋅2)

因此我们可以通过矩阵DD求得矩阵B,而B=ZZTB=ZZT,对BB做特征分解,有:

B=PΛPT

可以得到:

Z=Λ12PTZ=Λ12PT

矩阵ZZ就是样本在低维空间的映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值