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

Forman-Ricci Curvature Coarse Geometry Lifting (Graph to Hypergraph) #33

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

mbanf
Copy link

@mbanf mbanf commented Jul 5, 2024

Motivation
This is a novel lifting that first identifies a network's structure-preserving, coarse geometry, i.e. its backbones, which lend themselves specifically to model information flows across wide areas of the network via hyperedges. To this end, we hope our approach may also contribute a topological remedy to the problem of information distortion in message passing across long-distances and graph bottlenecks, a phenomenom known as “over-squashing“ in graph learning [1].
To identify this coarse geometry we apply Forman-Ricci curvature to the original graph.

Background
In general, curvature is a geometric property that describes the local shape of an object. In the graph, an edge with positive curvature represents an edge within a cluster, while a negative curvature edge tents to be a bridge within clusters. Forman-Ricci curvature defines an edge-based network characteristic that reveals properties of a graph's community structure [2]. In particular high absolute Forman-Ricci curvature exhibits a network's backbone, a coarse, structure preserving graph geometry that forms connections between major communities, most suitable to be represented as hyperedges to model information flows between clusters across large distances in the network. In addition, Forman-Ricci curvature was found to be especially useful for network analysis since its intuitive notion allows for efficient computation that scales to large networks sizes, in contrast to measures such as Ollivier-Ricci curvature [3].

Network representations of relational data $G = {V (G), E(G)}$ form regular, 1-dimensional cell complexes, in which case the following curvature function can be defined [2]:

${\rm Ric_F}(e) = \omega (e) \left( \frac{\omega (v_1)}{\omega (e)} + \frac{\omega (v_2)}{\omega (e)} - \sum_{\substack{e_{v_1}\ \sim\ e \ \ e_{v_2}\ \sim\ e}} \left[\frac{\omega (v_1)}{\sqrt{\omega (e) \omega (e_{v_1})}} + \frac{\omega (v_2)}{\sqrt{\omega (e) \omega (e_{v_2})}} \right] \right),.$

The function is defined on each edge $e = (v_1, v_2) \in E(G)$ of the network, connecting vertices $v_1, v_2 \in V (G)$; $\omega$ denotes the weights of edges and vertices. Our approach is applicable to both weighted and unweighted networks. In case of unweighted networks all weights in the above equation reduce to 1, i.e. $\omega (e) = \omega (v_1) = \omega (v_2) = 1$.

Method

image

Our approach works as follows:
(1) calculate the Forman-Ricci curvature over the edges of a graph.
(2) either define an absolute threshold on Forman-Ricci curvature or, from the given distribution of curvature weights, provide a quantile for automatic, network-dependent threshold estimation for backbone extraction.
(3) prune the curvature graph using the provided or automatically estimated threshold.
(4) identify and add remaining network backbone geometries as hyperedges to lift the original graph. (Note that while our exemplary figure only showcases a single backbone, in practise the number of backbones depends on the thresholds as well as graph geometry.)

Submission by Team PerelynAI
Max Schattauer (@max-perelyn), Liliya Imasheva (@liliya-imasheva) , Dominik Filipiak (@DominikFilipiak), Michael Banf (@mbanf)

Michael Banf added 2 commits July 5, 2024 22:40
…yperedges in incidence matrix results in too many added nodes and hence an out of index error. This error does not happen in the KNN given example, because the number of hyperedges equals the number of nodes and hence doubles the number of nodes anyways. It occurs however, if the number of hyperedges is less then the number of nodes
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 93.24324% with 5 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@497947b). Learn more about missing BASE report.

Files Patch % Lines
...graph2hypergraph/forman_ricci_curvature_lifting.py 91.80% 5 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #33   +/-   ##
=======================================
  Coverage        ?   67.88%           
=======================================
  Files           ?       17           
  Lines           ?      548           
  Branches        ?        0           
=======================================
  Hits            ?      372           
  Misses          ?      176           
  Partials        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@levtelyatnikov
Copy link
Contributor

levtelyatnikov commented Jul 8, 2024

Hello @mbanf ! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at [email protected] so I can share access to the voting form. In your email, please include:

Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified.

@gbg141 gbg141 added award-category-2 Lifting to Combinatorial, Hypergraph or Graph Domain award-category-4 Connectivity-based Lifting labels Jul 9, 2024
@mbanf mbanf changed the title Forman-Ricci Curvature Lifting (Graph to Hypergraph) Forman-Ricci Curvature Coarse Geometry Lifting (Graph to Hypergraph) Jul 12, 2024
@gbg141 gbg141 added Winner Awarded submission and removed challenge-icml-2024 labels Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
award-category-2 Lifting to Combinatorial, Hypergraph or Graph Domain award-category-4 Connectivity-based Lifting Winner Awarded submission
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants