Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ggcm method as example #8186

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Add ggcm method as example #8186

wants to merge 10 commits into from

Conversation

xYix
Copy link
Contributor

@xYix xYix commented Oct 12, 2023

We add the implementation of GGCM method from the paper From Cluster Assumption to Graph Convolution: Graph-based Semi-Supervised Learning Revisited (same as my last pull request). GGCM is a very practical unsupervised method, with two obvious advantages: 1) it is a “no-learning” method, and 2) it can preserve graph structure.

Table 1: Node classification accuracy.

Acc CiteSeer Cora PubMed
SGC (PyG) 0.716 0.817 0.784
GGCM (PyG) 0.743 0.836 0.807
GGCM (Reported) 0.742 0.836 0.808

For comparison, we use PyG's build-in datasets and codes. As shown above, GGCM outperforms another classical "no-learning" method SGC by a large margin. This observation evidently demonstrates the value of preserving the graph structure information in GCN-type methods.

In addition, the introduced IGC operator can capture the dissimilarity between unlinked nodes. Theoretically, IGC is a numerically stable matrix form of negative sampling for graph scenario. Therefore, it can be used as a “plug-in” in various GCN-type models, to preserve graph structure or fix over-smoothing. If needed, we are very glad to re-modify IGC, to make it as a common "convolution" operator in the torch_geometric.nn part.

Author: Yun Xu (undergraduate, @sjtu) advised by Dr. Zheng Wang@SJTU.

@xYix xYix requested a review from wsad1 as a code owner October 12, 2023 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants