Melvin's digital garden

Graph Kernels

CREATED: 200712180614 Speaker: S V N Vishwanathan (http://users.rsise.anu.edu.au/~vishy) ** Background

  • adjacency matrix, $A$
  • normalized adjacency matrix (each row sums to 1), $A'$
  • degree matrix
  • graph laplacian (spectrum bounded between 0 and 2)
  • $A^k$ is number of walks of length k
  • $A'^k$ is the probability of length 2 walk ** Kernel for two nodes in a graph
  • Diffusion kernels ~ number of length k walks, discounting longer walks
  • Laplacian as a regularizer (smoothness of function of a vertex) ** Kernel for two graphs
  • count number of matching walks
  • discount contributions of longer walks
  • direct product graph G x G’
  • random walk on product graph = simultaneous random walk on input graphs
  • kernel of two graphs = sum/expectation of k(u,v) where u,v in G x G’ ** Computing the kernel
  • G X G’ has $n^2$ vertices and adjacency matrix has size $n^2 x n^2$
  • exp($A_x$) = exp(A) x exp(A’) (where x is the Kronecker product)
  • Solving Sylvester equations = finding the inverse of $A_x$
  • Trick: vec(ABC) = (C^T x A) vec(B)
  • ‘‘Basic idea: vec(A’XA^T) = (A x A’)vec(X), lhs is O(n^3), rhs is O(n^4)’’
  • exploit sparsity in A and A’
  • other schemes ** fix point iteration ** conjugate gradient ** Laplacian
  • L_x != L x L’
  • does not factor in direct product graph
  • use cartesian product of graphs and Kronecker sum ** Open problems
  • counting paths in two different graphs is polynomial
  • subgraph isomorphism is NP-hard
  • comparing other subgraphs is hard ** simple paths ** cycles ** trees

Links to this note