Multi-Label Node Classification on Graph-Structured Data,TMLR’23
Code
学习笔记
节点表示或嵌入方法
通常会生成查找表,以便将相似的节点嵌入的更近。学习到的表示用作各种下游预测模块的输入特征。
表现突出的方法是基于随机游走(random walk)的方法:通过节点在随机游走中的共现频率(co-occurrence frequency)来定义节点之间的相似性。[在随机游走的过程中,如果两个节点经常在一起出现,即它们在游走序列中共现的频率较高。]比如DeepWalk
CNN.其他方法比如说使用卷积神经网络,首先通过聚合局部邻域的特征信息来提取节点表示。然后将提取的特征向量与标签嵌入融合以生成最终的节点嵌入。比如LANC
图神经网络(GNNs)
通过递归聚合和转换其邻居的特征表示来计算节点表示,然后将其传递到分类模块。图卷积运算的第k层可以描述为:
z
i
(
k
)
=
A
G
G
R
E
G
A
T
E
(
{
x
i
(
k
?
1
)
,
{
x
j
(
k
?
1
)
∣
j
∈
N
(
i
)
}
}
)
z_i^{(k)}=AGGREGATE(\left \{ \mathbf{x}_i^{(k-1)},\left \{ {\mathbf{x}_j^{(k-1)}|j\in N(i)} \right \}\right \})
zi(k)?=AGGREGATE({xi(k?1)?,{xj(k?1)?∣j∈N(i)}})
对于多标签节点分类,采用sigmoid层作为最后一层来预测类别概率:
y
←
(
sigmoid
(
z
i
(
L
)
θ
)
)
\mathbf{y}\gets (\text{sigmoid}(z_i^{(L)}\theta ))
y←(sigmoid(zi(L)?θ))
θ
\theta
θ对应于分类模块中的可学习权重矩阵。
GNN模型的主要区别在于聚合层的实现。最简单的模型是GCN:对邻域特征采用度加权(degree-weighted)聚合;
GAT采用了多个堆叠的图注意力层,它允许节点关注其邻域的特征;
GraphSAGE仅使用邻域的随机样本进行特征聚合步骤。
一般来说,GNNs在高**同配图(连接的节点往往共享相同的标签)**表现出更好的性能。H2GCN显示了在异配图上(多类设置)的改进:将邻居聚合的信息与自我节点的信息分开。此外,它利用高阶邻域信息来学习信息丰富的节点表示。
标签传播(label propagation)
LPA算法和GNNs都基于消息传递。GNNs传播和变换节点特征,而LPA沿着图的边缘传播节点标签信息,以预测未标记节点的标签分布。 最近的一些工作将他们结合起来,比如GCN-LPA利用LPA作为正则项来帮助GCN学习适当的边权重,从而提高分类性能。
本文提出多标签图数据集的同配性定义
GNNs的性能通常根据标签同配性来讨论,标签同配性量化了图中相似节点之间的相似性,特别是,标签同配性在文(Beyond homophily in graph neural networks: Current limitations and effective designs)中被定义为图中同配边的分数:其中如果一条边连接具有相同标签的两个节点,则该边被认为是同配的。
这一定义不能直接用于多标签图数据集,因为每个节点可以有多个标签,并且在多标签dataset中两个连接节点的整个标签集相同的情况很少见。通常,两个节点共享其部分标签。
给定一个多标签图
G
G
G,其同配性
h
h
h定义为图中所有连通节点的标签集的杰卡德(Jaccard)相似度的平均值:
h
=
1
∣
ε
∣
∑
(
i
,
j
)
∈
ε
∣
l
(
i
)
∩
l
(
j
)
∣
∣
l
(
i
)
∪
l
(
j
)
∣
.
h=\frac{1}{|\varepsilon |}\sum _{(i,j)\in \varepsilon }\frac{|l(i)\cap l(j)|}{|l(i)\cup l(j)|} .
h=∣ε∣1?(i,j)∈ε∑?∣l(i)∪l(j)∣∣l(i)∩l(j)∣?.
标签同配性是一阶标签引起的相似性,因为它根据相邻节点的标签分布来量化相邻节点之间的相似性。
二阶标签诱导度量,量化任何两个节点的邻域之间的相似性。
异配图的CCNS较低,同配图的CCNS更高
‘25%’、'50%'和’75%'对应于节点的标签数量的排序列表的第25、第50和第75位。即,有 25%、'50%‘或’75%’ 的节点的标签数目小于或等于这个值。
- DBLP
- EukLoc
- HumLoc
- PCG