Before learning about graph NNs (GNNs), let's look at why we need graph networks in the first place. We'll start by defining a graph, which is a set of objects (also known as nodes or vertices) where some pairs of objects have connections (or edges) between them.
In this section, we'll use several survey papers as resources, most notably A Comprehensive Survey on Graph Neural Networks (https://arxiv.org/abs/1901.00596), which contains some quotes and images.
A graph has the following properties:
- We'll represent the graph as , where V is the set of nodes and E is the set of edges.
- The expression describes an edge between two nodes, .
- An adjacency matrix, , where n is the number of graph nodes. This is written as if an edge exists and if it doesn't.
- Graphs can be directed when the edges have a direction and undirected when they...