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)$
算法是反复迭代以下过程:
- 固定M,求最优a, b
- 固定a, b,求最优M
参考资料sklearn官网
<iframe src="https://www.guofei.site/StatisticsBlog/mds.html" width="100%" height="3600em" marginwidth="10%"></iframe>