MDS算法伪代码如下所示:
问题描述:如果知道美国若干个城市之间的距离,如何通过这些距离来刻画若干个城市之间的相对位置情况呢?
MDS算法是一种将多维的问题进行降低维度,以简化问题复杂度使得在有效时间内解决问题的方法。
解决问题的思路:原来距离矩阵的得到需要通过步骤X->B->D;现如今需要通过D->B->X‘的方法来得到一个低维度的X‘.
算法描述:
input:距离矩阵D是一个m*m矩阵,其元素distij是样本Xi到Xj间的距离,原来的问题维度为d,目标维度为d‘(d‘<d);
- 求算B矩阵;
- 对B矩阵进行特征值分解,得到特征值与特征向量
- 取低于d的数目的最大特征值构成对角矩阵A,相对应的特征向量构成特征向量矩阵V
output: 矩阵VA0.5是一个m*d‘的矩阵,每一行是所要求得低维坐标。
相关原理介绍与相关例子参见博客:
http://blog.csdn.net/Dark_Scope/article/details/53229427
时间: 2024-10-27 06:00:12