Skip to content

This repo compares different techniques to train node embeddings of a graph without node/edge attributes.

Notifications You must be signed in to change notification settings

zheng-da/GraphEmbeddings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphEmbeddings

This repo compares different techniques of using GNN models to train node embeddings of a graph without node/edge attributes. Here we try a few options of adding initial node embeddings for GNN models:

  • Method 1: compute eigenvectors of the graph with SVD and use the eigenvectors as the positional node embeddings of the graph,
  • Method 2: put trainable embeddings of the nodes and initialize the embeddings with normal distribution,
  • Method 3: put trainable embeddings of the nodes and initialize the embeddings with eigenvectors.

We try these options with both GraphSage and GAT models. Below shows the model accuracy on OGBN-products graph.

Method Val/Test Acc
MLP on eigenvectors 0.6229/0.3987
GraphSage + original node features 0.9201/0.7832
GraphSage + trainable embeddings 0.9133/0.7207
GraphSage + eigenvectors 0.8650/0.7015
GraphSage + trainable embeddings init with eigenvectors 0.9148/0.7898
GraphSage + fine-tune embeddings init with eigenvectors 0.9164/0.7900
GAT + trainable embeddings 0.9205/0.7622
GAT + eigenvectors 0.8657/0.7326
GAT + trainable embeddings init with eigenvectors 0.9177/0.8028
GAT + fine-tune embeddings init with eigenvectors 0.9158/0.8001

About

This repo compares different techniques to train node embeddings of a graph without node/edge attributes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published