【GCN】论文笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS

本文详述了图卷积网络(GCN)如何用于半监督节点分类,探讨了谱图卷积的局部一阶近似,提出线性模型,包括K=1的2参数模型和1参数模型。GCN模型能在图数据的边数上线性缩放,学习节点的局部图结构和特征表示。实验展示了GCN在引文网络和知识图数据集上的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为论文SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS的阅读笔记.
github链接:Graph Convolutional Networks


SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS

基于图卷积网络的半监督分类

摘要

  • 通过谱图卷积(spectral graph convolutions) 的局部一阶近似,来确定卷积网络结构。
  • 该模型在图的边数上线性缩放
  • 该模型学习隐藏层表示,这些表示既编码局部图结构、也编码节点特征
  • 通过图结构数据中部分有标签的节点数据对卷积神经网络结构模型训练,使网络模型对其余无标签的数据进行进一步分类

1 INTRODUCTION

使用神经网络模型 f ( X , A ) f(X,A) f(X,A) 对所有带标签节点进行基于监督损失的训练。

  • X X X为输入数据
  • A A A为图的邻接矩阵

在图的邻接矩阵上调整 f ( ⋅ ) f(\cdot) f() 将允许模型从监督损失 L 0 L_0 L0中分配梯度信息,并使其能够学习所有节点(带标签或不带标签)的表示。

2 Graph中的快速卷积

具有以下分层传播规则的多层图形卷积网络(GCN):
(1) H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{(l+1)}=\sigma(\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} H^{(l)} W^{(l)}) \tag{1} H(l+1)=σ(D~21A~D~21H(l)W(l))(1)
其中:

  1. A ~ = A + I N \tilde{A}=A+I_N A~=A+IN为无向图G的带自环邻接矩阵
  2. I N I_N IN为单位矩阵
  3. D ~ i i = ∑ j A ~ i j \tilde{D}_{ii}=\sum_{j}\tilde{A}_{ij} D~ii=jA~ij
  4. W ( l ) W^{(l)} W(l)为layer-specific可训练权重向量
  5. σ ( ⋅ ) \sigma(·) σ()为激活函数,例:ReLU
  6. H ( l ) ∈ R N × D H^{(l)}\in\mathbb{R}^{N\times D} H(l)RN×D为第 l t h l^{th} lth层的激活矩阵; H ( 0 ) = X H^{(0)}=X H(0)=X

2.1 谱图卷积

推荐阅读:【GCN】图卷积网络初探——基于图(Graph)的傅里叶变换和卷积

在上面这篇文章中,我们推导出基于图的卷积公式如下:
( f ∗ h ) G = U ( h ^ ( λ 1 ) ⋱ h ^ ( λ n ) ) U T f (f*h)_G=U \begin{pmatrix} \hat{h}(\lambda_1) & & \\ & \ddots & \\ & & \hat{h}(\lambda_n) \end{pmatrix} U^T f (fh)G=Uh^(λ1)h^(λn)UTf

  • f f f为待卷积函数(比如图的特征向量)
  • h h h为按需设计的卷积核, h ^ \hat{h} h^为卷积核的傅里叶变换
  • U U U为【图的拉普拉斯矩阵】的【特征向量矩阵】
  • λ \lambda λ为图的拉普拉斯矩阵的特征值

    之后,我们又提到了两种卷积核的设计:
    第一代GCN:卷积核: d i a g ( h ^ ( λ l ) ) : d i a g ( θ l ) diag(\hat{h}(\lambda_l)): diag(\theta_l) diag(h^(λl))diag(θl)
    推导出的公式如下:
    y o u t p u t = σ ( U ( θ 1 ⋱ θ n ) U T x ) y_{output}=\sigma \begin{pmatrix} U \begin{pmatrix} \theta_1 & & \\ & \ddots & \\ & & \theta_n \end{pmatrix} U^Tx \end{pmatrix} youtput=σ
### 关于《Semi-Supervised Classification with Graph Convolutional Networks》的中文翻译 以下是《Semi-Supervised Classification with Graph Convolutional Networks》文章的核心内容及其翻译: #### 图卷积网络简介 该研究提出了一种基于图结构数据的半监督分类方法,利用图卷积神经网络(Graph Convolutional Network, GCN)来处理带有图结构的数据集。这种方法通过谱图理论中的局部一阶近似技术,能够有效地对图中的节点特征以及其邻域关系进行编码[^1]。 #### 半监督学习背景 在许多实际场景中,获取标签的成本较高,因此仅有一部分数据被标注,而大部分数据未被标记。这种情况下,半监督学习成为一种重要的解决方案。本文提出的模型能够在少量标注样本的基础上,充分利用大量无标签数据的信息来进行预测和分类任务[^2]。 #### 方法核心 作者引入了一个简单的两层图卷积网络架构,其中每一层都由一个线性变换矩阵乘法操作组成,并结合激活函数以增加非线性特性。具体来说,输入为节点特征向量 X 和描述节点间连接关系的邻接矩阵 A,在经过多轮传播更新之后得到最终表示 H^(L),再通过 softmax 函数转化为概率分布形式完成分类工作[^3]。 #### 实验验证 为了证明所提方案的有效性和优越性能,实验选取了多个标准基准测试集合进行了对比分析。结果显示相比于其他传统算法或者复杂深度学习框架而言,本方法不仅计算效率更高而且取得了更好的效果表现。 --- ```python import numpy as np from tensorflow.keras.layers import Dense from tensorflow.keras.models import Model def gcn_layer(A_hat, input_dim, output_dim): """ 定义单层GCN 参数: A_hat (numpy.ndarray): 预处理后的邻接矩阵 input_dim (int): 输入维度大小 output_dim (int): 输出维度大小 返回: function: GCN 层定义 """ W = np.random.randn(input_dim, output_dim) * 0.01 # 初始化权重参数 b = np.zeros((output_dim,)) def layer(X): return np.dot(np.dot(A_hat, X), W) + b return layer # 构建简单模型实例化过程省略... ``` 上述代码片段展示了如何构建基本版本的一层GCN实现方式之一。 --- #### 总结 通过对图结构特性的深入挖掘,《Semi-Supervised Classification with Graph Convolutional Networks》成功设计出了适用于大规模稀疏图上的高效半监督分类器——即著名的GCNs家族成员之一。它凭借简洁优雅的设计思路赢得了广泛认可并推动了后续一系列改进型变体的发展方向。 ---
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值