Graph kernel

In structure mining, a domain of learning on structured data objects in machine learning, a graph kernel is a kernel function that computes an inner product on graphs. 
Graph kernels can be intuitively understood as functions measuring the similarity of pairs of graphs. They allow kernelized learning algorithms such as support vector machines to work directly on graphs, without having to do feature extraction to transform them to fixed-length, real-valued feature vectors. They find applications in bioinformatics, in chemoinformatics (as a type of molecule kernels), and in social network analysis.

Concepts of graph kernels have been around since the 1999, when D. Haussler introduced convolutional kernels on discrete structures. The term graph kernels was more officially coined in 2002 by R. I. Kondor and John Lafferty
as kernels on graphs, i.e. similarity functions between the nodes of a single graph, with the World Wide Web hyperlink graph as a suggested application. In 2003, Gaertner et al.
and Kashima et al.
defined kernels between graphs. In 2010, Vishwanathan et al. gave their unified framework. In 2018, Ghosh et al.  described the history of graph kernels and their evolution over two decades.

An example of a kernel between graphs is the random walk kernel, which conceptually performs random walks on two graphs simultaneously, then counts the number of paths that were produced by both walks. This is equivalent to doing random walks on the direct product of the pair of graphs, and from this, a kernel can be derived that can be efficiently computed.

Applications

The marginalized graph kernel has been shown to allow accurate predictions of the atomization energy of small organic molecules.

References

See also
 Tree kernel, as special case of non-cyclic graphs
Category:Graph algorithms
Category:Kernel methods for machine learning Molecule mining, as special case of small multi-label graphs