Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

Introduction

这篇文章的主要思想,是基于半监督学习的两个基本假设

  • (1)局部一致性:距离比较近的数据,通常有相同的标签;
  • (2)全局一致性:处在相似的上下文中的数据,通常有相同的标签。如下图所示,该图卷积网络包括两个通路,ConvAConvA嵌入了半监督分类局部一致性的信息,是一个传统的图卷积过程;ConvPConvP 嵌入了半监督分类全局一致性的信息,是作者的一个创新点。在两个通路后,作者设计了一个新的LossLoss 函数,可以将局部一致性和全局一致性完美结合,取得一个好的实验效果。
  • Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

Local Consistency Convolution:ConvAConvA

convAconvA 的计算公式如下:
Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

  • A~=A+IN\tilde{A} = A + I_N 是无向图GG的自环邻接矩阵。
  • INI_N是单位矩阵。
  • D~ii=jA~ij\tilde{D}_{ii} = \sum_j \tilde{A}_{ij}A~\tilde{A} 的度矩阵。
  • W(i)W^{(i)}是可训练的权重矩阵,即网络的参数。
  • D~12A~D~12\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}是对邻接矩阵AA的归一化
  • σ()\sigma(\cdot)是**函数,比如ReLUReLU
  • Z(i)RN×DZ^{(i)} \in \mathbb{R}^{N \times D}是第ii层的**矩阵,即网络的输出。
  • Z(0)=XZ^{(0)}=X第一层为输入。

对邻接矩阵进行归一化处理,可以很好的在每一层中进行1hop diffusion process1-hop\ diffusion\ process。但是,只使用局部一致性会使得一部分并不属于一类的点距离很近,以至于被错误的分为一类。

举例
按局部信息进行计算,883030距离很近,但实际标签一个为红一个为绿,标签不同。因此为解决这个问题,引入全局一致性信息,引入了ConvPConvP
Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

Global Consistency Convolution:ConvPConvP

作者使用随机游走的策略,生成频率矩阵,进而生成PPMIPPMI矩阵。PPMIPPMI矩阵可以很好的嵌入语义信息,利用数据的全局一致性。

获得频率矩阵FF:

  • (1)确定节点的随机游走长度γ\gamma,采样次数ww,初始化频率矩阵FF值为00
  • (2)以节点xix_i为起点,开始以00为步长随机游走,得到所有可能的情况,表示为点对集合S={(xn,xm)}S=\{{(x_n,x_m)}\},接着以等式8(8)作为概率采样ww次,得到ww对点对。
  • (3)对于点对(xn,xm)(x_n,x_m),在频率矩阵中对应位置Fn,m,Fm,nF_{n,m},F_{m,n}​ 对应加11
  • (4)将游走步长11逐渐变化到γ\gamma,循环(2)(3)(2)(3)步骤。
  • (5)对于所有的节点,执行(2)(3)(4)(2)(3)(4)步骤得到频率矩阵FF
    伪代码如下:
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    马尔可夫链描述了随机游走所访问的节点的顺序,通常被称为随机游走。每个节点的转移概率可以由等式8(8)计算得到:
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    构建PPMI矩阵P:
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
  • ConvPConvP的热度图想对于ConvAConvA有所不同
  • 通过tstochastic neighbor embeddings(SNEs)t-stochastic\ neighbor\ embeddings(SNEs)对结果进行比较,883030距离有所增大
    PPMI介绍
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
  • 除了这个以外,我们还可以在加入拉普拉斯平滑
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
    Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

整合局部和全局一致性

Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
DualGCNDualGCN伪代码如下:
Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

DGCNDual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification
https://github.com/ZhuangCY/DGCN