多维缩放伪代码

机器算法验证 算法 多维尺度
2022-03-25 00:28:34

我打算编写一个执行 MDS 的程序。任何指向我可以访问 MDS 伪代码的位置的指针?谢谢!

2个回答

有不同类型的 MDS(例如,请参阅此简短评论)。这里有两个指针:

  • 由 Jan de Leeuw 和 Patrick Mair 开发的smacof R 包有一个很好的小插图,Multidimensional Scaling Using Majorization: SMACOF in R(或参见统计软件杂志(2009) 31(3))——R 代码可用,当然。
  • Forrest Young 的多维缩放有一些讲义,其中讨论了几种算法(包括 INDSCAL(个体差异缩放,或加权 MDS)和 ALSCAL,以及同一作者的Fortran源代码)——这两个关键字应该可以帮助您查找其他源代码(主要是 Fortran、C 或 Lisp)。

您还可以寻找“流形学习”,它应该为您提供许多降维技术(Isomap、PCA、MDS 等);该术语是由机器学习社区等创造的,与心理测量学家相比,他们可能对 MDS 有不同的看法。

如果你有 MATLAB 中的统计工具箱,你可以阅读mdscale.m. 虽然它不是伪代码,但它肯定会帮助您更好地理解 MDS,并为您提供一种编码方法。

在 MATLAB 中,您可以键入

edit mdscale

这将打开一个编辑器窗口,向您显示mdscale.m完成工作的脚本。如果您没有 MATLAB,请查看Scikits.learn它有一些 MDS 的代码。很多时候阅读 Python 代码与阅读伪代码非常相似!