论文信息
论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks
论文作者:Tianxiang Zhao, Xiang Zhang, Suhang Wang
论文来源:2021, WSDM
论文地址:download
论文代码:download
1 Introduction
节点分类受限与不同类的节点数量不平衡,本文提出过采样方法解决这个问题。
图中类不平衡的例子:
图中:每个蓝色节点表示一个真实用户,每个红色节点表示一个假用户,边表示关系。任务是预测未标记的用户(虚线圈)是真实的还是假的。这些类在本质上是不平衡的,因为假用户通常还不到所有用户的1%。半监督设置进一步放大了类不平衡问题,因为我们只给出了有限的标记数据,这使得标记的少数样本的数量非常小。
在不平衡的节点分类中,多数类主导着损失函数,使得训练后的 GNNs 对这些类过度分类,无法准确预测样本。
目前解决类不平衡问题的方法可以分为:
-
- data-level approaches(数据级方法)
- algorithm-level approaches(算法级方法)
- hybrid approaches(混合方法)
数据级方法寻求使类分布更加平衡,使用过采样(over-sampling)或降采样(down-sampling)技术 [8,26];算法级方法通常对不同的类[11,22,44]引入不同的错误分类惩罚或先验概率;混合方法[9,23]将这两者结合起来。
以前的算法并不容易适用于图。
-
- 首先,对产生的新样本,很难生成边关系。主流过采样技术[26]利用目标示例与其最近邻之间的插值来生成新的训练示例。然而,插值不适合于边,因为它们通常是离散的和稀疏的,插值可以破坏拓扑结构。
- 第二,产生的新样本可能质量较低。节点属性是高维的,直接对其进行插值很容易生成域外的例子,对训练分类器不利。
2 Related work:Class Imbalance Problem
2.1 data-level method
通过过采样和下采样的方法调整类结构。
过采样的一般形式是直接复制现有样本,带来的问题是没有引入额外信息,容易导致过拟合问题。
SMOTE[8] 通过生成新样本来解决这个问题,在少数类和最近邻的样本之间执行插值,在此基础上的方法:
-
- Borderline-SMOTE [15] 将过采样限制在类边界附近的样本;
- Safe-Level-SMOTE [7]使用多数类邻居计算每个插值的安全方向,以使生成的新样本更安全;
- Cluster-based Over-sampling [17] 首先将样本聚为不同的组,而不是单独的过样本,考虑到输入空间中经常存在小区域;
下采样丢弃多数类中的一些样本,也可使类保持平衡,但代价是丢失一些信息。为此,提出只删除冗余的样本,如 [3,20]。
2.2 hybrid method
Cost sensitive learning [22,44] 通常构造一个成本矩阵,为不同的类分配不同的错误分类惩罚。效果类似于普通的的过采样。[28] 提出了一种近似于 $F$ 测量的方法,它可以通过梯度传播直接进行优化。
2.3 algorithm-level method
它结合了来自上述一个或两个类别的多个算法。[23] 使用一组分类器,每个分类器都在多数类和少数类的一个子集上进行训练。[9] 结合了 boosting 与SMOTE,[16] 结合了过采样与成本敏感学习。[33] 引入了三种成本敏感的增强方法,它们迭代地更新每个类的影响以及 AdaBoost参数。
3 Problem definition
在本文中,我们使用 $\mathcal{G}=\{\mathcal{V}, \mathrm{A}, \mathrm{F}\}$ 来表示一个属性网络,其中 $\mathcal{V}=\left\{v_{1}, \ldots, v_{n}\right\}$ 是一组 $n$ 节点。$\mathrm{A} \in \mathbb{R}^{n \times n}$ 为 $\mathcal{G}$ 的邻接矩阵, $\mathrm{F} \in \mathbb{R}^{n \times d}$ 表示节点属性矩阵,其中 $\mathrm{F}[j,:] \in \mathbb{R}^{1 \times d}$ 为节点 $j$ 的节点属性,$