MANI fold Learning Matlab Demo  Todd Wittman Department of Mathematics University of California, Los Angeles 

DOWNLOADS  DOCUMENTATION  LINKS 
In the last few years, many manifold learning techniques have been developed for NonLinear Dimensionality Reduction (NLDR). To my knowledge, no one has surveyed the techniques to determine which method performs the best and under which conditions each method is appropriate. To explore the different methods, I put together 8 manifold learning techniques and 9 basic examples into one Matlab GUI. I named it "mani", short for MANIfold Learning Matlab Demo. I hope this simple program can serve as an instruction tool and research aid for the manifold learning community. If you find the GUI useful or have comments or questions, please email Todd Wittman at wittman@math.ucla.edu.

MANIfold Learning Matlab Demo mfile Just download this file, start Matlab, and type "mani". 
Presentation "Manifold Learning Techniques: So Which is the Best?" This is a presentation I gave in Prof. Gilad Lerman's class on geometric data analysis at University of Minnesota. 
The MANI GUI is pretty straightforward to use, just push buttons and change parameters. To begin using it, simply download the mani.m file, start up Matlab, and type "mani". Below is some limited documentation on what all the buttons do.

MANIFOLD: Reading the input data.
The input data can be read from a matrix in the workspace, from a text file, or selected from one of 8 builtin examples. Each row of the input data should be a data element. After input is read, it is automatically written to the workspace variable "maniX". If the example is 2D or 3D, the data will be displayed in the Manifold plot in the top left corner. The user can specify a color vector to color the scatterplot and its accompanying embedding.

PARAMETERS: Controlling the methods.
The user can specify the parameters used to describe the NLDR method. Not all the parameters control all the methods.

ALGORITHMS: Computing the embedding.
Simply press a button to run the NLDR method on the current input manifold. Some of the methods take a long time to run, particularly MDS and ISOMAP. If the data set is large or highdimensional, the method may take several minutes to run. When the method is complete, the data matrix is written to the workspace variable "maniY" and the embedding is plotted in the lower left plot if it is 1D, 2D, or 3D. The black box in the lower left corner tells when the method is complete and how long it took to run. Except for PCA and MDS, all the NLDR methods were written by the original authors of the method. I belive this is an important point, because if we are comparing the performance of the methods, then I can't be blamed for a poor implementation of the technique. The MDS routine was written by Michael Lee.

