👋

Chapter 1: Introduction

Multi-relational graphs

Multi-relational graph
  • One where edges have a type
  • Two nodes can be connected by multiple edges so long as they have different types.
Graphs where edges have a type
Multi-relational
 
Heterogeneous graph
One where edges and nodes have a type
Graphs where edges and nodes have a type
Heterogeneous graphs
What is often the case regarding edge and node types in a heterogeneous graph?
A given edge type only connect nodes of specific types.
 
Multipartite graph
One where edges can only connect nodes that have different types
Graphs where edges can only connect nodes that have different types
Multipartite graph
 
Multiplex graph
  1. Multi-relational graph
  1. Edges are composed into layers
  1. Intra-layer edges as before
  1. Plus inter-layer edges connecting the same node
Multi-relational graph decomposed into layers
Multiplex graph
 

ML on graphs

Node classification

What are we trying to predict with node classification, based on what?
The classes of unlabelled nodes, based on the classes of labelled ones & complete node features.
Key difference between regular supervised datasets and node-level graph-based datasets
We no longer have the i.i.d. assumption
 
Homophily
The tendency for nodes to share attributes with their neighbours
The tendency for nodes to share attributes with their neighbours
Homophily
 
Structural equivalence (graphs)
The tendency for nodes with similar local neighborhood structures to have similar labels
The tendency for nodes with similar local neighborhood structures to have similar labels
Structural equivalence
 
Heterophily
The tendency for nodes to have different attributes to their neighbours
The tendency for nodes to have different attributes to their neighbours
Heterophily
 
In what way is node-classification like and unlike semi-supervised learning?
Like: we have access to the edges (and features?) of the unlabelled nodes
Unlike: we don't have the i.i.d. assumption

Link prediction

What are we trying to predict with link prediction, based on what?
Edges between nodes, based on an incomplete set of edges between nodes & complete node features.

Community Detection

What is community detection (at a high-level)?
Infering the latent community structures in a (single) graph

Graph-level tasks

What are the data-points for graph classification, regression and clustering
Entire graphs