Minimum Volume Embedding

 

Publications

Minimum Volume Embedding (AISTAT ’07)

Download PDF

Matlab Code

MVE v0.5

Download .zip

Minimum Volume Embedding (MVE) is an algorithm for non-linear dimensionality reduction that uses semidefinite programming (SDP) and matrix factorization to find a low-dimensional embedding that preserves local distances between points while representing the dataset in many fewer dimensions.  MVE follows an approach similar to algorithms such as Semidefinite Embedding (SDE), in that it learns a kernel matrix using an SDP before applying Kernel Principal Component Analysis (KPCA). However, the objective function for MVE directly optimizes the eigenspectrum of the data to preserve as much of its energy as possible within the few dimensions available to the embedding. Simultaneously, remaining eigenspectrum energy is minimized in directions orthogonal to the embedding thereby keeping data in a so-called minimum volume manifold.  We show how MVE improves upon SDE in terms of the volume of the preserved embedding and the resulting eigenspectrum, producing better visualizations for a variety of synthetic and real-world datasets, including simple toy examples, face images, handwritten digits, phylogenetic trees, and social networks.

© Blake Shaw and Tony Jebara, Columbia University, 2006

More Information:

Download BibTex Reference for Minimum Volume Embedding (AISTAT '07)

Installation notes:


Download and Install a SDP solver

        - download CSDP (https://projects.coin-or.org/Csdp/)

        - edit the csdp.m file so that the dos and system calls point to the full

        path of the csdp executable e.g. info=system([csdp ' fname '.dat-s' ' '      

        fname '.sol']); becomes info=system(['/Users/blake/bin/matlab/csdp '

        fname '.dat-s' ' ' fname '.sol']);


Download and install MVE

        - downlad and unzip a copy of MVE

        - edit the file setuppath.m to add the directory containing csdp to

        matlab's path

        - in matlab run mvedriver for an example of how to use mve


* To use MVE-full

    - note: MVE requires the YALMIP package

- download a copy of YALMIP (http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?n=Main.Download)

- edit the file setuppath.m so that YALMIP is in your path, and yalmip can access CSDP

Face Images

Digit Images

Pylogenetic Trees

Social Networks

http://www.metablake.com/mve/mve-aistats07.pdf
http://www.metablake.com/mve/mve-05.zip