The generalized graph embedding problem
In classical machine learning applications, a common way to process the input data is to build from a set of features, in a process called feature engineering, which is capable of giving a compact and meaningful representation of each instance present in the dataset.
The dataset obtained from the feature engineering step will be then used as input for the machine learning algorithm. If this process usually works well for a large range of problems, it may not be the optimal solution when we are dealing with graphs. Indeed, due to their well-defined structure, finding a suitable representation capable of incorporating all the useful information might not be an easy task.
The first, and most straightforward, way of creating features capable of representing structural information from graphs is the extraction of certain statistics. For instance, a graph could be represented by its degree distribution, efficiency, and all the metrics we described...