Learning a distance function or metric on a given data manifold is of great
importance in machine learning and pattern recognition. Many of the previous
works first embed the manifold to Euclidean space and then learn the distance
function. However, such a scheme might not faithfully preserve the distance
function if the original manifold is not Euclidean. Note that the distance
function on a manifold can always be well-defined. In this paper, we propose to
learn the distance function directly on the manifold without embedding. We
first provide a theoretical characterization of the distance function by its
gradient field. Based on our theoretical analysis, we propose to first learn
the gradient field of the distance function and then learn the distance
function itself. Specifically, we set the gradient field of a local distance
function as an initial vector field. Then we transport it to the whole manifold
via heat flow on vector fields. Finally, the geodesic distance function can be
obtained by requiring its gradient field to be close to the normalized vector
field. Experimental results on both synthetic and real data demonstrate the
effectiveness of our proposed algorithm