连接

图卷积

原文:http://tkipf.github.io/graph-convolutional-networks/

 

多层图卷积网络 (GCN) with first-order filters.

 

GCNs Part I: Definitions

给定一个网络结构G=(V,E),

  1. N个节点,每个节点有D维信号或特征,即节点输入信号为N*D维矩阵, 记作X

  2. 图结构表示,邻接矩阵A

  3. 放入到图卷积网络中,得到输出Z,其中ZN*F矩阵, F代表每个节点输出的特征维度

 

至于这个多层图卷积网络可以写成:

H(l+1)=f(H(l),A)

其中H(0)=X, H(L)=Z, 所以关键就是f(·,·)该怎么选取,以及内部参数的优化

 

GCNs Part II: A simple example

 假设f(·,·)选取如下:

f(H(l),A)=σ(AH(l)W(l))

σ()为非线性函数(i.e., ReLU).

需要注意的是:

  1. 在和矩阵A相乘的时候,把邻居的信号进行了相加处理,但并没有加上自己的信号,所以我们需要强行加上自环.

  2. 网络的规模,受到尺度影响,需要归一化操作. 最简单的就是使得归一化的A的行和为1,i.e., D1A, 也就是对邻居信号做了平均. 但实际操作中,经常采用一个对称化的归一化操作,i.e.,  D1/2AD1/2

 

结合上面两条小trick,图卷积层可以表示为:

 

其中节点度构成的对角矩阵

 

 

GCNs Part III: Embedding the karate club network

 

Karate club graph, colors denote communities obtained via modularity-based clustering (Brandes et al., 2008)

下面为如何用GCN来分析这个空手道俱乐部图(Karate club graph)

   1. 采用3GCN,随机初始化权重

  2. 输入X=I, 因为我们这里没有节点特征.

然后我们就可以进行前向传播了,通过这3层传播,我们就可以得到每个节点对应的输出。如下图(此时,还没训练!):

CN embedding (with random weights) for nodes in the karate club network.

PS: DeepWalk(Perozzi et al., KDD 2014) 能够非监督的学到相似的嵌入结果

 

 

posted @ 2018-07-09 21:47  朱群喜_QQ囍_海疯习习  阅读(475)  评论(0编辑  收藏  举报
Map