Paper : Deep Graph Kernels
Code :

摘要

这是另一篇上古时期学习图结构的特征表示文章,在此考古一下并学习这篇文章使用的核方法。作者提出了一种学习图子结构潜在表示的统一框架,DGK框架。 该框架通过利用子结构之间的依赖关系信息,给出图与图之间的相似度定义,通过相似度来定义图结构的潜在表示。作者给出了该框架应用到三种常见的图内核(Graphlet内核,Weisfeiler-Lehman子树内核和最短路径图内核)上的特例情况。

核方法

衡量结构化对象之间相似性的一种方法是使用内核方法。 简单来说,内核方法使用内核函数来测量两个对象之间的相似性,内核函数对应于再生核希尔伯特空间(RKHS)的内积。因此,核方法面临的挑战是找到一个合适的内核函数,该函数在计算上易于处理的同时可以捕获结构的语义。 R-convolution 是处理离散对象的通用框架,主要思想是将结构化对象递归分解为“原子”子结构,并在它们之间定义有效的局部内核。形式化的表示如下,给定图 G,G′G,G'G,G′,令 ϕ:G→H\phi : \mathcal G\rightarrow \mathcal Hϕ:G→H 定义为包含原子子结构数的向量,即使用递归分解的方式将图映射到RKHS上,而 ⟨⋅,⋅⟩H\left \langle \cdot,\cdot \right \rangle_{\mathcal H}⟨⋅,⋅⟩H​ 表示RKHS H\mathcal HH 中的点积。相似度的核函数定义为

K(G,G′)=⟨ϕ(G),ϕ(G′)⟩H\mathcal K (G,G') = \left \langle \phi(G),\phi(G') \right \rangle_{\mathcal H} K(G,G′)=⟨ϕ(G),ϕ(G′)⟩H​

但是,在这种分解方式下,核函数的定义存在若干问题。首先原子子结构并不是相互独立的,以常见的同构图拆分为例


点数为k+1的图可以通过点数为k的图添加1个节点和边得到。其次,特征空间的维度随着子结构的复杂会发生指数增长,这就导致在图与图之间可能相似度普遍较低。

因此,作者给出了一种替代的方式定义核函数

K(G,G′)=ϕT(G)Mϕ(G′)\mathcal K (G,G') = \phi^\text T(G) \mathcal M \phi(G') K(G,G′)=ϕT(G)Mϕ(G′)

其中 M\mathcal MM 是半正定矩阵,对原子子结构之间的关系进行编码,如果原子子结构之间具有较强的数学关系,例如编辑距离,M\mathcal MM 矩阵可以根据该距离进行定义。一旦有了图与图之间的距离定义,在进行图分类任务的时候,可以将该核函数直接传入SVM等分类器中进行分类任务。

图内核

Graphlet —— Graph kernels based on subgraphs

Graphlet GGG 定义为大小为 kkk 的非同构诱导子图。

给定两个图 G,G′G,G'G,G′,定义在Graphlet上的核函数为

KGK(G,G′)=⟨fG,fG′⟩\mathcal K_\text{GK}(G,G') = \left \langle f^G,f^{G'} \right \rangle KGK​(G,G′)=⟨fG,fG′⟩

其中 fGf^GfG 正则化后所有的Graphlet在图 GGG 上的出现频率向量。⟨⋅,⋅⟩\left \langle \cdot,\cdot \right \rangle⟨⋅,⋅⟩ 定义为欧几里得内积。

WL subtree —— Graph kernels based on subtree patterns


给定两个图 G,G′G,G'G,G′,定义在WL subtree上的核函数为

KWL(G,G′)=⟨lG,lG′⟩\mathcal K_\text{WL}(G,G') = \left \langle l^G,l^{G'} \right \rangle KWL​(G,G′)=⟨lG,lG′⟩

其中 lGl^GlG 正则化后每个序号在图 GGG 的WL test迭代过程中出现的频率向量。⟨⋅,⋅⟩\left \langle \cdot,\cdot \right \rangle⟨⋅,⋅⟩ 定义为欧几里得内积。

Random-walks —— Graph kernels based on shortest-path pattern

图核的第三类分解是将图分解为随机游走或路径,并计算两个图中随机游走或路径的同时出现。 令 PG\mathbb P_GPG​ 表示图 GGG 中所有最短路径的集合,而 pi∈PGp_i\in\mathbb P_Gpi​∈PG​ 表示三元组 (lsi,lei,nk)(l_s^i,l_e^i,n_k)(lsi​,lei​,nk​) ,其中 nkn_knk​ 表示路径长度,而 ls,lel_s,l_els​,le​ 对应起点终点。最短路径图核定义为

KSP(G,G′)=⟨pG,pG′⟩\mathcal K_\text{SP}(G,G') = \left \langle p^G,p^{G'} \right \rangle KSP​(G,G′)=⟨pG,pG′⟩

其中,piGp^G_ipiG​ 表示三元组 pip_ipi​ 在图 GGG 中出现的频率。

R-convolution

上面概述的所有图形内核以及其他稍微复杂的变体都是R卷积框架的实例。 简而言之,定义图内核的方法如下:首先,将图递归分解为子图。 例如,Graphlet内核将图分解为graphlet,Weisfeiler-Lehman内核将图分解为子树,Shortest-Path内核将图分解为最短路径。 在下一步中,将分解后的子结构表示为频率向量,其中向量的每一项代表给定子结构在图中出现的次数。 最后,使用欧几里德空间或某些其他领域特定的RKHS来定义频率向量之间的点积。

关系矩阵 M 的计算

编辑距离

编辑距离可以表示原子子结构之间的相似度



定义矩阵MijM_{ij}Mij​ 的值为编辑距离图上Graphlet第 iii 个和第 jjj 个之间的最短路径。

使用语言模型学习相似度矩阵

作者将图内核中的子结构视为从特殊语言生成的单词。 换句话说,不同的子结构以与不同的单词一起使用时形成句子的相似方式组成图。 考虑到这一类比,可以利用单词嵌入模型来揭示子结构之间相似性的维度。算法的主要框架为将每个图分解为原子子结构,然后,将分解的子结构列表视为从词汇表V生成的句子。但是,与传统文本语料库中的单词不同,子结构不具有线性共现关系。 因此,需要建立一个同现关系有意义的语料库。接下来,讨论如何在三个主要的图内核上生成共现关系有意义的语料库。

Graphlet:即使对于中等大小的图,图 GGG 中所有Graphlet的穷举枚举代价也是极其昂贵。为了有效地对子图进行采样,之前的工作提出了几种采样启发式方法,例如随机采样方案。通过使用邻域概念,作者修改了随机采样方案以部分保留Graphlet之间的共现关系。也就是说,每当我们随机采样一个图 GGG 时,我们也会采样它的直接邻居。然后,Graphlet 及其邻居被我们的方法解释为同时出现。因此,具有相似邻域的 Graphlet 将获得相似的表示。可以扩展共现关系以考虑距离≥1的邻域。

Shortest Path:与 Graphlet 内核类似,需要在最短路径子结构之间找到一种有意义的共现关系。最短路径的所有子路径也是具有相同源的最短路径。换句话说,每当观察到长度为 lll 的最短路径子结构时,我们还必须观察其长度 <l<l<l 的所有子路径。每当我们生成最短路径子结构时,我们还将收集共享同一源节点的所有可能的最短路径子结构,并将它们视为共同出现。因此,具有相似标签的最短路径子结构将获得相似的表示。

Weisfeiler-Lehman:Weisfeiler-Lehman子树内核在每个顶点及其邻居上迭代,以创建可重集标签。所得的可重集被赋予一个新标签,然后用于下一次迭代。因此,属于给定迭代h的可重集标签编号可以被视为同时出现,以便部分保留相似性的概念。

总结

作者提出了一种只要子结构之间存在依赖关系,就可以将其纳入到R-convolution内核方法的通用框架,核心是 M\mathcal MM 矩阵的使用和计算,从图论的角度来说该篇论文还是蛮有意思的,但是任务表现上是上古时期的产物,和后面的GNN没啥关系。

Deep Graph Kernels相关推荐

  1. KerGNNs:结合Graph kernels的可解释GNN

    目录 引言 方法 KerGNNs 时间复杂度分析 实验 实验结果 可解释性 AAAI2022的文章 "KerGNNs: Interpretable Graph Neural Networks ...

  2. CommDGI: Community detection oriented deep graph infomax 2020 CIKM

    目录 CommDGI: Community detection oriented deep graph infomax Graph Infomax Layer Trainable Clustering ...

  3. 【论文解读 ICLR 2020 | DropEdge】TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION

    论文题目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION 论文来源:ICLR 2020 论文链接 ...

  4. [人脸对齐] Structured Landmark Detection via Topology-Adapting Deep Graph Learning

    转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接: Structured Landmark Detection via Topology-Adapting ...

  5. 【论文阅读】DEEP GRAPH INFOMAX(DGI)

    DEEP GRAPH INFOMAX(DGI) 摘要 1 Introduction 2 相关工作 2.1 对比方法 2.2 抽样战略 2.3 预测编码 3 DGI Methodology 3.1 基于 ...

  6. 论文阅读《Deep Graph Infomax(DGI)》

    目录 论文信息 一.Abstract 二.DGI (一)基于图的无监督学习 (二)局部-全局互信息最大化 (三)Overview of DGI 论文信息 论文标题:Deep Graph Infomax ...

  7. 2021-ACS-IGN: A Novel and Efficient Deep Graph Representation Learning Framework for Accurate

    2021-ACS-IGN: A Novel and Efficient Deep Graph Representation Learning Framework for Accurate Paper: ...

  8. [图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)

    TF Prepare [图解tensorflow源码] 入门准备工作 [图解tensorflow源码] TF系统概述篇 Session篇 [图解tensorflow源码] Session::Run() ...

  9. 【论文笔记】Simple and Deep Graph Convolutional Networks

    该论文由中国人民大学.复旦大学.阿里巴巴合作完成,第一作者为中国人民大学研究生陈明,通讯作者为中国人民大学教授魏哲巍. 1. 摘要 Graph Convolutional Network via In ...

最新文章

  1. VMware 下扩展linux硬盘空间
  2. 【电子书】C++编程开发30问
  3. mysql游标嵌入式_Oracle与MySQL内嵌游标的使用示例
  4. HCIA- Datacom认证增加了SDN跟自动化编程
  5. 题目1179:阶乘-------------阶乘不用long long int 就不能AC
  6. 【渝粤题库】陕西师范大学180113 学前儿童艺术教育作业
  7. mysql连接多个存储存储_Mysql(三):多表查询和存储程序
  8. 农村金融大变革,央行要给农民发钱了!
  9. Mosquitto搭建Android推送服务番外篇一:各种报错解决
  10. 每次打印只能打打印一页
  11. java io 字符流操作工具类
  12. 易用宝项目记录day1-springdatajpa
  13. 时间限制的命令(timeout)
  14. python实现文件重命名_python实现文件重命名
  15. 多源传感器融合时的时间对齐或者时间同步问题
  16. 离线下载Android SDK(100%成功)
  17. 期货、股票资管分仓软件分账户系统APP开发需要用到哪些技术?
  18. 支持复制粘贴word图片的KindEditor编辑器
  19. Hank的无线802.11学习笔记--part 4
  20. Win7系统删除网络驱动器盘符

热门文章

  1. CSAPP Lab2
  2. linux删除序号2的文件,Linux使用rm-rf删除了重要文件?不要慌,我们有恢复神器!-rm文件...
  3. HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
  4. k8s 1.25学习8 - 使用Ratel工具部署应用
  5. 超好用的Server酱,推送微信消息
  6. 【沃顿商学院学习笔记】公益创业——04了解受益人Understanding the Beneficiary
  7. 【ACWing】487. 金明的预算方案
  8. python基础之布尔运算
  9. Ubuntu 设置合上笔记本盖子休眠的方法
  10. python 会计师_成为会计师所需的9项关键的技能