流形学习(二) Isomap 在 MATLAB 中的实现及实例

目录

Isomap(isometric feature mapping)

基本思想

step1 最近邻确定与权重矩阵

step2 确定点对之间的测地距离

step3 MDS Algorithm(Multiple Dimensional Scaling )

算法步骤

MATLAB程序实现

总的MATLAB程序



Isomap(isometric feature mapping)

在前一节我们介绍了 LLE 算法及在瑞士卷上的应用,详情见

https://blog.csdn.net/waitingwinter/article/details/105467074

这一节,我们介绍一下与 LLE 同时发表在science上的另一篇文章Isomap(isometric feature mapping), 论文地址为

J. B. Tenenbaum, V . de Silva, and J. C. Langford, “A global geometric framework for nonlinear dimensionality reduction,” Science, vol. 290, pp.2319–2323, 2000.

基本思想

给定数据集,通过最近邻等方式构造一个数据图(data graph)。然后,计算任意两个点之间的最
短路径(即测地距离)
。对于所有的任意两个点对,期望在低维空间中保持其测地距离。

step1 最近邻确定与权重矩阵

与 LLE 中的步骤相似, 仍然采用欧式距离来确定k个近邻,有所不同的是

x_i与k个近邻点之间的距离设定为欧氏距离,与非近邻点的距离设置为无穷大。

step2 确定点对之间的测地距离

    我们要求一个矩阵元素之间的测地距离,也就是最短距离。所谓的测地距离请看下图(https://blog.csdn.net/qq_30683589/article/details/80371438):

常见的求解最短路径、最短距离的方法有以下两种

  • 确定起点的最短路径问题- 即已知起始结点,求最短路径的问题。适合使用Dijkstra算法;
  • 全局最短路径问题- 求图中所有的最短路径。适合使用Floyd-Warshall算法。

因为我们要求所有点对之间的最短路径,故我们采用 Floyd 算法。具体想法细节参照博客

https://blog.csdn.net/u012366767/article/details/81562482

在求得最短距离后,我们便可以构造一个距离矩阵,此矩阵的每个元素

d_{ij}=d_{shortest}(x_i,x_j).

step3 MDS Algorithm(Multiple Dimensional Scaling )

MDS 为多维缩放算法,我们简要介绍其思想

我们已知m维空间中的n个样本之间的距离矩阵,但不清楚样本的坐标,我们试图获得这n个样本在d(<m)维中的表示,满足

                                                        降维后的样本仍保持两两之间的距离

假设我们原始样本为

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值