参考链接: 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.  
         

GCN 入门的更多相关文章

  1. 图卷积神经网络(GCN)入门

    图卷积网络Graph Convolutional Nueral Network,简称GCN,最近两年大热,取得不少进展.不得不专门为GCN开一个新篇章,表示其重要程度.本文结合大量参考文献,从理论到实 ...

  2. GCN入门理解

    图是信息的最佳表示方式.在一个图中,有通过边(谓之“关系”)连接起来的节点(谓之“实体”).想一想,你的Facebook社交网络是个什么样子的:以你为中心连接上你的朋友们,他们又以不同的方式相互联系. ...

  3. 【GCN】图卷积网络初探——基于图(Graph)的傅里叶变换和卷积

    [GCN]图卷积网络初探——基于图(Graph)的傅里叶变换和卷积 2018年11月29日 11:50:38 夏至夏至520 阅读数 5980更多 分类专栏: # MachineLearning   ...

  4. 图神经网络 PyTorch Geometric 入门教程

    简介 Graph Neural Networks 简称 GNN,称为图神经网络,是深度学习中近年来一个比较受关注的领域.近年来 GNN 在学术界受到的关注越来越多,与之相关的论文数量呈上升趋势,GNN ...

  5. 最全面的图卷积网络GCN的理解和详细推导,都在这里了!

    目录 目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral doma ...

  6. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  7. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  8. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  9. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

随机推荐

  1. 数据分析01 /numpy模块

    数据分析01 /数据分析之numpy模块 目录 数据分析01 /数据分析之numpy模块 1. numpy简介 2. numpy的创建 3. numpy的方法 4. numpy的常用属性 5. num ...

  2. python 装饰器(八):装饰器实例(五)函数装饰器装饰类以及类方法

    函数装饰器装饰类 单例模式 from functools import wraps def singleton(cls): instances = {} @wraps(cls) def get_ins ...

  3. Python模块02/序列化/os模块/sys模块/haslib加密/collections

    Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...

  4. Ethical Hacking - Web Penetration Testing(10)

    SQL INJECTION SQLMAP Tool designed to exploit SQL injections. Works with many DB types, MySQL, MSSQL ...

  5. Oracle Database Tools

    The following are some products, tools, and utilities you can use to achieve your goals as a databas ...

  6. 详解TCP一:三次握手、四次挥手

    TCP协议同样是运输层的协议,掌握TCP重点要关注这几个问题:顺序问题.丢包问题.连接维护.流量控制.拥塞控制.先解析下TCP报文段结构,相比于UDP要复杂很多. 首先还是两个端口号,对应着具体的应用 ...

  7. 源码分析清楚 AbstractQueuedSynchronizer

    本文关注以下几点内容: 深入理解 ReentrantLock 公平锁和非公平锁的区别 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject 深入理解 j ...

  8. element-ui的el-progress组件增加修改status状态

    需求:实现进度条增长中呈现百分比,达到100%后将el-progress的status设置为“success” 想法:element对于status只给出了'success', 'exception' ...

  9. express中post请求模块

    body-parser模块主要解析post接口请求 1.npm install  body-parser  -S 2.server.js中引用 const bodyParser=require('bo ...

  10. 【转载】 jmeter 命令行模式(非GUI)运行脚本,察看结果树结果为空,解决办法

    转载地址:https://www.cnblogs.com/canglongdao/p/12636403.html jmeter 命令行模式(非GUI)运行脚本,察看结果树结果为空,解决办法: jmet ...