MDS- Multidimensional Scaling 多维尺度法 分析
来源:互联网 发布:c语言容器 编辑:程序博客网 时间:2024/06/05 08:33
本博客转载自@songrotek原创博客,原文地址:http://blog.csdn.net/songrotek/article/details/42235097
在模式识别中,我们会考虑到距离distance的问题,就是一个样本和另一个样本在空间中的距离。根据距离的大小来判断分类。那么,也存在这样的一类问题:我们只知道空间中的点(样本)的距离,那么怎么来重构这些点的相对位置呢?
显然欧式距离是最直观的距离,那么我们就会想使用欧式距离来进行计算重构,我们还希望能够在不同维度上进行重构,比如2维或者3维。
怎么做?
有这么个解决方法叫做MDS 全称为 Multidimensional Scaling。
下面Step By Step介绍MDS如何来求解这个问题。
Step 1:问题重述
我们有这么一个距离矩阵,我们通过这个矩阵计算出点的相对位置矩阵X,使得通过X反过来计算距离矩阵与原距离矩阵D差距最小。所以这是一个最优化问题。
大家可以看wikipedia上的问题描述,这里直接截图好了:
Step 2:通过矩阵的方法求解
大家也看到wiki最后说的solution用eigendecompositions 就是特征值分解。
这里就详细说明一下是怎么做的。
转4张MDS的ppt(来源于自己上课老师的ppt):
解释一下其实很简单:
1)构造了一个矩阵T,然后发现T这个矩阵可以完全由D计算出来
2)T这个矩阵可以做分解啊,那么里面特征值如果大于等于0,就可以开根号。
看这个公式:
U是特征向量,中间那个是特征值的矩阵。
这样的话X就能由选取的几个特征值和特征向量重构出来(这同时也是一种降维的方式)
Step 3:具体Matlab实现
直接转了上课给的例子,例子是知道英国几个城市的相对距离,重构出其相对位置。
Matlab代码:
Matlab得到的效果:
OK,MDS就这样吧!
- MDS- Multidimensional Scaling 多维尺度法 分析
- MDS(multidimensional scaling)多维尺度分析
- MDS(multidimensional scaling)多维尺度分析
- MDS(multidimensional scaling)多维尺度分析
- MDS(multidimensional scaling)多维尺度分析
- 多维尺度分析(MDS-Multidimensional Scaling)
- 多维尺度变换(multidimensional scaling, MDS)
- 模式识别之 MDS Multidimensional Scaling 多维尺度法 分析及Matlab实现
- 用java写MDS多维标度分析(multidimensional scaling )
- 多维尺度分析 MDS
- MDS多维尺度分析
- 统计学习之---多尺度变换 MDS (Multidimensional Scaling)
- Multidimensional Scaling (MDS)
- MDS(Multidimensional Scaling)
- Multidimensional Scaling (MDS)
- Multidimensional scaling(MDS)简介
- MDS(multidimensional scaling) Map
- 降维-多维尺度法(MDS)
- Python设计模式-适配器模式
- ios33款实用库
- 有一种忙,叫做很有希望
- laravel php -S 自定义域名 -t 目录 ,报错 PHP Fatal error: Unknown: Failed opening required 'public/' (include
- ural 1005. Stone Pile dp
- MDS- Multidimensional Scaling 多维尺度法 分析
- TensorFlow API 树 (Python)
- Java GUI编程
- Ubuntu 14.04远程桌面Intellij无法启动原因分析
- IMAP和POP3有什么区别?
- day13 StringBuffer、包装类
- Android学习笔记
- [Zookeeper学习] 搭建Eclipse源码工程
- DebugHook 与 ReportMemoryLeaksOnShutdown