图转超图
- DHT 介绍
- 那么它有啥用呢?
这个实在太好玩了,参考的这个论文: EHGNN
采用的方法叫 Dual Hypergraph Transformation (DHT),主要就是把一个 graph 转为 hypergraph
DHT 介绍
如何将 graph 转 hypergraph 的呢?
首先,超图对比图,最大的不同在于超图的超边可以连接不止2个节点,图的边只能连接两个节点
那么DHT的原理也很简单:
- 将图的节点 当作 超图的超边 (你仔细想一下,一个图的节点是不是可以被任意数量的边连接呢?这么就符合超边的要求了么哈哈)
- 将图的边 当作 超图的节点
凭空想象或许很难想象是怎么转换的,那么我手绘了一个示意图:
从上图可以看到,左侧的图有节点A,B,C,对于的边是下边 2x3 的矩阵,我们根据图的边矩阵就可以很容易的写出超图的关联矩阵H
对于超图的H关联矩阵,它的行的方向就是节点的度矩阵,列方向就是超边的度矩阵。就可以很容易的将图转为超图,并且很容易计算超图的拉普拉斯特征分解。
那么它有啥用呢?
官方给的说法是:该方案利用节点是原始图的边缘的对偶超图,在该方案上我们可以应用为节点级表示学习设计的现成消息传递方案。
好吧,有点深奥,对于我的作用是,
我的硕士论文设计了一个算法,需要用到的超图数据集要求包含很多小的超图(Graph-Level Task),但是现在能找到的超图数据集都是一整个大的超图用于node-level 和 edge-level 任务的。
被逼无奈我只能用这个方法,将图数据集转换成超图数据集了。。。