zoukankan      html  css  js  c++  java
  • 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模型, 每层使用随机权重。

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

  • 相关阅读:
    Excel与Access的互作
    ThinkPHP第三天(公共函数Common加载,dump定义,模板文件,定义替换__PUBLIC__)
    ThinkPHP第四天(U函数,URL类型参数配置,伪静态后缀名配置,数据传递与获取$_GET等)
    ThinkPHP第六天(正则表达式)
    PHP函数积累
    bootstrap基础知识点YI
    集合中的方法
    hashable与unhashable
    集合的特点
    元组
  • 原文地址:https://www.cnblogs.com/xinyuePhd/p/12690963.html
Copyright © 2011-2022 走看看