Unsupervised representation learning¶
StellarGraph provides numerous algorithms for doing unsupervised node, edge and graph representation learning on graphs. This folder contains demos of all of them to explain how they work and how to use them as part of a TensorFlow Keras data science workflow.
A node representation learning task computes a representation or embedding vector for each node in a graph. These vectors capture latent/hidden information about the nodes and edges, and can be used for (semi-)supervised downstream tasks like node classification and link prediction, or unsupervised ones like community detection or similarity searches. Representation learning is typically an unsupervised task, where the model is trained on data that does not have any ground-truth labels.
Node representations can also be computed from (semi-)supervised models, using the output of a hidden layer as the embedding vector for nodes or edges. StellarGraph provides some demonstrations of node classification and link prediction, some of which include computing and visualising node or edge embeddings.
Similarly, a graph representation learning task computes a representation or embedding vector for a whole graph. These vectors capture latent/hidden information about the whole graph, and can be used for (semi-)supervised downstream tasks like graph classification, or the same unsupervised ones as above.
Find algorithms and demos for a graph¶
This table lists all representation learning demos, including the algorithms trained, how they are trained, the types of graph used, and the tasks demonstrated.
demo |
algorithm(s) |
training method |
node features |
downstream tasks shown |
---|---|---|---|---|
GCN, GAT, PPNP, APPNP, GraphSAGE, HinSAGE, RGCN, Cluster-GCN |
|
yes |
visualisation, node classification |
|
GraphSAGE |
|
yes |
visualisation, node classification |
|
Attri2Vec |
|
yes |
visualisation |
|
Metapath2Vec |
natively unsupervised |
visualisation |
||
Node2Vec |
natively unsupervised |
visualisation |
||
Watch Your Step |
natively unsupervised |
visualisation, node classification |
||
GraphWave |
natively unsupervised |
visualisation, node classification |
||
GCN, Graph classification |
Pairs of graphs, ground-truth distance |
yes |
visualisation, graph classification |
See the root README or each algorithm’s documentation for the relevant citation(s). See the demo index for more tasks, and a summary of each algorithm.
Table of contents¶
- Node representation learning with attri2vec
- Node representation learning with Deep Graph Infomax
- Unsupervised graph classification/representation learning via distances
- Node representation learning with GraphSAGE and UnsupervisedSampler
- Node representations with GraphWave
- Node2Vec representation learning with Stellargraph components
- Node representation learning with Metapath2Vec
- Node representation learning with Node2Vec
- Node representation learning with Watch Your Step