Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 1.09 KB

File metadata and controls

42 lines (27 loc) · 1.09 KB
layout title categories tags keywords description order
post
【MDS】Python实现
0x31_降维
325

多维尺度分析(Multidimension Scaling, MDS)

  • 基于连续变量: Metric MDS, MMDS
  • 基于分类变量: Nonmetric MDS, NMDS

多维尺度分析是已知样本点的距离矩阵,计算出每个样本点的坐标的算法。

原理

样本点有r个,
已知的距离矩阵为$D=[d_{ij}]$
要求出的坐标矩阵为$M=[m_1,m_2,...m_r]^T$

目标函数(又叫做应力函数或压力函数)$S(M,a,b)=\dfrac{\sqrt{\sum_{i,j=1}^r[\tilde d_{ij}- (a+bd_{ij})]^2}}{\sum_{i,j=1}^r \tilde d_{ij}^2}$
其中$\tilde d= \mid\mid m_i -m_j \mid\mid $

接下来是求最优化$\arg \min\limits_{M,a,b} S(M,a,b)$

算法是反复迭代以下过程:

  1. 固定M,求最优a, b
  2. 固定a, b,求最优M

Python实现

参考资料sklearn官网

<iframe src="https://www.guofei.site/StatisticsBlog/mds.html" width="100%" height="3600em" marginwidth="10%"></iframe>