BPN
Belief Propagation Network for Hard Inductive Semi-Supervised Learning (IJCAI 2019)
Install / Use
/learn @snudatalab/BPNREADME
Belief Propagation Networks
This project is a PyTorch implementation of Belief Propagation Network for Hard Inductive Semi-Supervised Learning, published as a conference proceeding at IJCAI 2019. This paper proposes a novel approach for hard inductive learning on graph-structured data, where the graph is not given at the test time and thus previous approaches fail with low accuracy.
License
This software may be used only for research evaluation purposes. For other purposes (e.g., commercial), please contact the authors.
- Jaemin Yoo (jaeminyoo@snu.ac.kr), Seoul National University
- Hyunsik Jeon (jeon185@snu.ac.kr), Seoul National University
- U Kang (ukang@snu.ac.kr), Seoul National University
Abstract
Given graph-structured data, how can we train a robust classifier in a semi-supervised setting that performs well without neighborhood information? In this work, we propose belief propagation networks (BPN), a novel approach to train a deep neural network in a hard inductive setting, where the test data are given without neighborhood information. BPN uses a differentiable classifier to compute the prior distributions of nodes, and then diffuses the priors through the graphical structure, independently from the prior computation. This separable structure improves the generalization performance of BPN for isolated test instances, compared with previous approaches that jointly use the feature and neighborhood without distinction. As a result, BPN outperforms state-of-the-art methods in four datasets with an average margin of 2.4% points in accuracy.
Prerequisites
Usage
You can run a demo script demo.sh that reproduces the experimental results in
the paper by the following command.
Three of the four datasets are included except the Amazon dataset.
You can change the hyperparameters by modifying main.py.
bash demo.sh
Datasets
Preprocessed data are downloaded from here and included in the data directory.
Functions for loading the data are based on the implementation of a graph convolutional network (GCN).
You can use your own data if it is a graph, each node contains a feature vector, and at least a few labels have been observed.
| Name | Nodes | Edges | Attributes | Labels | Download | | :---: | ----: | ----: | ---------: | -----: | :---: | | Pubmed | 19,717 | 44,324 | 500 | 3 | Link | | Cora | 2,708 | 5,278 | 1,433 | 7 | Link | | Citeseer | 3,327 | 4,552 | 3,703 | 6 | Link | | Amazon | 32,966 | 63,285 | 3,000 | 3 | - |
Reference
Please cite our paper if you use this code in your own work:
@inproceedings{YooJK19,
author = {Jaemin Yoo and Hyunsik Jeon and U Kang},
title = {Belief Propagation Network for Hard Inductive Semi-Supervised Learning},
booktitle = {International Joint Conference on Artificial Intelligence (IJCAI)},
year = {2019},
}
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
