I know the basics of machine learning and have quite an experience with time series data or data fed in a tabular format. But in the picture, the data is arranged as a graph. Is there a way to input the graph into a ML tool such as Artificial Neural Network or any other? I don't know if there is a theory for handling such data structure. The task is to recreate the graph from the output of the ML algorithm after training. So, whatever input I get, the output should be the same as the input -- quite similar to an auto-associative memory. Can somebody please help?



enter image description here

For such problems, you can tabulate these connections as adjacency matrix and create a network to predict weights for the matrix given some properties of nodes (Say for a social graph; given properties of User1 and User2 [for example Zipcode, school ...] output 1, or 0),

Some examples are :

https://www.biorxiv.org/content/biorxiv/early/2018/01/14/247577.full.pdf http://kawahara.ca/convolutional-neural-networks-for-adjacency-matrices/

Edit : Illustration of Train_X and Train_Y

enter image description here

Columns A through H form Train_X and Column I is Train_Y.

  • $\begingroup$ Thank you for your answer and the links to the papers. But one thing is unclear could you please clarify? In the papers, the authors use CNN and the input is an image of the adjacency matrix. But how to include the properties of nodes as inputs along with adjacency matrix to CNN as you have mentioned in your answer? Should the properties of the nodes be included in the adjacency matrix? Can you please elaborate on the social network example, on what basis you gave labels. $\endgroup$ – Srishti M Jan 23 '19 at 4:55
  • $\begingroup$ Lastly, is this method applicable when the graph models traffic flow as signals on vertices of a graph? The graphs for protein is static in nature....I believe no signal in transmission but for brains, there are signals transmitted. $\endgroup$ – Srishti M Jan 23 '19 at 5:48
  • $\begingroup$ Input to the model will be a set of rows. Each row will have all properties of two nodes and a binary output [Output 1 if nodes are connected, otherwise not]. With this train_x and train_y, I would experiment with CNN as well as a all dense layers. $\endgroup$ – Shamit Verma Jan 23 '19 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.