多维尺度变换MDS(Multidimensional Scaling)

流形学习(Manifold Learning)是机器学习中一大类算法的统称,而MDS就是其中非常经典的一种方法。

多维尺度变换是一种在低维空间展示“距离”数据结构的多元数据分析技术,是一种将多维空间的研究对象简化到低维空间进行定位、分析和归类,同时又保留对象间原始关系的数据分析方法。多维尺度变换算法集中于保留高维空间中的“相似度”信息,而在一般的问题解决的过程中,这个“相似度”通常用欧式距离来定义。

通俗来讲,就是将多维数据映射到低维空间,同时保持各个样本之间的原有相对距离不变。

多维尺度变换的目标:当n 个对象中各对对象之间的相似性(或距离)给定时,确定这些对象在低维(欧式) 空间中的表示(称为感知图, Perceptual Mapping),
并使其尽可能与原先的相似性(或距离)“大体匹配”,使得由降维所引起的任何变形达到最小。

多维尺度变换可以应用到数据可视化,通过可视化找出异常点,反欺诈应用等。

计算步骤大致如下:

第一步:计算所有数据项两两间的实际距离(可参考皮尔逊算法或欧几里德算法)

第二步:将数据项随机放置在二维图上。

第三步:针对每两两构成的一对数据项,将它们的实际距离与当前在二维图上的距离进行比较,求出一个误差值

第四步:根据误差的情况,按照比例将每个数据项的所在位置移近或移远少许量。(每一个节点的移动,都是所有其它节点施加在该节点上的推或拉的结合效应。)

第五步:重复第三步、第四步(节点每移动一次,其当前距离与实际距离的差距就会减少一些)。这一过程会不断地重复多次,直到无法再通过移动节点来减少总体误差为止。

原文地址:https://www.cnblogs.com/gczr/p/9426711.html

时间: 2024-08-21 05:45:36

多维尺度变换MDS(Multidimensional Scaling)的相关文章

多维尺度分析(Multidimensional scaling)与MATLAB实现

1. 几篇介绍很详细的博文 [1]http://blog.csdn.net/yang_xian521/article/details/7301121 模式识别之 MDS Multidimensional Scaling 多维尺度法 分析及Matlab实现 [2]http://blog.csdn.net/songrotek/article/details/42235097 MDS(multidimensional scaling)多维尺度分析 [3]http://blog.csdn.net/mag

模式识别之 MDS Multidimensional Scaling 多维尺度法 分析及Matlab实现

在模式识别中,我们会考虑到距离distance的问题,就是一个样本和另一个样本在空间中的距离.根据距离的大小来判断分类.那么,也存在这样的一类问题:我们只知道空间中的点(样本)的距离,那么怎么来重构这些点的相对位置呢? 显然欧式距离是最直观的距离,那么我们就会想使用欧式距离来进行计算重构,我们还希望能够在不同维度上进行重构,比如2维或者3维. 怎么做? 有这么个解决方法叫做MDS 全称为 Multidimensional Scaling. 下面Step By Step介绍MDS如何来求解这个问题

多维尺度分析

我们知道对应分析是一种图示分析技术,通过对应分析图能够简单直观的将变量间的关系加以呈现,多维尺度分析和对应分析类似,也是将变量间的关系通过图形进行展现,关于二者的区别后面会做论述. 一.多维尺度分析简介多维尺度分析Multidimensional Scaling,简称MDS,是一种探索性数据分析技术,主要是用适当的降维方法,将多个变量通过坐标定位在低维空间中(二维或三维),变量之间的欧氏距离就可以反映它们之间的差异性和相似性. 多维尺度分析根据数据集特征分为:1.不考虑个体差异MDS模型2.考虑

SPSS数据分析—多维尺度分析

在市场研究中,有一种分析是研究消费者态度或偏好,收集的数据是某些对象的评分数据,这些评分数据可以看做是对象间相似性或差异性的表现,也就是一种距离,距离近的差异性小,距离远的差异性大.而我们的分析目的也是想查看这些对象间的差异性或相似性情况,此时由于数据的组成形式不一样,因此不能使用对应分析,而需要使用一种专门分析此问题的方法——多维尺度分析(MDS模型).多维尺度分析和对应分析类似,也是通过可视化的图形阐述结果,并且也是一种描述性.探索性数据分析方法. 基于以上,我们可以得知,多维尺度分析经常使

SPSS数据分析—基于最优尺度变换的典型相关分析

传统的典型相关分析只能考虑变量之间的线性相关情况,且必须为连续变量,而我们依然可以使用最优尺度变换来拓展其应用范围,使其可以分析非线性相关.数据为分类数据等情况,并且不再仅限于两个变量间的分析, 虽然具体算法非常复杂,但是过程却只要两步,首先对变量进行最优尺度变换,然后对其进行典型相关分析. 我们还是以之前的多重对应分析的案例数据进行分析 过程还是在分析—降维—最佳尺度

二维DCT变换

https://wuyuans.com/2012/11/dct2/ 写这篇文章的目的主要是为了给x264打好基础,x264用的是整数DCT变换,所以就先来说说DCT变换吧.DCT(Discrete Cosine Transform),又叫离散余弦变换,它的第二种类型,经常用于信号和图像数据的压缩.经过DCT变换后的数据能量非常集中,一般只有左上角的数值是非零的,也就是能量都集中在离散余弦变换后的直流和低频部分,下面我会用matlab来演示整个过程. 1.一维DCT变换 我们首先来看看一维的DCT

二维图形变换

5.1二维图形变化 一.向量 是具有长度和方向的实体 二.特殊的线性组合 (1)仿射组合 (2)凸组合(对仿射组合加以更多的限制) 三.向量的点积和叉积 (1)点积 两个向量夹角的余弦值等于两个单位向量的点积 (2)叉积 两个向量的叉积是另一个三维向量,且与两个向量均正交 利用叉积求平面的法向量,三点可确定一个平面 5.2 图形坐标系 1.世界坐标系 是一个公共坐标系,是现实中物体或场景的统一参考系 2.建模坐标系 又称局部坐标系,每个物体有自己的局部中心和坐标系 3.观察坐标系 从观察者的角度

Bitmap尺度变换

1 Bitmap bitMap = BitmapFactory.decodeFile(path); 2 int width = bitMap.getWidth(); 3 int height = bitMap.getHeight(); 4 // 设置想要的大小 5 int newWidth = 500; 6 int newHeight = 400; 7 // 计算缩放比例 8 float scaleWidth = ((float) newWidth) / width; 9 float scale

机器学习算法集锦

机器学习 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能. 严格的定义:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问.这里所说的"机器",指的就是计算机,电子计算机,中子计算机.光子计算机或神经计算机等等. 机器学习概论 由上图所示:机器学习分为四大块: classifi