《Graph Representation Learning》
《Graph Representation Learning》。Hamilton大神的书。
Abstract
这本书的目标是提供一个图形表示学习的综合和概述。我们首先讨论图表示学习的目标,以及图论和网络分析的关键方法论基础。在此基础上,我们介绍并回顾了节点嵌入的学习方法,包括基于随机游走的方法及其在知识图中的应用。然后,我们对高度成功的图形神经网络(GNN)形式进行了技术综合和介绍,它已成为图形数据深度学习的主导和快速发展的范例。这本书最后综合了图形的深层生成模型的最新进展,这是一个新生的,但快速增长的图形表示学习子集。
1 Introduction
图是一种普遍存在的数据结构,是描述复杂系统的通用语言。图(Graph)是对象(即节点)的集合,以及这些对象对之间的一组交互(即边)。
图的力量在于它关注点之间的关系(而不是单个点的属性),以及它的一般性。
研究人员不缺乏有意义的可进行分析的图数据,挑战在于如何发掘这些图数据的潜力。
虽然机器学习并不是唯一可用的方法,但是鉴于我们所要分析的图形数据集的规模和复杂性不断增加,机器学习显然可以提高我们建模、分析和理解图形数据的能力。
1.1 What is a graph?
图的定义: G = ( V , E ) G=(V,E) G=(V,E)。基本概念就不赘述了。。。
在许多情况下,我们只关心简单图(simple graph),其中每对节点之间有一条边,一个节点和它本身之间没有边,并且这些边都是无向的。
此外,还有有向图(directed)、带权图(weighted)等。
1.1.1 Multi-relational Graphs
多关系图,具有多种不同类型边的图。
为了表达出多种关系(relation):
边的定义:
(
u
,
τ
,
v
)
∈
E
(u,\tau,v)\in E
(u,τ,v)∈E,
τ
\tau
τ代表某种关系。
邻接矩阵:为每一类关系都定义一个
A
τ
A_{\tau}
Aτ。
A
∈
R
∣
V
∣
×
∣
R
∣
×
∣
V
∣
A\in R^{|V|\times |R|\times |V|}
A∈R∣V∣×∣R∣×∣V∣
多关系图主要分为2类:
(1)异构图(Heterogeneous graphs)
(2)多重图(Multiplex graphs)
1.1.2 Feature Information
在许多情况下,我们还拥有与图相关联的属性或特征信息。这些通常是节点级属性,我们使用实值特征矩阵 X ∈ R ∣ V ∣ × m X\in R^{|V|\times m} X∈R∣V∣×m来表示。
Graph or network?
我们使用图(Graph)来描述抽象的数据结构,这是本书的重点,但我们也经常使用网络(Network)来描述这种数据结构的具体、真实的实例。
1.2 Machine learning on graphs
图上的机器学习问题常常模糊了传统机器学习类别之间的界限。我们无法清晰的区分这个任务到底是监督、半监督或者无监督学习。下面将主要介绍一些比较流行的图学习任务。
1.2.1 Node classification
节点分类的目标是预测节点的标签(label)。在这类任务中,一般只给很小的节点子集进行标注。
乍一看,节点分类似乎是标准监督分类的一个直接变体,但实际上有大的不同。最重要的区别是图中的节点不是独立同分布的,即不满足 ( i . i . d . ) (i.i.d.) (i.i.d.)。我们不是对一组 ( i . i . d . ) (i.i.d.) (i.i.d.)数据点进行建模,而是对一组相互连接的节点进行建模。
因此,比较好的方法是先是利用节点之间的连接关系进行建模,给相邻节点分配相似的label,或者给具有相似局部结构的节点分配相似的label。
1.2.2 Relation prediction
如果图中本身就缺少很多关系(边)呢?我们就需要对图中缺失的边进行补全了。
这个任务有许多名称,如链接预测、图生成和关系推理,具体取决于特定的应用领域。我们将简单地称之为关联预测或关系预测(relation prediction)。
关系预测的目标是预测图中丢失的边。
1.2.3 Clustering and community detection
社区检测(Community detection),是一种无监督的聚类。
它将节点分为不同的簇(cluster),以此来推断潜在的社区结构。
1.2.4 Graph classification, regression, and clustering
图分类是在具有多个图的集合中,对每一张图进行预测任务。
因为图之间是相互独立的,在所有关于图的机器学习任务中,图回归和分类可能是标准监督学习最直接的类比。每个图都是一个与标签相关联的 ( i . i . d . ) (i.i.d.) (i.i.d.)数据点,目标是使用一组带标签的训练点从数据点学习出label。