Jump to content

Node2vec

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Iking5 (talk | contribs) at 04:44, 10 April 2020 (Created a page for the node2vec algorithm). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

node2vec is an algorithm to generate vector representations of nodes on a graph. The node2vec framework learns low-dimensional representations for nodes in a graph through the use of random walks through a graph starting at a target node. It is useful for a variety of machine learning applications. Besides reducing the engineering effort, representations learned by the algorithm lead to greater predictive power[1]. Node2vec follows the intuition that random walks through a graph can be treated like sentences in a corpus. Each node in a graph is treated like an individual word, and a random walk is treated as a sentence. By feeding these "sentences" into a skip-gram, or by using the continuous bag of words model paths found by random walks can be treated as sentences, and traditional data-mining techniques for documents can be used. The algorithm generalizes prior work which is based on rigid notions of network neighborhoods, and argues that the added flexibility in exploring neighborhoods is the key to learning richer representations of nodes in graphs.[2] The algorithm is an extension of Gensim's word2vec algorithm, and is considered one of the best classifiers for nodes in a graph.[3]

  1. ^ "node2vec: Scalable Feature Learning for Networks".{{cite web}}: CS1 maint: url-status (link)
  2. ^ Grover, Aditya; Leskovec, Jure (2016). "node2vec: Scalable Feature Learning for Networks" (PDF). arXiv.
  3. ^ Khosla, Megha; Setty, Vinay; Anand, Avishek (2020). "A Comparative Study for Unsupervised Network Representation Learning" (PDF). arXiv. {{cite journal}}: line feed character in |title= at position 45 (help)