Graph neural network/Graph embedding code.
- GNN: gcn, graphSAGE
- GE: node2vec
GCN: learn a function of signals/features on a graph G = (V, E) which takes as input:
- A feature description xi for every node i summarized in a N x D feature matrix X. (N : number of nodes, D : number of input features)
- A representative description of the graph structure in matrix form, eg: adjacency matrix A.
and produces a node-level output Z (an N x F feature matrix, where F is the number of output features per node). Graph-level outputs can be modeled by producing some form of pooling operation.
Every neural network layer can then be written as a non-linear function, consider the following simple form of a layer-wise propagation rule:
with H(0)=X and H(L)=Z (z for graph-level outputs), L being the number of layers. The specific models then differ only in how is chosen and parameterized.
- Semi-Supervised Classification with Graph Convolutional Networks
- Inductive Representation Learning on Large Graphs
- node2vec: Scalable Feature Learning for Networks