• Paper:基于图卷积神经网络(Graph Convolutional Networks GCN)的半监督分类


    本文为“SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS”, 作者ThomasN.Kipf。

    本文是基于谱的图卷积网络用来解决半监督学习的分类问题,输入为图的邻接矩阵A,和每一个节点的特征向量H

    本问对应的代码为 https://github.com/tkipf/gcn.

    半监督学习主要是cross entropy 损失函数的使用,让只用部分样本也能达到在全部样本的作用下更新参数的效果。

    1. 图上谱卷积

    A为邻接矩阵, ,D为矩阵A的对角矩阵,,Hl 为当前层输入,H(l+1)为当前层输出。

     我们定义图上的谱卷积为: 一个信号X  乘以 一个过滤器 gtheta = diag(theta), 这个过滤器含有傅里叶阈内的参数theta。

     2. 例子

    假设我们使用一个两层的GCN的半监督节点分类,假设输入为对称的邻接矩阵A(整数或者小数都行),每个结点的特征向量X.(最好邻接矩阵里面的信息不包含在data X中)

    以一个两层的GCN为例子。

     首先计算, 其中A~为A+I, I为单位矩阵, D为A~的对角矩阵。

     

    两层的更新,第一层用Relu更新,第二层用softmax激活函数。

     

     正向传播使用所有的样本, 损失函数用cross-entropy error, 损失函数计算只使用所有label部分,反向传播使用梯度下降。 

    因为正向传播使用所有的样本,而计算cross function 只使用了label部分,而在反向传播的时候,做梯度下降的时候又使用了所有的样本的值做更新,所以叫做半监督学习。

    其中只有coss function使用了label样本。

    半监督学习主要是cross entropy 损失函数的使用,让只用部分样本也能达到在全部样本的作用下更新参数的效果。

     Cross entropy 的计算公式。

     3. 基于图的表示的半监督学习(semi-supervised learning using graph representations)

    主要分为两类:

    (1)基于图拉普拉斯正则化的方法

    (2)Graph embedding-based 方法

    4. Node embeddings with random weight

    著名的Zachary的空手道俱乐部的例子,使用3层GCN模型, 每层使用随机权重。

    由下图可以看到,随机的权重值也可以给点很好的分开,非常的神奇。

  • 相关阅读:
    efwplus框架
    注册区域
    社招面试记录与总结
    验证码 Captcha 之大插件
    发生内存泄漏?
    Flume+LOG4J+Kafka
    协议如何保证可靠传输
    oracle之spool详细使用总结(转)
    SSH协议详解(转)
    oracle nologging用法(转)
  • 原文地址:https://www.cnblogs.com/xinyuePhd/p/12690963.html
Copyright © 2020-2023  润新知