Three directions of semi-supervised graph-based classification
- skip-gram node embedding
- graph regularization
- deep learning(graph convolutional networks)
We came up with new methods for direction 1 and direction 2. Code implemented in Python, method1 and method3 are implemented using tensorflow, and method2 we have implemented self-drived algorithm. Method3 is adapted from the first author's implementation on github, you will have to call the Python class from the original repo to run the GCN.py code. All codes tested on real dataset.
The toy example of the naive mean field with closed form update solution is implemented in this notebook.
Implement structure2vec from Hanjun Dai's paper in Pure Python. The vanila version of the embedding mean field is implemented in this notebook.
The toy version is implemented in this notebook. Check graphsage mean aggregator method, which is very similar to the Discriminative Mean Field.
Joint probability distribution of two nodes on an edge in the Markov Random Field. This problem is not of interest to the graph node classification, but is worth exploring.
- Implementation of Graph Convolutional Networks in TensorFlow
- Semi-supervised learning with graph embeddings
- Representation learning on large graphs using stochastic graph convolutions
- social Discrete Choice Models in Python
- Representation learning on large graphs using stochastic graph convolutions
- Embedded Graph Convolutional Neural Networks (EGCNN) in TensorFlow
- Multi-Graph Convolutional Neural Networks
- Network Lasso
- Training computational graph on top of structured data (string, graph, etc)
- GEM is a Python module that implements many graph (a.k.a. network) embedding algorithms. GEM is distributed under BSD license.