• 超图的线展开(Hypergraph Learning with Line Expansion)


    超图的线展开(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)

    截屏2021-02-28 上午10.45.53

    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

    下面这一公式表示了超图节点分类的损失函数:

    截屏2021-02-28 上午11.10.00

    3. 超图的线展开(Hypergraph Line Expansion)

    许多知名的图学习算法都基于简单图这一数据结构而非超图。因此,在实际应用中,应该首先将超图转化为简单图,然后再应用图学习算法来解决下游任务。

    3.1 传统超图展开算法(Traditional Hypergraph Expansions)

    传统超图展开算法中,两个最经典的超图展开算法分别是超边展开(clique expansion)星展开(star expansion)。这两个超图展开算法都有对应的弊端。

    我们以co-authorship为例:假设超点表示作者,每一条超边表示一篇论文。使用clique expansion展开超图后,我们无法知道哪几个作者合作发表了一篇论文。而使用星展开后,原本的超图则转化为了异质结构,而大多数图学习算法是基于同质图设计的。因此,我们可以说这两种传统超图展开算法在许多应用场合并不足够优越。

    截屏2021-02-28 下午12.01.59

    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)

    1. 每一个<超点,超边>组合,产生一个新的节点,称为“线点”(如图2所示,每一个节点都对应一个不同的<超点,超边>组合)。
    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)中连接一条边。

    这一规则用数学语言描述如下:

    截屏2021-02-28 下午4.14.32

    对于生成的简单图,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|})

    [P_v'(v,v_l)= left{ egin{align} & frac{frac{1}{sigma{(e)}}}{sum{frac{1}{sigma{(e)})}}} v_l=(v,e),exists e in E,\ & 0 otherwise. end{align} ight. ]

    类似的,我们可以定义超边反投影矩阵(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

      截屏2021-03-01 上午9.48.24

      论文中介绍了如下规则来分配超边的边权:

      首先,需要引入两个参数:超点相似度(w_v)、超边相似度(w_e)。一般可以设置为(w_v = w_e = 1)

      然后定义了简单图(G_l)上的带权邻接矩阵(A_l)(见下方),(A_l)的每一个非0项都对应某一个边的边权(0项表示这条边不存在)。

    • 在投影得到的简单图上应用图学习算法(如GCNs)

      截屏2021-03-01 上午9.47.28
    • 将简单图逆投影为超图(利用超点逆投影矩阵)

    截屏2021-03-01 上午9.49.06
    ---- suffer now and live the rest of your life as a champion ----
  • 相关阅读:
    使用NPOI导出Excel 并设置Excel样式(合并单元格、行高、宽度、字体、边框、位置)...
    DevExpress GridView 单元格进度条
    c# groupBox 带标题边框,标题居中,重写控件
    COCO数据集下载断断续续后unzip无法解压
    SSD_论文+代码(pytorch)
    开始机器学习
    收藏 —— KVM网络虚拟化
    收藏 —— 教你阅读Python开源项目
    收藏 —— 活动目录讲解
    系统计划 Cron作业 为什么/etc/crontab /etc/cron.d /etc/cron.* 那么多的定义方式????
  • 原文地址:https://www.cnblogs.com/popodynasty/p/14458618.html
Copyright © 2020-2023  润新知