降维——多维缩放MDS

转载自 http://blog.csdn.net/victoriaw/article/details/78500894

多维缩放(Multidimensional Scaling, MDS)是一组对象之间的距离的可视化表示,也可以当做一种无监督降维算法使用。

为了直观了解MDS,给一个简单例子。假设现在给定一组城市之间的距离信息如下: 

现在要求绘制一幅地图,在地图中标出所有城市,并且城市之间的距离等于上表中给出的距离。显然,这种图不是唯一的,因为平移、旋转操作并不改变距离。其中一种绘制方法如下图:

MDS应用在数据降维时,基本思想和上面的例子相同:保证所有数据点对在低维空间中的距离等于在高维空间中的距离

假设给定N个实例,可以计算出原始空间中的距离矩阵 DRN×N ,其中第 i 行第 j 列的元素 dij 表示第 i 个实例和第 j 个实例之间的距离。现在希望把数据降维到 d 维空间中去,得到所有样本点在 d 中的表示 ZRN×d ,其中 zTi,:Rd 表示第 i 个实例,并且任意两个实例在 d 维空间中的距离等于原始空间中的距离。事实上,可以推导出满足此条件 Z 的解析解。

由保持距离原则可知

d2ij=||zizj||2=||zi||2+||zj||22zTizj.(1)

不失一般性,我们假设低维空间中的实例点是中心化的,即

i=1Nzi=0,
那么对公式(1)的左右两边求和,有 
i=1Nd2ij=i=1N||zi||2+N||zj||2,(2)

j=1Nd2ij=N||zi||2+j=1N||zj||2,(3)

i=1Nj=1Nd2ij=2Ni=1N||zi||2,(4)

由(2)(3)(4)可知:

1Ni=1Nd2ij=1Ni=1N||zi||2+||zj||2,(5)

1Nj=1Nd2ij=||zi||2+1Nj=1N||zj||2,(6)

1N2i=1Nj=1Nd2ij=21Ni=1N||zi||2,(7)

定义内积矩阵 B=ZZTRN×N ,即 bij=zTizj 。则 

bij=12(1N2i=1Nj=1Nd2ij1Ni=1Nd2ij1Nj=1Nd2ij+d2ij).(8)

对矩阵 B 做特征分解,得到 

B=VΛVT,(9)

其中, Λ 是由B的特征值生成的对角矩阵, V 是特征向量作为列的矩阵。

我们希望降到 d 维空间中,那么选择前 d 个最大特征值及对应的特征向量,得到 Λd Vd ,则降维后的特征表示为 

Z=VdΛ12d.(10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值