Accurately Modeling Biased Random Walks on Weighted Graphs Using Node2vec+
Node embedding is a powerful approach for representing the structural role of each node in a graph. 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 does not consider edge weights when computing walk biases. This intrinsic limitation prevents 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 to node2vec+ in a way that accounts for edge weights when calculating walk biases, but which reduces to node2vec in the cases of unweighted graphs or unbiased walks. We empirically show that node2vec+ is more robust to additive noise than node2vec in weighted graphs using two synthetic datasets. We also demonstrate that node2vec+ significantly outperforms node2vec on a commonly benchmarked multi-label dataset (Wikipedia). Furthermore, we test 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+. Finally, node2vec+ can be used as a general approach for generating biased random walks, benefiting all existing methods built on top of node2vec. Node2vec+ is implemented as part of , which is available at https://github.com/krishnanlab/PecanPy .
READ FULL TEXT