一 概述
MDS的初衷是将图结构中的距离在空间的一种表示。例如,已知几个城市的距离,但是不知道城市的坐标,那么MDS就能通过距离矩阵转换成空间坐标向量来近似描述距离。更重要地是,MDS可以更广泛地应用于任意类型的数据实体相似度或距离描述在低维空间的表示。
多维尺度分析MDS的基本思想:用低维空间Rk (k<n)的n个点去重新标度高维空间Rn 的n个实体间的距离或者相似度。将高维空间的n个研究对象简化到低维空间处理,并且保留高维空间中n个对象较高的相似度。
MDS是主要分为两类:度量化多维尺度分析(经典MDS)和非度量化多维尺度分析。经典MDS适用于用距离度量相似度的应用;非度量化MDS适用于无法获得研究对象精确的相似度描述,仅能获得对象之间的等级关系。
MDS于PCA的比较:
相同点:都是数据降维后再进行分析
不同点:PCA选取主成分来降维;MDS通过让标度前后距离尽量相似来构造拟合点
本文详细讨论经典MDS。
二 经典MDS
1. CMDS实现步骤
经典多维尺度分析(CMDS)的思路是:给出n个结点的距离矩阵D,Dij表示节点i与j之间的距离。我们希望将n个节点映射为n个k维向量(平面表示的话k就是2),记作X1,X2,…,Xn,使得Dij≈||Xi-Xj||,即高维空间节点距离用于低维空间向量的距离近似表示。具体算法如下:
- 输入D
- D的所有元素取原值的平方,得距离平方矩阵 Δ \Delta Δ
- 构造单位矩阵E和n维全1矩阵U
- 计算点积矩阵S = -1/2·(E-U/n)· Δ \Delta Δ·(E-U/n)
- 对S进行特征分解S = QΣ2 QT
- 选取前K个最大的特征值的根号值Σk和正交特征向量Qk
- 降维表示:Dk= Σ k Q k T \Sigma_k Q_k^T ΣkQkT
至于上述过程为什么是这样,需要用到数学证明,请看下节。
2. 数学推导
假定在原始空间的n个样本的距离矩阵D ∈ \in ∈ R n × n R^{n×n} Rn×n,其i行j列元素 d i j d_{ij} dij表示原始空间中第i个节点和第j个节点间的距离。在低维空间表示矩阵X ∈ \in ∈ R n × k R^{n×k} Rn×k,且使得 ∣ ∣ x i − x j ∣ ∣ = d i j ||x_i-x_j||=d_{ij} ∣∣xi−xj∣∣=dij。令点积矩阵 S = X X T S=XX^T S=XXT, S i j S_{ij} Sij表示向量 x i x_i xi与 x j x_j xj的内积即 S i j = x i T ∗ x j S_{ij}=x_i^T*x_j Sij=xiT∗xj。此时有如下公式成立:
d i j 2 = ∣ ∣ x i − x j ∣ ∣ 2 = ( x i − x j ) 2 = ∣ ∣ x i ∣ ∣ 2 + ∣ ∣ x j ∣ ∣ 2 − 2 x i T x j = S i i + S j j − 2 S i j (1) \begin{aligned} d_{ij}^2&=||x_i-x_j||^2\\ &=(x_i-x_j)^2\\ &=||x_i||^2+||x_j||^2-2x_i^Tx_j\\ &=S_{ii}+S_{jj}-2S_{ij}\tag 1 \end{aligned} dij2=∣∣xi−xj∣∣2=(xi−xj)2=∣∣xi∣∣2+∣∣xj∣∣2−2x