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

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

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

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

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

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

由保持距离原则可知

 
d2ij=||zi−zj||2=||zi||2+||zj||2−2zTizj.(1)(1)dij2=||zi−zj||2=||zi||2+||zj||2−2ziTzj.

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

 
∑i=1Nzi=0,∑i=1Nzi=0,

那么对公式(1)的左右两边求和,有

 
∑i=1Nd2ij=∑i=1N||zi||2+N||zj||2,(2)(2)∑i=1Ndij2=∑i=1N||zi||2+N||zj||2,
 
∑j=1Nd2ij=N||zi||2+∑j=1N||zj||2,(3)(3)∑j=1Ndij2=N||zi||2+∑j=1N||zj||2,
 
∑i=1N∑j=1Nd2ij=2N∑i=1N||zi||2,(4)(4)∑i=1N∑j=1Ndij2=2N∑i=1N||zi||2,

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

 
1N∑i=1Nd2ij=1N∑i=1N||zi||2+||zj||2,(5)(5)1N∑i=1Ndij2=1N∑i=1N||zi||2+||zj||2,
 
1N∑j=1Nd2ij=||zi||2+1N∑j=1N||zj||2,(6)(6)1N∑j=1Ndij2=||zi||2+1N∑j=1N||zj||2,
 
1N2∑i=1N∑j=1Nd2ij=21N∑i=1N||zi||2,(7)(7)1N2∑i=1N∑j=1Ndij2=21N∑i=1N||zi||2,

定义内积矩阵B=ZZT∈RN×NB=ZZT∈RN×N,即bij=zTizjbij=ziTzj。则

 
bij=−12(1N2∑i=1N∑j=1Nd2ij−1N∑i=1Nd2ij−1N∑j=1Nd2ij+d2ij).(8)(8)bij=−12(1N2∑i=1N∑j=1Ndij2−1N∑i=1Ndij2−1N∑j=1Ndij2+dij2).

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

 
B=VΛVT,(9)(9)B=VΛVT,

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

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

 
Z=Vd′Λ12d′.(10)(10)Z=Vd′Λd′12.

参考

[1] Multidimensional Scaling: Definition, Overview, Examples
[2] 数据降维之多维缩放MDS(Multiple Dimensional Scaling)

---------------------

本文来自 CodeTutor 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/victoriaw/article/details/78500894?utm_source=copy

MDS的更多相关文章

  1. 为 MDS 修改 SharePoint 2013组件

    了解如何修改 SharePoint 项目中的组件以在 SharePoint 2013 中利用最少下载策略(MDS).   本文内容 为何修改 SharePoint 组件? 母版页 ASP.NET 页面 ...

  2. sharepoint2013的最少下载策略概述(MDS)

    该策略是 SharePoint 2013 中的一种新功能,通过在用户导航到新页面时仅发送差异内容来减少页面加载时间. 最少下载策略 (MDS) 是 SharePoint 2013 中的一种新技术,可减 ...

  3. OAF_MDS系列2_OAF页面的通过MDS多语言开发国际化(案例)

    2014-06-06 Created By BaoXinjian

  4. OAF_MDS系列1_OAF页面元数据结构MDS的解析(概念)

    2014-06-06 Created By BaoXinjian

  5. Machine Learning for hackers读书笔记(九)MDS:可视化地研究参议员相似性

    library('foreign') library('ggplot2') data.dir <- file.path('G:\\dataguru\\ML_for_Hackers\\ML_for ...

  6. 3.21 采购订单导入MDS

    3.21.1   业务方案描述 同一企业集团内部的不同法人之间,双方间内部往来业务频繁.受集团财务各自独立核算的要求,买方和卖方间采用买卖方式进行业务运作和财务结算. 对于买方,按照内部商定的协议价格 ...

  7. 1.9 需求订单导入MDS

    1.9          需求订单导入MDS 1.9.1   业务方案描述 将”需求订单维护表”中完成调整维护的需求订单导入系统标准MDS中,使之驱动对应的物料需求计划(MRP)的运行. 1.9.2  ...

  8. Ceph更多Mon 更多mds

    1.当前状态 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdWpfbW9zcXVpdG8=/font/5a6L5L2T/fontsize/400/fill ...

  9. MS MDS系列之初始MS Master Data Service(微软主数据服务)

    背景介绍: 主数据服务(Master Data Services)是微软平台支持的主数据管理(MDM)平台.类似MDS这样的系统,如果后续维护得当,会给企业提供一个强大的中心数据库系统,来防止企业数据 ...

  10. MS MDS系列之MDS层次结构(Hierarchy)

    在Master Data Services中,Hierarchy的作用主要用于: 对同属性成员进行分组 聚合成员用于分析和报告输出 写在开始:显示层次结构(Explicit Hierarchy)即将在 ...

随机推荐

  1. Python实战171203统计

    统计序列中元素出现的频次 如何统计出某一个随机数列的元素出现的次数是多少? import randomdata=[random.randint(0,7) for _ in range(15)]c=di ...

  2. 在CentOS上安装owncloud企业私有云过程

    ## ownclud是什么? ## >ownCloud 是一个开源免费专业的私有云存储项目,它能帮你快速在个人电脑或服务器上架设一套专属的私有云文件同步网盘,可以像 Dropbox 那样实现文件 ...

  3. C#知识拾遗

    参数验证方式 1.    一般方法 1.1 手动验证 最为普遍常见,略. 1.2 使用扩展方法验证 在C#3.0 中,引入了扩展方法,可以以一种更优雅的方式来进行参数验证,如: //参数辅助类 pub ...

  4. 什么是5G,看了这篇文章你就彻底懂了

    人类已经经历了六次信息技术革命为: 第一次:语言的使用 让信息可以分享 第二次:文字的创造 让信息可以记录 第三次:印刷术的发明 让信息可以传得更远 第四次:无线电的发明 让信息可以远距离实时传输 第 ...

  5. js或jquery实现点击某个按钮或元素显示div,点击页面其他任何地方隐藏div

    点击某个元素显示div,点击页面其他任何地方隐藏div,可用javascript和jquery两种方法实现: 一:javascript实现方法技巧<script>//定义stopPropa ...

  6. offsetLeft 解析

    前言:先看下w3c与之相关的介绍: element.offsetHeight 返回元素的高度. element.offsetWidth 返回元素的宽度. element.offsetLeft 返回元素 ...

  7. C盘突然报警,空间不足,显示成红色了

    1.清理系统垃圾文件 将如下命令保存到一个bat文件中,执行,删除垃圾文件 @echo off net share c$ /del net share d$ /del net share e$ /de ...

  8. 【Spring Cloud笔记】Eureka注册中心增加权限认证

    在Spring Cloud通过Eureka实现服务注册与发现时,默认提供web管理界面,但是如果在生产环境暴露出来,会存在安全问题.为了解决这个问题,我们可以通过添加权限认证进行控制,具体步骤如下: ...

  9. Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者

    JPA Audit 在spring jpa中,支持在字段或者方法上进行注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,从字面意思 ...

  10. 【spring源码分析】IOC容器初始化(一)

    前言:spring主要就是对bean进行管理,因此IOC容器的初始化过程非常重要,搞清楚其原理不管在实际生产或面试过程中都十分的有用.在[spring源码分析]准备工作中已经搭建好spring的环境, ...