从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)

本文属于图神经网络的系列文章,文章目录如下:

  • 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)
  • 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)
  • 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)

恭喜你看到了本系列的第三篇!前面两篇博客分别介绍了基于循环的图神经网络和基于卷积的图神经网络,那么在本篇中,我们则主要关注在得到了各个结点的表示后,如何生成整个图的表示。其实之前我们也举了一些例子,比如最朴素的方法,例如图上所有结点的表示取个均值,即可得到图的表示。那有没有更好的方法呢,它们各自的优点和缺点又是什么呢,本篇主要对上面这两个问题做一点探讨。篇幅不多,理论也不艰深,请读者放心地看。

图读出操作(ReadOut)

图读出操作,顾名思义,就是用来生成图表示的。它的别名有图粗化(翻译捉急,Graph Coarsening)/图池化(Graph Pooling)。对于这种操作而言,它的核心要义在于:操作本身要对结点顺序不敏感

这是为什么呢?这就不得不提到图本身的一些性质了。我们都知道,在欧氏空间中,如果一张图片旋转了,那么形成的新图片就不再是原来那张图片了;但在非欧式空间的图上,如果一个图旋转一下,例如对它的结点重新编号,这样形成的图与原先的图其实是一个。这就是典型的图重构(Graph Isomorphism)问题。比如下面左右两个图,其实是等价的:

图重构

为了使得同构图的表示能够保持一致,图读出的操作就需要对结点顺序不敏感。在数学上,能表达这种操作的函数也被称为对称函数

那么我们一般如何实现图读出操作呢?笔者接下来主要介绍两种方法:基于统计的方法基于学习的方法

基于统计的方法(Statistics Category)

基于统计的方法应该是最常见的,比如说我们在求各种抽象表示所使用的 平均(mean)求和(sum)取最大(max) 等操作。这些方法简单有效,又不会带来额外的模型参数。但同时我们必须承认,这些方法的信息损失太大。假设一个图里有 1000个结点,每个结点的表示是 100维;整张图本可表达 1000 * 100 的特征,这些简单的统计函数却直接将信息量直接压缩到了100维。尤其是,在这个过程中,每一维上数据的分布特性被完全抹除。

考虑到这一点,文献[1]的作者就提出要用类似直方图的方法来对每维数据分布进行建模。具体而言,请读者先通过下面的对比图来直观感受一下直方图是如何巧妙平衡数据信息数据分布的。假设我们有100个介于[-3,1]的数字,如果我们直接将它们求和,如左图所示,我们完全看不出这100个数据的分布;而如果我们将[-3, 1]等分成4个区域,分开统计各个区域的和,我们还是可以发现一点原数据的分布特征,如右图所示。

直方图

参考文献

[1]. Molecular graph convolutions moving beyond fingerprints, https://arxiv.org/abs/1603.00856
[待续... 挖坑容易 填坑不易啊...]

转载于:https://www.cnblogs.com/SivilTaram/p/graph_neural_network_3.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Getting started with caffe questions answers (摘选)

本文摘选了Getting started with caffe questions answers 部分内容,更多细节请下载pdf文件 getting-started-with-caffe-questions-answers.pdf caffe 资料可在百度云盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码:xehi Q: Is there a mi…

函数式web框架

函数式web框架 转载于:https://www.cnblogs.com/stormy/p/11488266.html

Photoshop 手动画金标准流程

下面给出Photoshop手动画金标准的流程, 1. 读取 图片 2. 找到套锁按钮 3. 利用套锁按钮手动画金标准 4. 点击套锁区域,右键新建图层 此时可以看到右侧出现新建的图层1 5. 在套锁区域添加颜色 此时可以直接选择软件右下角的背景和前景的颜色都选择为…

肺部胸片图像掩膜和伪彩色处理matlab

clc; clear; close all; Iimread(006.jpg);%读取图像 I double(I); figure(1),imshow(I,[]) figure(2),imshow(I,colormap) colorbar% newimg I; II imread(006_mixture.gif); III imresize(II,0.5); figure(3),imshow(III)mask im2bw(III, 0.5); figure(4),imshow(mask…

给 Flutter 界面切换来点特效

本文微信公众号「AndroidTraveler」首发。 背景 我们知道页面之间如果直接切换,会比较生硬,还会让用户觉得很突兀,用户体验不是很好。 因此一般情况下,页面之间的切换为了达到平滑过渡,都会添加动画。 另外&#xff0c…

在没实践机会的前提下,如何跨越级别

我在之前的面试过程中,一直会遇到这样的问题:比如我要面试架构师,但我当时工作时,只有机会实践高级开发的技能,架构师方面的技能,只能看理论,最多只能在自己电脑上搭建个脚手架项目。 这样就进入…

生成高斯图像

本文转自 http://www.cnblogs.com/tiandsp/archive/2012/02/26/2368533.html clear; m31; n31; imgzeros(m1,n1); imgdouble(img); pi3.1415926; sigma10; for i-(m/2):m/2for j-(n/2):n/2img(im/21,jn/21)(1/(2*pi*sigma*sigma))*exp(-(i*ij*j)/(2*sigma*sigma)); end end i…

缓冲流

BufferedOutputStream ————字节缓冲输出流继承自父类的共性方法public void close()——关闭此输出流并释放与此流相关联的任何系统资源。public void flush()——刷新此输出流并强制任何缓冲的输出字节被写出。public void w…

高斯模糊的算法(高斯权重)

本文转自:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html 通常,图像处理软件会提供”模糊”(blur)滤镜,使图片产生模糊的效果。 “模糊”的算法有很多种,其中有一种叫做”高斯模糊“&…

序列化流与反序列化流

序列化流与反序列化流 用于从流中读取对象的 操作流 ObjectInputStream 称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流 特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。 1 对象序列化流Objec…

图像相似性搜索的原理

本文转自: 相似图片搜索的原理 相似图片搜索的原理(二) http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html http://www.ruanyifeng.com/blog/2011/07/principle_of_similar_image_search.html http://blog.s…

关于无效份额 和 拒绝份额

找到一个份额: 显卡每计算出满足要求的一个结果时是一个FOUND SHARE(找到一个份额); 无效份额: 每找到一个份额时内核会将计算结果发给矿池,有些内核会在将结果发给矿池时(之前、之后或同时&…

灰度共生矩阵(GLCM)并计算能量、熵、惯性矩、相关性(matlab)(待总结)

关于灰度共生矩阵的介绍可参考 http://blog.csdn.net/chuminnan2010/article/details/22035751 http://blog.csdn.net/xuezhisd/article/details/8908824 http://blog.csdn.net/xuexiang0704/article/details/8713204 http://cn.mathworks.com/help/images/ref/imlincomb.h…

你多久更新一次简历,决定了你的收入多久能提升

提到更新简历,或许大家第一时间就想到换工作,因为只有在换工作时才会更新。一般程序员大概1年半到2年跳槽一次,也就是说最多2年会更新一次。 更新简历是在其中更新自己的技术和各种能拿得出手的亮点,所以从这意义上来讲…

文件重命名批量处理(Matlab)

第一种方法:eval 方法 该方法未对文件进行任何处理,直接重命名。文件不损失任何信息。 tic clear; close all; % edited by cmwang,if any problem,please reference the website %http://blog.csdn.net/jiandanjinxin/article/details/51513598%------…

React-router总结

版本 v3和v4有一些差距&#xff1a; https://blog.csdn.net/qq_35484341/article/details/80500237 以下的总结&#xff0c;都是基于V4的 官方文档&#xff1a;https://reacttraining.com/react-router/web/guides/quick-start 核心组件和用法 <BrowserRouter/> <H…

机器学习之 weka学习(一)weka介绍,安装和配置环境变量

本部分详情可查看博客http://blog.csdn.net/u011067360/article/details/20844443 数据挖掘开源软件&#xff1a;WEKA基础教程 Weka简介&#xff1a; Weka是由新西兰怀卡托大学开发的智能分析系统&#xff08;Waikato Environment for Knowledge Analysis&#xff09; 。在怀…

第一章:线性空间和线性变换

转载于:https://www.cnblogs.com/invisible2/p/11514817.html

机器学习之 weka学习(二)算法说明

本文转自&#xff1a;http://blog.csdn.net/mm_bit/article/details/47405433 weka中的各算法说明 1) 数据输入和输出 WOW()&#xff1a;查看Weka函数的参数。 Weka_control()&#xff1a;设置Weka函数的参数。 read.arff()&#xff1a;读Weka Attribute-Relation File Forma…

TypeScript泛型

泛型的概念 指不预先确定的数据类型&#xff0c;具体的类型要在使用的时候才能确定。咋一听&#xff0c;是不是觉得JavaScript本身就是这样&#xff1f;这是由于理解有误。前面说“在使用的时候确定”&#xff0c;而非在程序执行的时候确定。 泛型函数 现在有个需求&#xff1a…