携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
前言
Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
会议:ACM Transactions on Knowledge Discovery from Data (CCF B类)
年度:2021/05/19
Abstract
近年来,图表示学习方法引起了越来越多的关注
这些方法专注于学习图中节点的数值表示
学习这些表示是完成图挖掘、可视化和哈希等任务的强大工具
它们特别令人感兴趣,因为它们促进了在图表上直接使用标准机器学习模型
图表示学习方法可以分为两大类:
- 保留节点连接信息的方法
- 保留节点结构信息的方法
基于连接性的方法专注于对节点之间的关系进行编码,连接的节点在产生的潜在空间中更加紧密
而保留结构的方法产生了一个潜在空间,在这个空间中,服务于网络中类似结构功能的节点在图中被编码为彼此接近、相互独立、甚至相互接近的节点
虽然有大量的工作关注于保持节点连通性,但只有少数工作关注于保持节点的结构
正确编码节点的结构信息是许多实际应用程序的基础,因为事实证明,可以利用这些信息成功地解决许多基于连接的方法通常失败的任务
一个典型的例子是节点分类任务,即为节点分配或预测特定的标签
目前结构表示方法的局限性在于其可扩展性、表示意义以及不能保证结构特性的形式化证明
我们提出了一种新的图表示学习方法,称为图节点结构迭代表示学习方法(SIR-GN)
在这项工作中,我们提出了两种变体(SIR-GN: GMM和SIR-GN: K-Means),并展示了我们的最佳变体SIR-GN: K-Means:
- (1)理论上保证了图结构相似性的保存
- (2)提供了其表示的明确含义,并通过专门设计的归因过程来解释它
- (3)可伸缩和快速计算
此外,从我们的实验中,我们表明SIR-GN: K-Means通常比文献中现有的结构图表示学习方法更好,或者在最坏情况下可以与之媲美
同时,我们通过实验证明了与其他现有方法相比,它具有更好的可扩展性和计算性能
1 INTRODUCTION
图或网络是一种包含一组实体以及这些实体之间关系的数据结构
网络中的实体称为顶点或节点,节点之间的关系称为边
图表具有很高的相关性,因为它们在许多研究领域中被大量用于表示关系和过程
它们可以代表分子、神经系统、社会网络、计算机网络等等
多年来,已经有大量的工作提出了分析和利用图表形式的数据的方法,以解决许多不同的任务
这些任务的一些示例是节点分类、链路预测、节点聚类等。
这些任务传统上是通过通用机器学习(ML)技术来解决的
然而,这些技术不能直接应用于图形形式的数据,必须先将图形正确地转换为某种类型的数字表示
要想有用,表示必须包含相关信息
通常,图挖掘技术可以用来提取一组有意义的特征来描述这个信息[7],或者节点相似性度量可以手工设计作为ML模型[35][41]的特征
然而,这些过程是劳动密集型的,需要专业的领域相关知识,并且产生的特性通常也是领域相关的,这在不同的任务[17]之间转化为较差的泛化
为了克服这些缺点,近年来无监督表示学习技术的研究有所增加
表示学习技术在计算机视觉和自然语言处理等其他应用领域也取得了很大的成果
在图论领域,图表示学习,也被称为网络嵌入,旨在生成一个低维的数值向量表示在一个图的节点
可以说,有两种主要的图表示学习方法
- 基于连接的方法
- 基于结构的方法
虽然有一些作品旨在实现两个任务[17][55]的表示,但最近的绝大多数作品都专注于第一种[37][42],生成包含整个网络中节点连接信息的表示
我们提出的方法主要针对第二种类型
结构表示学习方法旨在创建编码节点结构角色信息的表示
直观地说,网络上的节点可以完成一个或多个决定其在其中角色的功能
例如,在社交网络中,个人可以执行组管理员的功能,这种功能或结构角色可以从其网络结构推断出来
其他常见的例子是像万维网这样的网页网络中的中心和权威
在网络拓扑中,一些示例角色可以是星形中心或星形边缘的近团,连接图中不同区域的桥节点,等等
结构表示法与基于连接的表示法的主要区别在于,基于连接的表示法编码了基于节点连接的节点接近度概念
换句话说,网络内部的节点越近(它们之间的路径越短),生成的表示就越相似
另一方面,结构表征学习方法忽略了邻近性的概念,这意味着结构相似的节点独立于它们在网络内的相对位置被认为是相似的,而专注于网络内的节点功能
图1显示了连接性(一阶接近)和结构表示(结构角色接近)之间的简单比较
节点用颜色编码来表示相似性,即颜色相似的节点被认为彼此相似
可以看出,一阶接近编码的节点,只要有一条路径连接它们,它们之间都是相似的
两个节点之间的路径越短,它们就越相似
例如,节点A和节点B与各自的邻居C和D最相似,但彼此完全不同,尽管它们在网络中的结构功能完全相同
另一方面,当采用结构角色接近时,两个节点相似不需要连接,只要它们在网络中具有相似的功能就可以认为是相似的
例如,节点Z和Y在结构上是等价的,两个节点分别作为两个其他节点(X,W和V, U)之间的桥梁
同时,节点X、W、V、U在结构上也是等价的,因为它们在网络中的作用是相同的
这个例子展示了正确编码节点结构信息的方法对于许多实际应用程序来说是多么的重要
在作品中,有关于生成结构和连接表征的作品
- 对于基于连通性的表示,Node2vec[17]提出了一种有偏随机游走方法来优化邻域保持目标函数。在这种表示方法中,彼此接近的节点具有更相似的表示
- 在[39]中,它们显示了基于连接的方法的局限性,特别是对于节点分类的任务,即将一个标签或属性分配给节点,出于这个动机,提供了保留结构属性的方法,因为它们允许ML模型泛化对节点分类重要的结构模式
- Struc2vec[39]提出了一种类似的方法,但放弃了有偏差的随机漫步方法,倾向于首先生成一个加权多层上下文图,对输入图中出现的所有层次的结构相似性进行编码。然后,采用标准的随机游走法优化保邻域目标函数。这种方法成功地生成了结构表示法,但是,生成多层上下文图是一个复杂的过程,当应用于更大的输入网络时,计算和空间成本都很高
- GraphWave[13]提出了一种完全不同的方法,它利用光谱图扩散模式。这种方法提供了很好的结果,但在概念上仍然很复杂(没有明确的表示含义),实验表明,这种基于矩阵分解的方法的计算成本很高(它在节点数量上有渐进的二次元时间复杂度因子),因此很容易应用于更大的图
此外,上面提到的任何一种方法都没有正式证明表示保留图的结构属性
最重要的是,上述所有方法都缺乏可解释性
这是表示学习方法的一个常见缺陷,即生成的表示在其数值背后缺乏任何可能的推理
为了克服这些缺点,在本文中,我们提出了一种快速的图节点结构迭代表示学习方法(SIR-GN)
该方法
- (i)将节点分组到个不同的集群中
- (ii)使用集群为每个节点生成一个向量,用于每个条目(与每个集群相关)衡量属于该集群的可能性
- (ii)通过对所有相邻节点的似然向量进行汇总,得到每个节点的向量表示
这种新的表征学习方法在速度、预测结果和可解释性方面优于文献中的结构学习表征方法
更具体地说,本文提供了以下贡献:
- 我们提出了一种新的图节点结构表示,称为SIR-GN,它保留了图结构的相似性,在其生成的表示中提供了明确的含义,是可伸缩的,且计算速度快
- 我们从理论上证明了我们的方法在一个隐空间中编码节点结构信息,在节点结构之间保留一个度量距离的概念。我们证明了具有相同结构的节点的向量表示是相同的,并且两个节点向量表示之间的曼哈顿距离总是受其邻居中不匹配节点的数量的限制
- 我们提供了SIR-GN的两种变化的实验结果,即我们的初始变化SIR-GN: GMM和我们的主要改进变化SIR-GN: K-Means
- 我们证明了经验和理论上的计算效率,我们的方法相比,最先进的方法。SIR-GN: K-Means在计算复杂度上与图的大小呈线性关系。此外,它为并行化提供了一个很好的机会
- 我们提供了一个专门为SIR-GN设计的归因过程,增强了我们方法的可解释性。考虑到节点表示分类任务,该过程可以为每个节点划出负责特定分类结果的子图
- 我们提供了一个基于中心性度量的框架,以实证检验我们的表示学习方法在保留图的结构属性方面的能力
- 我们的方法在所有实验中都取得了较好的结果。我们对产生的矢量表示进行了定性分析,并展示了如何用SIR-GN很好地保留了结构性质。在使用几种不同图的所有定量实验中,我们的方法总是得到更好的结果,或者在少数情况下,在中心性度量预测、节点分类和边缘去除的鲁棒性方面具有可比性
2 RELATED WORK
鉴于高级图分析方法在许多实际应用中的巨大价值,开发有效和高效的图的无监督表示学习技术已经引起了很大的兴趣
这些表示学习方法对于需要使用图形式数据的ML应用程序来说是必不可少的,因为ML技术可以直接应用于产生的表示
表征学习技术已经在许多研究领域取得了巨大的成功。其中一个领域就是NLP
可以说,在自然语言处理领域最著名的表征学习方法是Skip-Gram模型,也就是Word2Vec[29][30]
该方法利用词序列(即句子)生成词表示,并利用它们优化邻域保持似然目标
然后,它学习一个语言模型,该模型除了其他特征外,还将语义相似的单词放在生成的潜在空间中
DeepWalk[37]遵循了这个著名的模型,并将其从单词序列推广到图形
为了实现这种泛化,DeepWalk通过对输入图中的节点序列使用截短的随机漫步来模拟句子,然后对这些序列应用Skip-Gram模型来生成最终的节点表示 这种抽样过程,直观上类似于图的深度优先遍历,结合Skip-Gram模型的邻域保持目标,产生了一种基于连接的表示学习方法,其中节点以直接、(一阶接近)或间接(高阶接近)的方式共享相似的邻居,位于更靠近产生的潜在空间。
LINE[42]建议将图的探索从深度优先采样(DFS)或遍历改为宽度优先采样(BFS),提供一个潜在空间,其中共享边的节点(一阶接近)位于更近的潜在空间
为了提供更灵活的模型,Node2vec[17]提出了一个有偏随机游走过程,它可以在DFS策略和BFS策略之间进行插值
用户使用两个超参数在两种策略中进行选择。它对生成的表示形式中的低阶和高阶信息进行编码。node2vec的作者认为BFS策略提供了与结构角色相似性密切对应的表示 在实践中,BFS策略要求节点连接,而对于真正的结构等效,根本不应该有任何连接要求 由于这限制了仅在连接节点之间进行任何可能的结构编码,另一个基本限制是,如果结构相似的节点的距离(跳数)大于Skip-Gram窗口,它们将永远不会共享相同的上下文
在[17]中,DeepWalk和LINE的性能比node2vec更差,因此它们不包括在我们的实验部分
为了用结构等价信息编码表示
Struc2vec[39]提出利用Deepwalk的DFS策略,但将其应用于多层上下文图,对输入图的所有节点对之间的结构相似性关系进行编码
为了生成多层上下文图struc2vec,首先定义了一个度量不同网络尺度上节点相似度的层次结构,然后利用这个层次结构构造了一个加权多层图 它有三个主要属性:(1)图的每一层对应层次结构中的一个层次;(2)原始输入网络的所有节点都存在于每一层;(3)每层内部每个节点对之间的边权值与节点对之间的结构相似度成反比。在生成的图上应用Deepwalk模型可以获得很好的结果 多层图中相互接近的节点表示(具有较高的结构角色相似度)在产生的潜在空间中以接近的方式成功编码,但网络生成复杂,且多层上下文网络的规模在应用于更大的输入图时可能会变得难以接受
GraphWave[13]与前面的方法不同,它不使用Skip-gram和随机游走来学习节点表示
GraphWave提出通过利用小波扩散模式来学习节点结构角色 这个想法背后的直觉是,小波从具有类似结构作用的节点开始,将以类似的方式在整个网络中扩散,创建一个可以测量和比较的类似扩散模式 作者首先将谱图小波应用于每个节点,并将这些提取的小波作为图上的概率分布 为了将这些信息转化为数值向量表示,作者通过应用特征经验函数嵌入小波分布 虽然这种方法提供了优秀的结果,适当地保留了节点的结构角色邻近性,但与其他结构表示学习方法(如Struc2vec)相比,谱图小波过程真的很慢
还有其他的工作,没有直接的表示学习技术,处理结构节点身份
RolX[21]是一个早期的例子
这种无监督方法提取网络中存在的结构节点角色 RolX通过首先提取各种节点特征来完成这一任务 这个联合特征空间稍后被用来计算更适合的基向量,其中每个节点在识别的角色(基)上被分配一个二进制分布 这允许每个节点属于多个角色 RolX的表现比struc2vec[39]更差,因此它不包括在我们的实验部分
在我们提出的工作中,我们迭代地使用聚类来生成一个结构表示
已经有一些工作将聚类技术应用于其他高级图分析,但它们与本文的目的没有直接联系
在完整性方面,例如,[50]应用光谱聚类在图中寻找社区,比[31]的工作有所改进,他们表明,应用光谱聚类提高了社区检测任务的性能和效率
还有其他不直接编码一般网络结构的表示学习方法,它们直接存储两个节点之间的成对相似性
- 在[45]中,作者使用单层神经网络(NN)来学习编码特定网络度量的表示。尽管基于任何选择的相似度度量生成表示提供了很大的灵活性,并可能在特定任务中提供更好的结果,但为特定任务选择正确的相似度需要很强的领域专业知识。这是一种劳动密集型的工作,需要专业的领域相关知识,并且所产生的特性通常也是领域相关的,这就导致了跨不同任务的归纳能力低下。此外,这种技术在节点数量上总是要求二次复杂度。为了避免这种情况,作者提出了一种不需要计算所有相似对的近似方法,他们只需要其中的一部分。然而,相关的相似性度量,如SimRank[22]和其他使用循环过程,这意味着对于计算两个节点之间的一个相似性,所有其他的都是需要的。
另一个近年来受到越来越多关注的相关领域是知识图的表示学习领域
知识图包含实体的信息以及实体之间不同类型的关系 这些不同的关系使得知识图在表示结构化数据时非常有效,但同时又使[49]难以操作它们 已有许多研究致力于简化操作,同时保持知识图的固有结构
在[32]中,作者提出了两种著名的知识图表示学习方法的组合,即潜在特征模型和图特征模型
前者利用实体的潜在特征来解释关系特征,并从数据中推断关系特征
后者从可观察的图形模式中提取特征
作者论证并实证证明他们的新组合模型(TKGE)在知识图完成和三重分类任务上比其他先进的方法提供了显著的性能改进
- 在[56]中,作者将注意力集中在研究较少的基于表示的知识图实体对齐问题上。作者提出了一个统一实体的多个视图的框架,以学习专门为这项任务编码的表示。对于这项任务,他们利用实体名称、关系和属性,并提出几种组合策略。此外,它们还提供了关于交叉kg(知识图)推理方法的详细信息,这些方法可以增强对齐能力。作者通过经验证明,他们提出的方法在基于表示的实体对齐任务中明显优于最先进的方法
- TransW[28]是由TransE[3]启动的最新的基于翻译的方法家族。TransW提出了一种利用词表示的基于翻译的方法。这很有趣,因为使用工作表示扩展了以前的方法,为它们提供了功能用于处理新的(以前看不见的)实体和关系。关于知识图表示学习方法和可能应用的更深入的观点,请参考[49]
近年来,人工神经网络被广泛应用于学习表示的各个领域和应用领域。在这项工作的范围内,图神经网络(gnn)是特别感兴趣的,因为它们是专门设计来处理图形形式的数据
在GNN家族中,有各种各样的方法
- GraphSAGE[20]就是一个例子。GraphSAGE是一个基于卷积的GNN,也称为图卷积网络(GCNs)[23]。与众所周知的卷积神经网络中使用的卷积类似,GCNs通过利用图的结构(通常是节点的第一级邻域)来执行卷积操作。更具体地说,GCNs对节点及其邻居的表示进行加权平均,这种方式有效地执行了信号聚合过程。这个过程生成新的表示,这些表示对来自图内部节点的本地上下文的信息进行编码。在文章中,作者提出了几种可能的聚合函数和一种节点抽样策略。这种策略通过为每个节点采样固定数量的邻居来提高计算性能。这减少了计算量,但同时,不可逆地改变了图结构。我们相信,以这种方式修改图会降低用于基于结构的问题的表示的性能。正如我们将在这项工作的实验部分看到的,对节点的邻域进行最轻微的修改,就会对需要结构信息的任务的方法的性能产生负面影响。
gnn的其他方法是基于自动编码器的
- 在ARGA[34]中,作者提出了一种基于自编码器的GNN方法,并使用生成对抗网络作为正则化器。该算法分为两部分:自动编码器部分和对抗性部分。该自编码器采用基于gcn的编码器,以最大限度地减少图连通性的重构误差。该体系结构的对抗性部分利用对抗性训练方案来训练自编码器遵循预先选择的先验分布(高斯分布)。这产生了一个更连贯和连续的潜在空间。为了生成最终的表示,对整个模型进行联合优化。
在GNN家族之外还有其他基于nn的方法
- 在DRNE[46]中,作者提出了一个基于神经网络的方法的少数实例,专门针对结构表征学习领域。在DRNE中,作者将节点邻域转换成有序的序列,并通过使用Long -term Memory层进行聚合。与theCBOW[29]模式类似,DRNE架构被训练来通过使用节点邻居的表示来重建节点的表示。为了避免退化解,作者提出在目标函数中加入弱导向正则化器。这是通过尝试同时重构每个节点的度来实现的。与GraphSAGE类似,DRNE使用节点采样策略。这种抽样修改了原始图结构,对结构问题的方法性能产生了负面影响
前面提到的所有基于nn的方法都属于无监督方法家族
尽管它们不在本工作的范围内,但我们认为有必要简要地提到一些最著名的监督方法。这些方法包括:GCN[23]、GAT[47]和GIN[52]。关于gnn和相关方法的更深入的了解,请参考[59]和[51]
已经有一些作品使用迭代来学习节点表示
- Chen等人[6]提出了标准监督分类任务的迭代过程。与其他分类任务不同的是,这种方法在实例之间创建一个接近图,并为每个实例聚合(通过使用卷积层)邻居实例的隐藏特征,以便更好地对特定实例进行分类
这种方法在每次迭代时
- (1)在实例之间添加新的相似边(根据实例潜在特征的相似性)
- (2)在邻接矩阵中添加边
- (3)用新的邻接矩阵细化分类训练
在[19,57]中,作者使用迭代过程学习知识图的实体表示,并将这种表示用于链接预测
与这些方法相比,我们使用迭代过程在无监督的方式学习结构节点表示
最后,我们还提出了一种方法来解释所生成的表示的含义,并解释使用这些表示训练ML模型的结果
近年来,各种各样的作品都试图达到同样的目标
- GNNExplainer[53]是一种特定于GNN的解释方法,所提供的解释是一个子图,通过训练GNN的预测最大化互信息
- 在DisenGCN[27]中,作者提出了一种包含一种新的邻域路由机制的GNN架构,该机制可以动态识别可能导致两个节点之间产生边的潜在因素。该方法生成了分离的节点表示,分离了节点关系背后变化的解释因素,为潜在的更可解释的表示
3 BACKGROUND
在本节中,我们首先介绍一组将在整个工作中使用的重要符号和定义
然后,我们提出了拓扑测度,我们将在后面使用它来证明SIR-GN编码结构信息的有效性
表1包含一组表示法
Definition 3.1. Graph
设是一个未标记的无向图或网络,其中
- 表示顶点或节点的集合
- 表示连接中节点的边的集合
- 和分别表示图中包含的节点数和边数
- 任意节点的邻域由给出
- 表示该邻域的大小或节点的度
Definition 3.2. Graph diameter
图的直径通常被定义为图中任意两个节点之间的“最长最短路径”
更正式地说,直径是任意两个图节点之间的长度,其中
- 是节点和之间的距离
Definition 3.3. K-order Proximity
表示学习方法需要一个节点之间接近的概念来进行学习
根据使用的邻近性概念,这些方法可以被划分为两类
- 基于连接的方法(k阶邻近性)
- 基于结构的方法(结构角色邻近性)
k阶接近探索[55]节点对之间的k阶关系
主要使用的关系是
- 一阶关系,反映节点之间的直接邻居关系
- 二阶接近关系,由两个节点共享的共同邻居的数量决定
- 高阶接近关系,捕捉更全局的关系
Definition 3.4. Structural Role Proximity
“结构角色接近度”反映了在网络拓扑中具有类似角色或功能的节点之间的相似性
这些函数的一些示例可能是星形的中心、连接双节点集群的节点等等
与k阶邻近性相比,结构角色邻近性不需要网络中一对节点相互连接,甚至不需要它们位于彼此相邻的位置,就可以使它们相似
只要它们拥有相同的结构属性,它们在网络中的位置是独立的,它们就会相似
接下来,我们将介绍在本工作的实验部分中使用的一组拓扑测度
Betweenness Centrality
中间中心性(Betweenness Centrality)[15]被描述为一个节点在两个其他节点之间的最短路径上充当桥梁的次数
形式上,节点的BC定义为
其中
- 为从顶点到顶点的最短路径数经过顶点的路径数
- 为从到的最短路径总数
Degree centrality
一个节点的度中心性(Degree centrality)[16]定义为它所连接的节点占图中节点总数的比例
正式定义为
Eigenvector Centrality
由图邻接矩阵的主导特征向量给出特征向量中心性(Eigenvector Centrality)[2]
设是邻接矩阵
- 其中,如果顶点链接到顶点
- 否则,
- 为常数
定义节点的EC为
PageRank
PageRank (PR)[5]指标是EC的变体,最初是为搜索引擎对网页进行排名而开发的\
定义节点v的PR为
其中
- 是一个“阻尼因子”,它捕捉一个节点通过跟随链接到达另一个节点的概率,而不是被传送到另一个节点
HITS算法[24]
HITS算法[24]是一个二分法的链接分析算法,最初设计用于评估网页的相关性
在有向图中
- 第一个得分是权威,它量化了网页内容的价值
- 第二个得分是网站集线器,它评估网站链接到其他网页的价值
在无向图的情况下,两个分数最终是相同的值
Node Clique Number
节点团数(NCN,Node Clique Number)是包含给定节点的最大 最大团的大小
最大团问题[33]的定义如下:给定一组节点,其中一些节点之间有边,最大团是节点的最大子集,其中每个点都直接连接到子集中的每个其他节点
4 SIR-GN METHODOLOGY
本节展示了我们提出的方法SIR-GN,这是一种基于聚类的迭代方法,用于图上的节点结构表示学习
我们提出了SIR-GN的两种变体
- SIR-GN: GMM
- SIR-GN: K-Means
这两种变体的主要区别是它们实现时使用的聚类方法
SIR-GN方法以节点的基本属性(即度)为起点对节点结构进行编码,通过利用节点聚类和节点邻域关系的迭代过程来学习丰富的结构表示
正如我们稍后将看到的,迭代是重要的,因为它们有效地允许模型进一步深入到节点的结构相似性
SIR-GN的最终输出是一个结构表示向量,它不仅成功地编码了节点结构,而且与目前其他最先进的方法不同,它是可解释的,因为结果向量的每个维度都有具体的含义
总的来说,SIR-GN主要由初始化和迭代过程两个阶段组成
- 初始化为每个节点创建初始表示向量
- 迭代过程是我们方法的主要部分,它本身可以分为两个步骤:顶点描述和聚合
- 执行迭代过程,直到满足预定义的停止准则
在下面的部分中,我们将
- 详细描述我们的方法的所有阶段
- 展示两种呈现的变化
- 讨论我们方法的可解释性
- 分析我们方法的时间和空间复杂性
- 并展示我们方法的一些形式属性
为了便于理解我们的方法,我们提供了一个运行示例,如图2所示
其中包含示例网络的可视化表示及其初始化和迭代过程的两个迭代
对于迭代过程,我们同时显示顶点描述和聚合步骤的值
网络和表格都用不同的颜色编码,以展示每个步骤中结构等效的节点
可以看出,示例网络包含四种不同的结构类型,组成四组,分别是蓝色(1,7)、橙色(2,6)、黄色(3,5)、绿色(4)
该算法的目的是逐步区分示例图中呈现的所有结构角色
通过将每个节点表示的颜色与分配给每个节点ID的颜色进行匹配,可以看到这一点
例如,在初始化步骤中,算法成功地识别了两个结构角色,分别用蓝色和三文鱼色
但我们可以看到,从2到6的节点被错误地分组在一起(即三文鱼色),尽管实际上它们应该被分为三个不同的结构角色(即橙色、黄色、绿色和上一个迭代)
然后,该算法通过改进初始化,在迭代2结束时实现这种分化
在对方法的详细描述期间,将进一步解释运行示例。
在以下部分中,我们将使用以下通用定义
- 设表示具有顶点集和边集的无向无权图
- 对于每个顶点,我们定义为包含的邻域的集合(由边直接连接到的节点)
- 为的邻居数
4.1 Initialization
要初始化该方法,用户必须首先选择所需的输出表示大小
在算法的顶点描述步骤中,生成的表示的每个维度将对应一个簇的质心
因此,算法接下来的步骤中使用的簇的数量将等于所选择的表示大小
聚类中粗的大小也就是最后嵌入向量的维度d
此外,这还生成了两个在选择所需表示大小时必须考虑的约束
- 第一个约束是所选择的大小将是输出表示的实际大小的上限。这背后的原因是,在某些情况下,输入图中没有包含足够的结构变化,使得模型无法达到所请求的集群数量。在这些情况下,未使用的集群和维将不包含任何信息,可以安全地丢弃
- 其次,请求的大小不能大于输入图的节点数,作为最坏的情况,每个节点将包含在自己的集群中
然而,在SIR-GN的日常应用中,这些约束并不重要,因为现实世界的图通常比任何可用的表示大小都大,当包含相同数量的信息时,更紧凑的表示总是首选的
选择所需的大小后,该方法初始化每个节点的表示向量
除一维向量外,所有向量的值都初始化为0(所有向量都是如此)
这些值被初始化为等于节点的程度
我们迭代算法的最终目标是逐步区分节点的结构信息
我们通过有效地探索节点邻居的不同层次来实现这一点
考虑到这个目标,我们选择了度,因为这是最简单的计算信息,可以用来在结构上区分两个节点
尽管如此,只要初始化保证对每个结构上等价的节点,两个对应的初始表示都用相同的值初始化,就可以使用其他初始化方法
违反此条件意味着该算法将不保留结构属性(参见第4.6节)。
图2展示了在三维向量空间中的度初始化
可以看出,第一个维度的值正是节点度(1.0和2.0)
节点度可以看作是一个平凡的一维向量表示,但它满足相同结构的两个节点具有相同向量表示的原则
在我们的实验中,第5节,我们考虑节点度作为一个基线,并显示了它的性能有多差,当与我们提出的方法相比
4.2 Iterative Process
算法1展示了我们的主要方法SIR-GN: K-Means
用算法2中的高斯混合模型(GMM)顶点描述函数替换第17行中的K-Means顶点描述函数,可以很容易地将代码转换为sir - gn: GMM
表2包含使用的符号
如前所述,迭代过程由两个主要步骤组成
- 顶点描述(第17行)
- 聚合循环(第18-23行),该过程的输出是显式编码每个生成的结构类别中邻居节点的期望数量的表示
任意两个顶点描述函数的第一部分,以及整个迭代过程,都是聚类步骤
需要注意的是,以下步骤中使用的集群数量等于初始化步骤中选择的表示大小
在聚类步骤中,我们对生成的潜在空间的最小最大归一化当前状态应用聚类方法。这有效地将结构相似的节点分组在一组结构集群中
直观上,聚类描述了存在于潜在空间中的主要结构角色,并提供了用所有可用结构角色之间的概率分布描述图中所有顶点的可能性
这个概率衡量一个节点属于特定结构角色的可能性(例如,假设我们有一个顶点和两个不同的簇,如果顶点只属于第一个簇,描述向量将是[1.0,0.0])
在图2中,提供了顶点表示,可以看到,在第一次迭代时,顶点表示只是表示每个节点所属的簇
- 第一个集群包含节点1和7,第二个集群包含所有其他节点
- 在第二次迭代时,顶点表示所代表的分布熵增大,节点2属于簇1的概率为0.23,簇3属于簇3的概率为0.77
为了生成这些顶点描述,我们需要一种聚类算法,为我们提供每个数据点成为新生成的聚类的一部分的概率分布
在这项工作中,我们提出了两种可能的方法,但任何满足这一要求的方法都可能被使用。我们首先提出SIR-GN: GMM变异
这个变体使用GMM聚类[38]
算法2展示了顶点描述步骤的这种变化
在我们方法开发的早期阶段,GMM算法是我们的第一个候选算法,原因是GMM直接为我们提供所需的概率分布
然而,GMM的计算成本使得它在需要更大表示尺寸的情况下不切实际(我们在第5.7节展示SIR-GN: GMM的限制)
为了克服这些限制,我们提出了我们的第二个变量SIR-GN: K-Means
由于SIR-GN: K-Means是我们的主要和高级变异,除非另有明确说明,以下所有分析都是用这个变异执行的
然而,实验部分提供了在这两种变化中获得的结果,以便比较它们的性能
算法1显示了这个变化的顶点描述步骤
在SIR-GN: K-Means中,我们提出了一种使用K-Means[26]的启发式方法
近似计算如下
首先,我们使用K-Means算法和之前迭代得到的节点表示来计算每个结构类别的簇质心
在计算完质心后,我们计算从上一次迭代的每个节点表示到每个质心的距离(算法1中的第4行)
然后,为了用概率变换距离,我们使用以下公式(算法1中的第5行):
其中
- 为节点u的新计算的距离向量
- 和为检索输入阵列的最大值和最小值的函数
- 得到的值与节点到质心的距离成反比
- 最后,对于每个节点,我们对其新计算的向量进行归一化,将其除以其所有距离的总和(行6)
得到分布后,我们在算法1的第18-23行遍历所有节点,并对其邻居的向量求和(聚合操作),结束迭代
例如,在图2中,节点4([0.46,1.54,0.0])的第二次迭代的表示PR是通过对节点3和节点5的顶点表示([0.23,0.77,0.0]+[0.23,0.77,0.0])求和得到的
结果是对每个生成的结构角色类别中邻居节点的预期数量进行编码的表示
每次迭代都允许模型有效地深入到节点的结构相似性
如图2所示。在初始化期间,只有两个结构相同的组,蓝色和所有剩余的节点
最后一组包含所有2阶节点
在第一次迭代之后,我们可以看到我们的模型如何区分一个额外的结构组(黄色),但仍然无法区分节点4
这在过程的第2次迭代中得到纠正,在此过程中,模型正确地区分了所有现有的结构组
4.3 Stopping Criteria
我们的方法的停止标准是用户选择的输入变量
直观上,d相当于算法所进行的结构探索深度(算法1第15行),也就是说,SIR-GN将从图中每个节点周围最多层的邻域中收集结构信息
如果用户希望从整个可用网络中收集结构信息,应等于输入网络的直径
如第3节所述,图的直径是任何节点对之间的最大最小距离。该值确保在此迭代次数之后,每个生成的节点表示都受到网络中所有其他连接节点的影响
不幸的是,在更大的图中计算精确的直径可能会很昂贵,然后我们在附录a中提供了一种方法来有效地计算直径的近似
另一个限制是,根据图的结构和稀疏性,直径可能会导致一个高值,这导致大量的SIR-GN迭代
如果较低的迭代量是首选的,我们根据经验观察到,一个很好的经验法则是当唯一生成的表示的数量停止增长时停止迭代过程
这可以通过在节点表示上使用HashSet并最终计算其大小来轻松实现
直观地说,这种停止标准是可行的,因为我们在每次迭代中探索更多的节点邻域级别,同时发现新的结构信息
然后将这些信息聚合为前一级的信息,与其他节点相比,更好地区分每个节点的向量表示
然后在整个迭代过程中,唯一表示的数量趋于增长,直到没有新的结构差异被发现
请注意,有此判据的SIR-GN在有限时间内停止,如下定理所述。
定理4.1 使用基于唯一表示数的停止准则的SIR-GN在有限时间内停止
证明。在4.5节中,定理4.3表示具有相同结构的所有两个节点对总是具有相同的表示。根据这个定理,很明显,唯一表示的数量是由每个节点周围唯一结构的数量简单地限定的。每个节点周围的不同结构的数量不能大于图中的节点数量。因此,限定了唯一表示的数量。那么,在每次迭代中,可能会发生两种情况:
- (1)唯一表示的个数保持不变或比前一次迭代的W.R.T.减少;或
- (2)唯一表示的数量W.R.T.比前一次迭代增加。
在第一种情况下,算法停止。而在第二种情况下,算法继续迭代
第二种情况不可能永远发生,因为唯一表示的数量受到节点周围唯一结构的数量的限制
然后算法在一个有限的时间内停止
我们在第5.6节中提供了这种停止标准的实证评估
此外,我们展示了基于唯一表示的数量的停止准则导致了较低的迭代量,但提供了与图的直径相当的性能
4.4 Interpretation and Outcome Explanation
SIR-GN可以解释为,作为顶点描述符聚合的结果,该方法创建了一个最终的节点表示,该表示对输入网络中存在的每个主要结构角色(结构集群)的邻居的预期数量进行编码
算法的每一次连续迭代都依赖于前一次迭代的结构簇提供的描述信息,以生成新的节点表示
图3可视化地显示了我们的方法如何在整个迭代中聚合结构信息,以生成简单示例网络中一个节点(节点1)的最终结构表示
可以看出,每个节点都是在算法的前一次迭代中,根据邻居的状态收集结构信息生成的
重复这个过程产生了一个结构信息流,从算法的第一次迭代(树的叶子)开始,到当前迭代的最后结构表示(树的根)结束,在邻居之间传递信息
这个可视化展示了,通过足够的迭代,我们的方法如何有效地在整个网络中扩散结构信息,创建一个考虑到节点的整个连接网络的结构表示
由于SIR-GN的可解释性,我们可以定义一种方法来解释在分类任务中使用的节点表示
对于标准分类任务,给定一个输入特征向量和一个分类器,属性任务包括为中的每个特征提供一个重要性排名,这促使将x分类为特定的类
归因方法是与结果解释相关的方法(见[18]的调查),它分为白盒方法(主要用于NN分类)和黑盒方法或模型不可知性方法(可用于各种解释技术)
模型不可知归因方法独立于特定的模型,可以应用于任何ML模型(如支持向量机、随机森林和逻辑回归)
一个流行的模型不可知归因方法是LIME[40]
通常,当考虑基于向量节点表示的分类任务时,标准的归因过程不起作用,因为评分特征是不可解释的
在我们的例子中,由于意义被很好地定义,并且我们的向量表示聚焦于节点周围的图结构,我们可以定义一个过程,对于给定的节点v,给定一个通用属性向量attr(由通用属性方法提供),能够对图中的边进行评分,以划出节点周围最相关的、对分类结果负责的结构。
为此,对于基于的过程的每次迭代,我们存储质心用K-means聚类算法提取,对每个顶点用顶点描述和表示。然后,算法3给定节点和标准归因过程提供的归因向量attr,对搜索顶点得到的每条边进行排序,直到预定义的深度
算法3使用了一个递归函数(第6行),它围绕节点迭代展开结构,类似于图3
这种展开一直计算到深度。给定节点、属性向量attr和当前展开水平,递归函数为每个节点计算两件事
- 首先,函数计算一条边的排名,这个排名是每个维度的总和(第17-20行)
- 其次,该函数计算节点的新的归属向量。该归属向量是描述每个维度对分类的重要性的向量,它是通过每个维度的矢量和得到的。向量表示到的每个维度的相似程度(在[0,1]范围内测量的相似程度)(第15和16行)
一旦计算出,函数递归地调用自己,使用属性向量探索节点(第25行)
正如我们将在第5.8节观察到的,这个算法实际上强调了负责分类的重要结构
4.5 Time and Space complexity
4.6 Theoretical Properties
5 EXPERIMENTAL EVALUATION
本节介绍一组实验,旨在评估SIR-GN: GMMand SIR-GN: K-Means的能力。我们正在将获得的结果与其他六种先进的方法进行比较。即:node2vec [17], struc2vec [39], GraphWave [13], GraphSAGE [20], ARGA [34], andDRNE [46]
.....
读后总结
2022/07/20 第一次阅读
以下图为例,讲解文章主要的算法:
首先,初始化嵌入矩阵,矩阵第一列的值为每个顶点的度,其余为0
然后使用对其进行聚类(比如k-means)
然后计算每个顶点向量对于每个簇的概率
节点1对簇1(也就是第一列)的概率为1,对簇2(也就是第二列)的概率为0... 节点3对簇1(也就是第一列)的概率为0,对簇2(也就是第二列)的概率为1...
然后依据节点之间的连接关系,更新嵌入矩阵
比如:节点2与节点1和节点3连接,那么更新后节点2的表示为节点1+节点2的嵌入向量(node 2 = 1 + 3,自己之前的就不需要了)
2 = 【1.0, 0,0】 + 【0,1.0,0】 = 【1.0,1.0,0】
然后再对这个嵌入矩阵进行聚类,得到每个节点属于每个簇的概率
- 节点2属于簇1的概率为0.23,属于簇2的概率为0,属于簇3的概率为0.77
- 节点7属于簇1的概率为1,属于簇2的概率为0,属于簇3的概率为0.0
之后的步骤也就是不断迭代重复了
....
Note
- 迭代次数 = 嵌入向量的维度大小d
- 聚类的簇大小是动态变化的,需要去求,不是固定的
- 初始化时,可以区分两个类;第一次迭代后,可以区分三个类;第二次迭代后,可以区分三类...(感觉有点问题,代码中从i=0->d, 迭代了d+1次啊?? 有点迷)
很多细节没有细读,感觉还是有点帮助的,之后再仔细研读!
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正