gae icon indicating copy to clipboard operation
gae copied to clipboard

Graph embedding vs Node embedding

Open malsulaimi opened this issue 5 years ago • 0 comments

thanks for this amazing work.

Im using the GAE to generate graph embedding. What is have noticed is that your model generates the Node embedding. this means If I have a NxN matrix with its feature matrix , the Embedding will be N x Hidden2. is there a way that I can use this to get the entire graph embedding such that the resulting matrix/vector does not depend on the number or nodes inorder com compare graphs together ?

Im asking this becase Im new to graphs and relativly new with deeplearning as well. having said that I have two approaches in mind but note sure if either is correct.

Approach 1: this is similar to the famous word embedding example: Embed(King) - Embed(Man) + Embed(woman) = Embd(Qween) Similarly can I do : Embed(node1) +Embed(node2)+Embed(node3) = Embed(graph)

Approach 2 : the second approach is to to eleminate node dependency we transpose the embedding layer which is Hidden2 x Node and mulitpy it with original embeding layer Node x hidden2 , and the resulting output is hidden2 × hidden2. we can ruther reduce the dimentionality to hidden2×hidden3 using an additional encodingLayer.

the output of the hidden2×hidden3 is the entire graph embedding when flattened and will always have the same length and can be used to compare graphs of varying sizes.

I really appreciate any feedback on the above , and niether approaches is correct , how can I get the graph embedding.

thanks

I

malsulaimi avatar Aug 06 '20 07:08 malsulaimi