alanyuchenhou / elephant

MIT License
3 stars 5 forks source link

Skip-graph #42

Closed alanyuchenhou closed 7 years ago

alanyuchenhou commented 7 years ago

paper

Skip-graph: Learning graph embeddings with an encoder-decoder model

problem: labeled graph embedding

solution: skip graph

  1. sample random walks from the graph
  2. divide each walk into 3 sections: section 0, section 1, section 2 to produce the following data set:
walk section 0 section 1 section 2
HOCOHCOHCOHC HOCO HCOH COHC
HCOHHOCOCOHC HCOH HOCO COHC
... ... ... ...
  1. train skip graph model (a rebranding of skip-thought model)
    • architecture: RNN (sequential input, sequential output), encoder(embedding layer) -> 2 decoders
    • input: section 1
    • output: (section 0, section 2)
  2. collect all walk embeddings from the embedding layer weights
  3. aggregate (average, max) all walk embeddings into a graph embedding

evaluation: graph classification

datasets

4 chemical compound datasets (each graph is a compound; each label is the compound anti-cancer propoerty, sampled equal amount of positive and negative examples):

code: skip thoughts

https://github.com/ryankiros/skip-thoughts

alanyuchenhou commented 7 years ago

This approach takes advantage of the characteristic of a specific type of graphs which have very limited types of nodes. For example, chemical compounds are graphs composed of very limited types of atoms. This characteristic makes graph embedding much easier because it allows nodes to be treated as enumerables, much simpler than unique node vectors in high dimensional space.

If I'm to work on graph embedding I should revisit this interesting approach.