Spherical and Hyperbolic Embeddings of Data

Richard C. Wilson, Edwin R. Hancock, Elżbieta Pȩkalska, Robert P.W. Duin
IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(11), pp2255 - 2269, 2014 (pdf)


Matlab code for spherical and hyperbolic embedding.

The real-world data used in this paper comes from the SIMBAD project. Details and the locations of the datasets can be found in this report.


The Idea


We have a set of distances between points, dij. If these points exist on the surface of a hypersphere, then
the position vectors of the points in a Euclidean embedding space for the hypersphere should be


From this we construct an inner product matrix Z with

This matrix should be positive semidefinite with a smallest eigenvalue of zero. We can use this fact to find the appropriate radius r of the embedding space by minimizing the magnitude of the smallest eigenvalue of Z.

Point positions can then be found easily using standard kernel embedding techniques. This embedding is exact if the points lie on a hypersphere. Of course real data rarely lies precisely on a spherical manifold and so the paper also discusses details of the inexact case.

This can naturally be extended to hyperbolic embeddings where and we need to optimize the second smallest eigenvalue

Bunny with texture map

Embedding of time warp functions
Stanford bunny texture mapped with spherical texture using spherical embedding Embedding of time warping functions

Acknowledgement

We acknowledge financial support from the FET programme within the EU FP7, under the SIMBAD project (contract 213250) for this work. Edwin Hancock was also supported by a Royal Society Wolfson Research Merit Award.