Skip to content
Codes for NIPS 2019 Paper: Rethinking Kernel Methods for Node Representation Learning on Graphs
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data KernelGCN Oct 27, 2019
README.md Update README.md Oct 27, 2019
models.py KernelGCN Oct 27, 2019
train.py KernelGCN Oct 27, 2019
utils.py KernelGCN Oct 27, 2019

README.md

Rethinking Kernel Methods for Node Representation Learning on Graphs

Training code for the paper [Rethinking Kernel Methods for Node Representation Learning on Graphs] (https://arxiv.org/pdf/1910.02548.pdf), NIPS 2019

Overview

Graph kernels are kernel methods measuring graph similarity and serve as a standard tool for graph classification. However, the use of kernel methods for node classification, which is a related problem to graph representation learning, is still ill-posed and the state-of-the-art methods are heavily based on heuristics. Here, we present a novel theoretical kernel-based framework for node classification that can bridge the gap between these two representation learning problems on graphs. Our approach is motivated by graph kernel methodology but extended to learn the node representations capturing the structural information in a graph. We theoretically show that our formulation is as powerful as any positive semidefinite kernels. To efficiently learn the kernel, we propose a novel mechanism for node feature aggregation and a data-driven similarity metric employed during the training phase. More importantly, our framework is flexible and complementary to other graph-based deep learning models, e.g., Graph Convolutional Networks (GCNs). We empirically evaluate our approach on a number of standard node classification benchmarks, and demonstrate that our model sets the new state of the art.

Prerequisites

This package has the following requirements:

  • Python 3.6
  • Pytorch 0.4.1
  • numpy
  • scipy
  • networkx

Training

python train.py

Citation

You can’t perform that action at this time.