1 Discovering graph neural networks

 

This chapter covers

  • Defining graphs and graph neural networks
  • Understanding why people are excited about graph neural networks
  • Recognizing when to use graph neural networks
  • Taking a big picture look at solving a problem with a graph neural network

For data practitioners, the fields of machine learning and data science initially excite us because of the potential to draw nonintuitive and useful insights from data. In particular, the insights from machine learning and deep learning promise to enhance our understanding of the world. For the working engineer, these tools promise to deliver business value in unprecedented ways.

Experience deviates from this ideal. Real-world data is usually messy, dirty and biased. Furthermore, statistical methods and learning systems come with their own set of limitations. An essential role of the practitioner is to comprehend these limitations and bridge the gap between real data and a feasible solution. For example, we may want to predict fraudulent activity in a bank, but we first need to make sure that our training data has been correctly labeled. Even more importantly, we’ll need to check that our models won’t incorrectly assign fraudulent activity to normal behaviors, possibly due to some hidden confounders in the data.

1.1 Goals of this book

1.1.1 Catching up on graph fundamentals

1.2 Graph-based learning

1.2.1 What are graphs?

1.2.2 Different types of graphs

1.2.3 Graph-based learning

1.2.4 What is a GNN?

1.2.5 Differences between tabular and graph data

1.3 GNN applications: Case studies

1.3.1 Recommendation engines

1.3.2 Drug discovery and molecular science

1.3.3 Mechanical reasoning

1.4 When to use a GNN?

1.4.1 Implicit relationships and interdependencies

1.4.2 High dimensionality and sparsity

1.4.3 Complex, nonlocal interactions

1.5 Understanding how GNNs operate

1.5.1 Mental model for training a GNN

1.5.2 Unique mechanisms of a GNN model

1.5.3 Message passing

Summary