多维尺度分析MDS详解

本文详细介绍了多维尺度分析(MDS)的基本思想和经典MDS(CMDS)的实现步骤,包括距离矩阵、点积矩阵的构建以及特征分解过程。MDS与PCA的主要区别在于降维方式,MDS通过保持距离相似性来构建低维表示,而PCA则侧重于主成分。文中还提供了CMDS的数学推导和Python代码实现案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 概述

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=ΣkQkT\Sigma_k Q_k^TΣkQkT

至于上述过程为什么是这样,需要用到数学证明,请看下节。

2. 数学推导

假定在原始空间的n个样本的距离矩阵D∈\inRn×nR^{n×n}Rn×n,其i行j列元素dijd_{ij}dij表示原始空间中第i个节点和第j个节点间的距离。在低维空间表示矩阵X∈\inRn×kR^{n×k}Rn×k,且使得∣∣xi−xj∣∣=dij||x_i-x_j||=d_{ij}xixj=dij。令点积矩阵S=XXTS=XX^TS=XXT,SijS_{ij}Sij表示向量xix_ixixjx_jxj的内积即Sij=xiT∗xjS_{ij}=x_i^T*x_jSij=xiTxj。此时有如下公式成立:
dij2=∣∣xi−xj∣∣2=(xi−xj)2=∣∣xi∣∣2+∣∣xj∣∣2−2xiTxj=Sii+Sjj−2Sij(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=xixj2=(xixj)2=xi2+xj22xiTxj=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值