大家一般想到降维,就自然想到一种方法PCA,其实还有一种方法MDS(multidimensional scaling),可以获得样本间的相似性的空间表达。
先说说这两种方法的相似处,PCA是把观察的数据用较少的维数来表达,这点上两种方法的相似的;两种方法的不太之处在于,MDS利用的是成对样本间相似性,目的是利用这个信息去构建合适的低维空间,是的样本在此空间的距离和在高维空间中的样本间的相似性尽可能的保持一致。
根据样本是否可计量,又分为计量多元尺度法(Metric MDS)和非计量多元尺度法(Nonmetric MDS)。古典MDS,又称为Torgerson Scaling or Torgerson–Gower scaling,不得不先介绍一下最早提出这个思想的大牛,他的文章Torgerson, W.S. (1958). Theory & Methods of Scaling. New York: Wiley。对于Metric MDS,这个方法以样本间相似度作为实际输入,需要样本是等距(interval)比例(ratio)尺度,优点是精确,可以根据多个准则评估样本间差异,缺点是计算成本高,耗时。对于很多应用问题,样本不费可计量,需要使用NonMetric MDS,这种方法接受样本的顺序尺度作为输入,并以此自动计算相似值。样本尺度要求是顺序的(ordinal),较简便,直观,从非计量的样本导出计量的分析结果,应用范围更广,但没法知道评估准则,效果较差。
MDS方法有5个关键的要素,分别为主体、客体、准则、准则权重、主体权重。具体定义为:
1)客体:被评估的对象。可以认为是待分类的几种类别,数量M。
2)主体:评估客体的单位。就是训练数据。N个
3)准则:根据研究目的自行定义,用以评估客体优劣的标准。K个
4)准则权重:主体衡量准则重要性后,对每个准则分别赋予权重值。P个
5)主体权重:研究者权衡准则重要性后,对主体赋予权重值。N个
对于要分析的数据包括I个物体,定义一个距离函数的集合,其中δi,j是第i个和第j个对象之间的距离。于是有
MDS算法的目的就是根据这个Δ,寻找I个向量,使
,对于i,j属于I。这里这个||.||是向量的范数,在经典的MDS,该规范是欧氏距离,但广义的讲,这个规范可以是任意函数。
也就是说,MDS试图找到一个子空间Rn,I个物体嵌入在这个子空间中,而彼此的相似度被尽可能的保留。如果这个子空间的维数N选择为2或者3,可以画出向量xj获得一个I个物体相似性的一个可视化的结果。注意向量xj不是唯一的:对于欧式距离,可以被任意旋转和变换,因为这些变换不会改变样本间的距离。
有很多途径可以得到向量xj。通常MDS可以被看做是一个优化问题,寻找(x1,...xI)被看成是最小化目标函数,例如
可以利用一些数值优化的方法得到这个最优解。
对于MDS,一个最重要的应用就是Perceptual Mapping(知觉图)。有机会再介绍知觉图吧,一次介绍的太多,怕大家看的烦躁
最后附带一个很简单很简单的示例,希望对您理解算法有些帮助http://download.csdn.net/detail/yang_xian521/4098930