• 图卷积


    原文: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) 能够非监督的学到相似的嵌入结果

     

  • 相关阅读:
    数组的简单操方法
    Java Script 流程控制语句(if判断、switch选择和循环)
    HTML,表单
    CSS盒子定位
    CSS基础选择器简单介绍
    java操作redis
    ios选择城市
    格式化java对象为json
    java冒泡排序法
    mongoDB group分组
  • 原文地址:https://www.cnblogs.com/skykill/p/9286273.html
Copyright © 2020-2023  润新知