I have a dataset made of pairs of graphs and a binary label (0 or 1 depending on if the graphs are similar). I am trying to find a model that, when given two graphs, will output if these two graphs are similar or not.

I am not very familiar with ML and don't really know how to get started with this problem. For now I have found following ideas:

  • There are several publications on how to use graphs as an input for a neural network (GCN, GGNN). These models usually take one graph as input and will output either another graph or a value. They can for example be used for graph classification.
  • Siamese networks can be used to solve similarity problems, for example returning 1 if two input images match.

From what I've understood so far, I should probably find some way to combine these two approaches: basically a siamese network taking two graphs as input. I can represent each graph as an adjacency matrix + a feature vector for each node. However I don't know where to go from this.

Do you have any ideas on what a good approach would be? And ideally, do you know any existing implementation that I could use directly or quickly adapt to my problem?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.