Matlab 多维标度,详解多维标度法(MDS,Multidimensional scaling)

多维标度法(MDS)是流形学习中的一种经典方法,用于在低维空间中展示高维数据的结构。通过保持原始数据的距离关系,MDS将对象映射到二维或三维空间。本文以美国城市间飞行距离为例,介绍了如何使用R和MATLAB进行MDS计算,并展示了结果与实际地图的对比。
摘要由CSDN通过智能技术生成

流形学习(Manifold Learning)是机器学习中一大类算法的统称,而MDS就是其中非常经典的一种方法。多维标度法(Multidimensional Scaling)是一种在低维空间展示“距离”数据结构的多元数据分析技术,简称MDS。

多维标度法解决的问题是:当n个对象(object)中各对对象之间的相似性(或距离)给定时,确定这些对象在低维空间中的表示,并使其尽可能与原先的相似性(或距离)“大体匹配”,使得由降维所引起的任何变形达到最小。多维空间中排列的每一个点代表一个对象,因此点间的距离与对象间的相似性高度相关。也就是说,两个相似的对象由多维空间中两个距离相近的点表示,而两个不相似的对象则由多维空间两个距离较远的点表示。多维空间通常为二维或三维的欧氏空间,但也可以是非欧氏三维以上空间。

多维标度法内容丰富、方法较多。按相似性(距离)数据测量尺度的不同MDS可分为:度量MDS和非度量MDS。当利用原始相似性(距离)的实际数值为间隔尺度和比率尺度时称为度量MDS(metric MDS),本文将以最常用的Classic MDS为例来演示MDS的技术与应用。

首先我们提出这样一个问题,下表是美国十个城市之间的飞行距离,我们如何在平面坐标上据此标出这10城市之间的相对位置,使之尽可能接近表中的距离数据呢?

163217702_1_20190609040826347

首先我们在R中把csv格式存储的数据文件读入,如下所示:> data.csv = read.csv("/Users/fzuo/Desktop/data.csv", header = T, row.names = 1)

> data.csv

ATL ORD DEN HOU LAX MIA JFK SFO SEA IAD

ATL 0 587 1212 701 1936 604 748 2139 2182 543

ORD 587 0 920 940 1745 1188 713 1858 1737 597

DEN 1212 920 0 879 831 1726 1631 949 1021 1494

HOU 701 940 879 0 1374 968 1420 1645 1891 1220

LAX 1936 1745 831 1374 0 2339 2451 347 959 2300

MIA 604 1188 1726 968 2339 0 1092 2594 2734 923

JFK 748 713 1631 1420 2451 1092 0 2571 2408 205

SFO 2139 1858 949 1645 347 2594 2571 0 678 2442

SEA 2182 1737 1021 1891 959 2734 2408 678 0 2329

IAD 543 597

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值