超图的线展开(Hypergraph Learning with Line Expansion)
0. 摘要(Abstract)
已有的超图转化为简单图的方法包括连通分量扩展法、星形扩展法,这些超图展开方法仅在超点或超边的级别上进行,因此缺少了共现数据的对称性,导致了高维数据的信息丢失。为了解决这一问题,本文平等地对待超点和超边,并提出了一种新的超图展开方式,成为线展开(Line Expansion,LE)。我们可以用LE将超图转化为简单图,从而使得诸如GCN,GAT等现有的图学习算法与高维数据相兼容。对于简单图,我们证明了LE上定义的学习算法与它们在原始图上的性能紧密相关,这意味着LE不会导致信息丢失。
1. 介绍(Introduction)
本文提出的超图线展开(LE)是一种拓扑映射,将超图转化为同质图,同时保留超图本身的高维数据关系。在经过LE变换后,我们可以对超图使用任何已有的图学习算法。
LE算法相对于已有的超图展开算法具有以下几条优势:
- 已有的超图展开算法,往往是将超边展开成简单边集或超图割,或者整个超图学习完全依赖于边的连接性,而这么做必然会损失超图的部分信息。LE算法则一致对待超点和超边,因而能够保留超图的原本属性。
- LE算法无需对超图结构作出严格的约束,也不需要另外额外制定复杂的学习算法。
2. 预备知识(Preliminaries)
2.1 超图(Hypergraphs)
2.2 超图节点分类(Problem Setup:Node Classification)
在本篇论文中,我们关注于超图上的直推学习问题(transductive problems),如超图节点分类。该问题的目标是对所有的unlablled data 进行节点分类((f: V o {1,2,...,C}))。
Transductive learning:unlabelled data is the testing data
inductive learning:unlabelled data is not the testing data
在训练过程中,已知testing data(unlabelled data)是transductive learing
在训练过程中,并不知道testing data ,训练好模型后去解决未知的testing data 是inductive learing
下面这一公式表示了超图节点分类的损失函数:
3. 超图的线展开(Hypergraph Line Expansion)
许多知名的图学习算法都基于简单图这一数据结构而非超图。因此,在实际应用中,应该首先将超图转化为简单图,然后再应用图学习算法来解决下游任务。
3.1 传统超图展开算法(Traditional Hypergraph Expansions)
传统超图展开算法中,两个最经典的超图展开算法分别是超边展开(clique expansion)、星展开(star expansion)。这两个超图展开算法都有对应的弊端。
我们以co-authorship为例:假设超点表示作者,每一条超边表示一篇论文。使用clique expansion展开超图后,我们无法知道哪几个作者合作发表了一篇论文。而使用星展开后,原本的超图则转化为了异质结构,而大多数图学习算法是基于同质图设计的。因此,我们可以说这两种传统超图展开算法在许多应用场合并不足够优越。
3.2 我们提出的超图的线展开算法(Hypergraph Line Expansion)
LE算法的思想:"vertices are connected to multiple edges and edges are conversely connected to multiple vertices",因此LE算法将超点和超边同等对待。
LE算法将超图(G_H)按照如下方式转化成简单图(G_l):
- 每一个<超点,超边>组合,产生一个新的节点,称为“线点”(如图2所示,每一个节点都对应一个不同的<超点,超边>组合)。
- 在这些节点中,如果节点(S_i=<v_a,e_b>,S_j=<v_c,e_d>),如果(v_a = v_c) 或 (e_b = e_d),则在(S_i)和(S_j)中连接一条边。
这一规则用数学语言描述如下:
对于生成的简单图,LE算法将节点之间的邻域定义如下:
two line nodes are neighbors when they contain the same vertex (vertex similarity) or the same hyperedge (edge similarity).
3.3 实体投影(Entity Projection)
在这一节中,我们定义超图实体(例如,超点和超边)的投影矩阵,用于将超图(G_H=(V,E))投影至简单图(G_l=(V_l,E_l))。在简单图(G_l)中,每一个线点((v,e))都可以被看作一个具备超边上下文的超点,或具有超点上下文的超边。概括而言,LE算法能够较好地联系高维数据。
-
超点投影矩阵(vertex projection matrix)
[P_v in {0,1}^{|V_l| imes |V|}\ P_v(v_l,v)= left{ egin{align} &1 v_l = (v,e), exists e in E \ &0 otherwise end{align} ight. ]这里有一个性质:(P_v)矩阵每一行有且仅有一个1,其余全为0。
这是因为,对于一个线点(v_l = (v,e)),其对应的超点有且仅有一个。
-
超边投影矩阵(hyperedges projection matrix)
[P_e in {0,1}^{|V_l| imes |E|}\ P_v(v_l,e)= left{ egin{align} &1 v_l = (v,e), exists v in V \ &0 otherwise end{align} ight. ]
3.3.1 定理1 超图(G_H)经过LE算法到简单图(G_l)的投影为双射
这一定理的证明篇幅很大,从略。但是,我们可以根据这一定理定义出(G_l)到(G_H)的逆变换,用于还原超点的高维数据信息。
我们在这里定义超点反投影矩阵(vertex back-projection matrix)(P_v' in R^{|V| imes|V_l|})
类似的,我们可以定义超边反投影矩阵(hyperedges back-projection matrix)(P_e'in R^{|E| imes|V_l|})来还原超边的高维数据信息。
3.3.2 超图经过线展开所得到的简单图(G_l)与其星展开的线图(L(G_s))相同
线图(line graph)定义见:https://en.wikipedia.org/wiki/Line_graph
4. 超图表示学习(Hypergraph Representation Learning)
我们上述提到的LE算法,仅仅介绍了如何在结构上将超图转化为简单图。在定义了从(G_H)到(G_l)的双射之后,我们可以轻松地将超图学习问题转化为图学习问题。然而,目前为止我们只能处理无边权的超图。
4.1 用LE算法进行超图学习(Hypergraphs Learning with Line Expansion)
LE算法进行超图学习的工作流程可以概括为如下三步:
-
将每一个超点投影成若干个图节点(利用超点投影矩阵)
LE算法已经给出了超点投影矩阵的定义,即每一个不同的(<v,e>)对会产生一个新的线点,并在每一个超点相同或超边相同的线点之间连接一条简单边。此外,我们还要考虑生成的简单图(G_l)的点权和边权的问题。
论文中介绍了如下规则来分配图节点的features:
假设有线点(v_l = <v_H,e>),那么线点(v_l)的features即为超点(v_H)的features
论文中介绍了如下规则来分配超边的边权:
首先,需要引入两个参数:超点相似度(w_v)、超边相似度(w_e)。一般可以设置为(w_v = w_e = 1)。
然后定义了简单图(G_l)上的带权邻接矩阵(A_l)(见下方),(A_l)的每一个非0项都对应某一个边的边权(0项表示这条边不存在)。
-
在投影得到的简单图上应用图学习算法(如GCNs)
-
将简单图逆投影为超图(利用超点逆投影矩阵)