参考链接: https://www.zhihu.com/question/54504471/answer/611222866

1 拉普拉斯矩阵

  1. 参考链接: http://bbs.cvmart.net/articles/281/cong-cnn-dao-gcn-de-lian-xi-yu-qu-bie-gcn-cong-ru-men-dao-jing-fang-tong-qi
  2. L = D - A, A 为图的邻接矩阵, D 为顶点度的对角矩阵, L 为 拉普拉斯矩阵

 
 

1.1 拉普拉斯矩阵的类别

3 图卷积的参数

 
 

  1. 参考链接: http://bbs.cvmart.net/articles/281/cong-cnn-dao-gcn-de-lian-xi-yu-qu-bie-gcn-cong-ru-men-dao-jing-fang-tong-qi
  2. 由 1 小节得知, 图卷积的公式, 图卷积训练的参数在公式中对角矩阵中, GCN 的训练有两个版本, 第一版思维简单但是因为其缺点已经不再使用, 现在大都使用第二个版本

     
     

3.1 第一代图卷积训练

    1. 直接将对角矩阵中对角上的值当做参数
    2. 表示激活函数
    3. 表示输入向量
  1. 优点
    1. 发现中间的除去 的公式为拉普拉斯矩阵的分解公式, 那么在运算中不再需要分解公式, 直接使用拉普拉斯矩阵即可, 减少了计算量
    2. 参数少

 
 

3.2 第二代图卷积训练

    1. 将 转为了 , 其中为任意参数, 需要进行随机初始化, 即边的权重
    2. 借助 U 和拉普拉斯矩阵的特征进行化简, 得到
        1. L 表示拉普拉斯矩阵
        2. K 表示顶点的阶数, 顶点的邻居节点
        3. x 表示输入的特征, 为了形象的理解, 以一张灰度图为例
          1. 图的结构即图像的方格排列, 不需要人为的设计, 因为图片的形状就是如此, 每一个方格是图的一个顶点
          2. 像素值即每一个顶点的特征, 只不过在一般的图结构中, 顶点的值为一个特征向量
          3. 表示边的权重, 也是网络需要训练并且优化的参数

 
 

 
 

3.3 图解图卷积

 
 

  1.  

 
 

  1.  

 
 

  1. GCN每一次卷积对所有的顶点都完成了图示的操作

4 GCN 分类的效果

 
 

  1. 图结构如下

  2. 输入 PageID, IP, UA, DeviceID, UserID, 通过卷积, 得到中间节点的特征, 也就是分类的结果
  3. 与比较 GBDT 相比, 效果更好

5 图卷积网络的拓扑结构

  1. 参考链接: https://mp.weixin.qq.com/s/356WvVn1Tz0axsKd8LJW4Q
  2. 拓扑结构

    1. 和 CNN 类似, 每一层都是叠加堆积在一起的, 经过卷积得到的结果, 通过激活函数(ReLU, Sigmoid等)传到下一层
    2. 不是每一个顶点都要进行卷积重新计算新的特征, 而是选择靠近中心的顶点
    3. 在上图中, 表示的不是图的结构, 也不是边所代表的的权重, 而是每一个顶点对应的特征向量, 在图片中, 每一个顶点对应的是一个标量, 即像素值
    4. 3 图卷积的参数中提到了图卷积的参数与公式, 第二代的图卷积公式在运用的时候回转变成一个更清晰的表示公式
      1.  
         

        1. 表示标准化系数
        2. H 表示上一层每一个顶点的特征向量, 维度为 NxF, N 表示顶点个数, F 表示特征向量的维度
        3. W 表示边权重
        4. 公式的定性理解
          1. 选定一个顶点 V, 确定邻域, 如果个数不到邻域个数, 则补充哑顶点, 如果超过, 则删除对于的顶点
          2. 获取邻域中顶点的特征向量, 将其余顶点 V 的边(权重)相乘再相加, 得到新的维度的特征向量
          3. 防止较大的尺度变化, 将得到的结果进行标准化

         
         

    5. 图卷积的特点
      1.  
         

Hello GCN的更多相关文章

  1. GCN code parsing

    GCN code parsing 2018-07-18 20:39:11 utils.py  --- load data  def load_data(path="../data/cora/ ...

  2. 【语义分割】large kernel matters中GCN模块的pytorch实现

    GCN模块的实现比较简单,在giuhub上看到两种实现,轻微不同 实现一:https://github.com/ycszen/pytorch-segmentation/blob/master/gcn. ...

  3. GCN和GCN在文本分类中应用

    1.GCN的概念        传统CNN卷积可以处理图片等欧式结构的数据,却很难处理社交网络.信息网络等非欧式结构的数据.一般图片是由c个通道h行w列的矩阵组成的,结构非常规整.而社交网络.信息网络 ...

  4. GNN 相关资料记录;GCN 与 graph embedding 相关调研

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  5. GCN 实现3 :代码解析

    1.代码结构 ├── data // 图数据 ├── inits // 初始化的一些公用函数 ├── layers // GCN层的定义 ├── metrics // 评测指标的计算 ├── mode ...

  6. GCN实现3

    参考 : 首先看两篇论文,大概了解一下原理性的东西: GRAPH CONVOLUTIONAL NETWORKS THOMAS KIPF, 30 SEPTEMBER 2016 http://tkipf. ...

  7. GCN 简单numpy实现

    `#参考:https://blog.csdn.net/weixin_42052081/article/details/89108966 import numpy as np import networ ...

  8. GCN python 实现2:利用GCN进行节点分类

    参考:https://www.baidu.com/link?url=5oU-O_YQV8DdSTtRkgzsQ_vuwjJHyUOxqeAKhq98ZA5XtvKW8PNQwXgSlr5GpESRqh ...

  9. GCN

    REFERENCE: https://www.jianshu.com/p/ad528c40a08f https://www.zhihu.com/question/54504471 图有两个基本的特性: ...

  10. GCN总结

    一.GCN简介 GNN模型主要研究图节点的表示(Graph Embedding),图边结构预测任务和图的分类问题,后两个任务也是基于Graph Embedding展开的.目前论文重点研究网络的可扩展性 ...

随机推荐

  1. python上selenium的弹框操作

    selenium之弹框操作 1,分类 弹框类型自见解分为四种: 1,页面弹框 2,警告提示框(alert) 3,确认消息框(confirm) 4,提示消息对话(prompt) 提示:selenium ...

  2. nginx配置文件服务器——带说明

    需求: 搭建一个文件服务器,提供指定软件下载,在访问文件服务器下载软件时,在访问的主页上要有对应的软件使用.安装等说明(本来是可以搞一个readme的,但这个在文件服务器上要下载还要打开,还不如直接显 ...

  3. Python Ethical Hacking - ARP Spoofing

    Typical Network ARP Spoofing Why ARP Spoofing is possible: 1. Clients accept responses even if they ...

  4. Python Ethical Hacking - VULNERABILITY SCANNER(3)

    Polish the Python code using sending requests in a session Class Scanner. #!/usr/bin/env python impo ...

  5. P5198 [USACO19JAN]Icy Perimeter S (洛谷) (水搜索)

    同样是因为洛谷作业不会写…… 写(水)博客啦. 直接放题目吧,感觉放在代码框里好看点 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他 ...

  6. collection集合常用功能

    java.util.Collection接口 是所有单列集合最顶层的接口,里面定义了所有单列集合的共性方法 1.public boolean add(E e)     添加元素 2.public bo ...

  7. nginx 日志功能详解

    nginx 日志功能 在 nginx 中有两种日志: access_log:访问日志,通过访问日志可以获取用户的IP.请求处理的时间.浏览器信息等 error_log:错误日志,记录了访问出错的信息, ...

  8. 题解 CF917D 【Stranger Trees】

    生成树计数问题用矩阵树定理来考虑. 矩阵树定理求得的为\(\sum\limits_T\prod\limits_{e\in T}v_e\),也就是所有生成树的边权积的和. 这题边是不带权的,应用矩阵树定 ...

  9. SpringBoot + Spring Cloud Consul 服务注册和发现

    什么是Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更"一站式" ...

  10. 一文了解JDK12 13 14 GC调优秘籍-附PDF下载

    目录 简介 那些好用的VM参数 G1的变化 配置FlightRecorder RAM参数 JDK13中的ZGC RTM支持 总结 简介 想了解JDK12,13,14中的GC调优秘籍吗?想知道这三个版本 ...