An improved hyperbolic embedding algorithm
Abstract
Because hyperbolic space has properties that make it amenable to graph representations, there is significant interest in scalable hyperbolicspace embedding methods. These embeddings enable constanttime approximation of shortestpath distances, and so are significantly more efficient than full shortestpath computations. In this article, we improve on existing landmarkbased hyperbolic embedding algorithms for largescale graphs. Whereas previous methods compute the embedding by using the derivativefree Nelder–Mead simplex optimization method, our approach uses the limitedmemory BFGS (LBFGS) method, which is quasiNewton optimization, with analytic gradients. Our method is not only significantly faster but also produces higherquality embeddings. Moreover, we are able to include the hyperbolic curvature as a variable in the optimization. We compare our hyperbolic embedding method implementation in Python (called Hypy) against the best publicly available software, Rigel. Our method is an order of magnitude faster and shows significant improvements in the accuracy of the shortestpath distance calculations. Furthermore, tests are performed on a variety of realworld networks, and we show the scalability of our method by embedding a graph with 1.8 billion edges and 65 million nodes.
 Authors:

 Sandia National Lab. (SNLCA), Livermore, CA (United States)
 Publication Date:
 Research Org.:
 Sandia National Lab. (SNLCA), Livermore, CA (United States)
 Sponsoring Org.:
 USDOE National Nuclear Security Administration (NNSA)
 OSTI Identifier:
 1466759
 Report Number(s):
 SAND20188912J
Journal ID: ISSN 20511310; 667069
 Grant/Contract Number:
 AC0494AL85000
 Resource Type:
 Accepted Manuscript
 Journal Name:
 Journal of Complex Networks
 Additional Journal Information:
 Journal Volume: 6; Journal Issue: 3; Journal ID: ISSN 20511310
 Publisher:
 Oxford University Press
 Country of Publication:
 United States
 Language:
 English
 Subject:
 97 MATHEMATICS AND COMPUTING; hyperbolic graph embedding; landmark; embedding
Citation Formats
Chowdhary, Kenny, and Kolda, Tamara G. An improved hyperbolic embedding algorithm. United States: N. p., 2017.
Web. doi:10.1093/comnet/cnx034.
Chowdhary, Kenny, & Kolda, Tamara G. An improved hyperbolic embedding algorithm. United States. doi:10.1093/comnet/cnx034.
Chowdhary, Kenny, and Kolda, Tamara G. Mon .
"An improved hyperbolic embedding algorithm". United States. doi:10.1093/comnet/cnx034. https://www.osti.gov/servlets/purl/1466759.
@article{osti_1466759,
title = {An improved hyperbolic embedding algorithm},
author = {Chowdhary, Kenny and Kolda, Tamara G.},
abstractNote = {Because hyperbolic space has properties that make it amenable to graph representations, there is significant interest in scalable hyperbolicspace embedding methods. These embeddings enable constanttime approximation of shortestpath distances, and so are significantly more efficient than full shortestpath computations. In this article, we improve on existing landmarkbased hyperbolic embedding algorithms for largescale graphs. Whereas previous methods compute the embedding by using the derivativefree Nelder–Mead simplex optimization method, our approach uses the limitedmemory BFGS (LBFGS) method, which is quasiNewton optimization, with analytic gradients. Our method is not only significantly faster but also produces higherquality embeddings. Moreover, we are able to include the hyperbolic curvature as a variable in the optimization. We compare our hyperbolic embedding method implementation in Python (called Hypy) against the best publicly available software, Rigel. Our method is an order of magnitude faster and shows significant improvements in the accuracy of the shortestpath distance calculations. Furthermore, tests are performed on a variety of realworld networks, and we show the scalability of our method by embedding a graph with 1.8 billion edges and 65 million nodes.},
doi = {10.1093/comnet/cnx034},
journal = {Journal of Complex Networks},
number = 3,
volume = 6,
place = {United States},
year = {2017},
month = {12}
}