question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

New GNN model: Boosted Graph Neural Network (BGNN)

See original GitHub issue

🚀 Feature

A proposal of a new GNN model coming from ICLR 2021: https://openreview.net/forum?id=ebS5NUfoMKL The model is implemented with DGL: https://github.com/nd7141/bgnn

Motivation

This is the first GNN designed to work well on graphs when node features are heterogeneous. Heterogeneous means that each feature has some individual meaning. For example, in a social network each person can have age, income, gender, graduation date, etc. as features. On the other hand, previous GNNs perform well when the node features are homogeneous. For example, node features are pretrained word embeddings or bag-of-words features.

Pitch

What I proposed in the paper is not a new GNN layer, but a whole model, rather a combination of GNN and GBDT models. Ideally, the end user will do something like:

from dgl.models import BGNN

bgnn = BGNN(*params)
bgnn.fit(graph, node_features, target_labels)

Additional context

The model currently works for node classification and regression tasks.

The model is implemented with DGL: https://github.com/nd7141/bgnn dgl_cu92==0.5.3 is tested.

Importantly, BGNN relies on installed GBDT package. I tested it with CatBoost package (https://catboost.ai/). I feel like it’s easier to install CatBoost across all OS platforms rather than LightGBM or XGBoost (those are possible options too, but I haven’t tested them). So CatBoost can be part of optional dependencies for users who want to use BGNN.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:29 (23 by maintainers)

github_iconTop GitHub Comments

1reaction
nd7141commented, Mar 6, 2021

Yes, definitely. I will look at it next week.

0reactions
nd7141commented, Mar 11, 2021

I created a pull request: https://github.com/dmlc/dgl/pull/2740 Let’s move discussion there.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Gradient Boosting Meets Graph Neural Networks - arXiv
Abstract: Graph neural networks (GNNs) are powerful models that have been successful in various graph representation learning tasks.
Read more >
Gradient Boosting Meets Graph Neural Networks - OpenReview
Summary The paper proposes a GNN model by incorporating gradient boosting. In the proposed BGNN, the input feature on the graph is learned...
Read more >
Sergey Ivanov on Twitter: "So what we propose is a combo of ...
Our approach BGNN (Boosted Graph Neural Net), trains GBDT and GNN in end-to-end fashion: every new tree approximates the gradient of the GNN...
Read more >
Boost then Convolve: Gradient Boosting Meets Graph Neural ...
But what approach should be used for graphs with tabular node features? Previous GNN models have mostly focused on networks with homogeneous sparse...
Read more >
Gradient Boosting Meets Graph Neural Networks - Normastic
Data preprocessing inherited by GBDT model (missing values, cat features, etc.) • Pluggable with any GBDT or GNN model. • End-to-end training.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found