Node2vec
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,[3] and is considered one of the best classifiers for nodes in a graph.[4]
See also
References
- "node2vec: Scalable Feature Learning for Networks".
- Grover, Aditya; Leskovec, Jure (2016). "node2vec: Scalable Feature Learning for Networks". KDD : Proceedings. International Conference on Knowledge Discovery & Data Mining. 2016: 855–864. arXiv:1607.00653. Bibcode:2016arXiv160700653G. doi:10.1145/2939672.2939754. PMC 5108654. PMID 27853626.
- Cohen, Elior (2018). "node2vec: Embeddings for Graph Data". Towards Data Science.
- Khosla, Megha; Setty, Vinay; Anand, Avishek (2019). "A Comparative Study for Unsupervised Network Representation Learning". IEEE Transactions on Knowledge and Data Engineering: 1. arXiv:1903.07902. doi:10.1109/TKDE.2019.2951398. S2CID 207870054.