skip to main content

DOE PAGESDOE PAGES

Title: An improved hyperbolic embedding algorithm

Because hyperbolic space has properties that make it amenable to graph representations, there is significant interest in scalable hyperbolic-space embedding methods. These embeddings enable constant-time approximation of shortest-path distances, and so are significantly more efficient than full shortest-path computations. In this article, we improve on existing landmark-based hyperbolic embedding algorithms for large-scale graphs. Whereas previous methods compute the embedding by using the derivative-free Nelder–Mead simplex optimization method, our approach uses the limited-memory BFGS (LBFGS) method, which is quasi-Newton optimization, with analytic gradients. Our method is not only significantly faster but also produces higher-quality 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 shortest-path distance calculations. Furthermore, tests are performed on a variety of real-world networks, and we show the scalability of our method by embedding a graph with 1.8 billion edges and 65 million nodes.
Authors:
 [1] ;  [1]
  1. Sandia National Lab. (SNL-CA), Livermore, CA (United States)
Publication Date:
Report Number(s):
SAND-2018-8912J
Journal ID: ISSN 2051-1310; 667069
Grant/Contract Number:
AC04-94AL85000
Type:
Accepted Manuscript
Journal Name:
Journal of Complex Networks
Additional Journal Information:
Journal Volume: 6; Journal Issue: 3; Journal ID: ISSN 2051-1310
Publisher:
Oxford University Press
Research Org:
Sandia National Lab. (SNL-CA), Livermore, CA (United States)
Sponsoring Org:
USDOE National Nuclear Security Administration (NNSA)
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING; hyperbolic graph embedding; landmark; embedding
OSTI Identifier:
1466759

Chowdhary, Kenny, and Kolda, Tamara G. An improved hyperbolic embedding algorithm. United States: N. p., 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. 2017. "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 hyperbolic-space embedding methods. These embeddings enable constant-time approximation of shortest-path distances, and so are significantly more efficient than full shortest-path computations. In this article, we improve on existing landmark-based hyperbolic embedding algorithms for large-scale graphs. Whereas previous methods compute the embedding by using the derivative-free Nelder–Mead simplex optimization method, our approach uses the limited-memory BFGS (LBFGS) method, which is quasi-Newton optimization, with analytic gradients. Our method is not only significantly faster but also produces higher-quality 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 shortest-path distance calculations. Furthermore, tests are performed on a variety of real-world 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}
}