19
3

Accurately Modeling Biased Random Walks on Weighted Graphs Using Node2vec+\textit{Node2vec+}

Abstract

Node embedding is a powerful approach for representing the structural role of each node in a graph. Node2vec\textit{Node2vec} is a widely used method for node embedding that works by exploring the local neighborhoods via biased random walks on the graph. However, node2vec\textit{node2vec} does not consider edge weights when computing walk biases. This intrinsic limitation prevents node2vec\textit{node2vec} from leveraging all the information in weighted graphs and, in turn, limits its application to many real-world networks that are weighted and dense. Here, we naturally extend node2vec\textit{node2vec} to node2vec+\textit{node2vec+} in a way that accounts for edge weights when calculating walk biases, but which reduces to node2vec\textit{node2vec} in the cases of unweighted graphs or unbiased walks. We empirically show that node2vec+\textit{node2vec+} is more robust to additive noise than node2vec\textit{node2vec} in weighted graphs using two synthetic datasets. We also demonstrate that node2vec+\textit{node2vec+} significantly outperforms node2vec\textit{node2vec} on a commonly benchmarked multi-label dataset (Wikipedia). Furthermore, we test node2vec+\textit{node2vec+} against GCN and GraphSAGE using various challenging gene classification tasks on two protein-protein interaction networks. Despite some clear advantages of GCN and GraphSAGE, they show comparable performance with node2vec+\textit{node2vec+}. Finally, node2vec+\textit{node2vec+} can be used as a general approach for generating biased random walks, benefiting all existing methods built on top of node2vec\textit{node2vec}. Node2vec+\textit{Node2vec+} is implemented as part of PecanPy\texttt{PecanPy}, which is available at https://github.com/krishnanlab/PecanPy .

View on arXiv
Comments on this paper