携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情
前言
Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
会议:CIKM '21: Proceedings of the 30th ACM International Conference on Information & Knowledge Management (CCF B类)
年度:2021/10/30
ABSTRACT
网络中的节点可能有一个或多个功能,这些功能决定了它们在系统中的角色
与捕捉节点的局部上下文的局部邻近性相反,角色标识捕捉节点在网络中扮演的功能“角色”,例如作为组的中心,或两个组之间的桥梁
这意味着网络中相隔甚远的节点可以具有相似的结构角色身份
最近的一些工作已经探索了在网络中嵌入节点角色的方法。然而,这些方法都依赖于结构等效的近似或间接建模
在本文中,我们提出了一种新的灵活的框架,利用应力最大化( stress majorization),将网络中的高维角色身份直接(不需要近似或间接建模)转换到低维嵌入空间
我们的方法也是灵活的,因为它不依赖于特定的结构相似性定义
我们在节点分类、聚类和可视化的任务上评估了我们的方法,使用了三个真实的网络和五个合成网络
我们的实验表明,我们的框架在学习节点角色表示方面取得了比现有方法更好的结果
1 INTRODUCTION
近年来,学习节点和链接的低维特征表示的网络(或图)嵌入已经成为一个热门的研究课题
其中,结构角色嵌入是一种侧重于识别网络中服务于不同“功能”的节点(如充当两个社区之间的桥梁或成为一个社区的中心)的嵌入方法
与本地邻近性(像DeepWalk[10]和node2vec[3]等方法的重点)不同,网络中相距遥远且具有不同本地上下文的节点在其结构角色标识上可能是相似的
近年来,人们提出了几种结构角色嵌入方法
- 其中,struc2vec[11]和GraphWave[2]是两种具有代表性的方法。
然而,目前的方法要么通过间接建模(如GraphWave),要么通过 非精确方法(如struc2vec) 来实现节点结构角色嵌入
- 例如,struc2vec构造了一个加权多层图,它使用随机游走为每个节点生成上下文,然后将上下文输入到语言模型中
- 基本上,他们的模型实际上是基于这样一个假设:当且仅当随机游走生成的上下文相似时,两个节点在结构上是相似的
- 然而,随机游走的随机性使得嵌入不精确,经常导致具有完全相同角色的节点具有不同(虽然不可否认,相似)的嵌入
- 另一方面,GraphWave定义了一个小波系数矩阵,并使用来自其他节点的能量分布到模型节点角色
- 虽然该方法可以很好地保留节点的角色,但由于它是基于节点角色的间接建模(即节点的能量分布),因此无法捕捉到角色之间的细微差异
- 此外,这种间接建模方法不灵活,因为它依赖于基于节点能量分布的特定结构相似性定义
我们提出了一种直接而精确的(不需要近似或间接建模)嵌入方法,利用应力最大化实现节点结构角色识别
虽然完美地保持节点在嵌入空间中的角色相似性是不可能的(因为嵌入降低了维度,导致不可避免的信息丢失),但我们的方法最小化了这种信息丢失
此外,我们的方法也是灵活的,因为它不依赖于特定的结构相似性定义
具体而言,在本文中,我们做出了以下贡献:
- 我们提出了一种新颖灵活的结构嵌入框架,利用应力最大化,可以直接和精确地捕捉网络中节点的角色结构特征和相似性。我们的方法也是灵活的,因为它不依赖于特定的结构相似性定义
- 我们从数学上证明了我们的方法将具有相同角色的节点嵌入到嵌入空间中完全相同的位置
- 我们在三个真实世界和五个合成网络的节点分类、聚类和可视化的基本任务上评估我们的方法。我们的实验表明,我们的框架在学习节点角色表示方面优于现有的方法
2 RELATED WORK
正如引言中提到的,保留微观结构的嵌入方法[3,10,15,18,20]不能捕捉节点在网络中的角色
除了引言中讨论的struc2vec和GraphWave之外, struc2gauss[9] 是一种较新的结构角色保持嵌入方法
- struc2gauss首先为每个节点生成结构上下文,然后从高斯嵌入学习表示
- 每个节点用高斯分布表示:用均值表示位置,用协方差表示不确定性
- 与struc2vec一样,这种方法也是不精确的
还有一些相关的方法关注与节点结构角色嵌入相关的概念
- DRNE[17]引入了一个类似于结构角色的概念,称为规则等价,并使用一层归一化的LSTM[5],通过递归地聚合它们的邻域来学习节点的表示
- RolX[4]提供了一种混合成员的方法,该方法使用非负矩阵分解为每个节点分配已标识角色集上的分布
- 我们自己之前的工作解决了将节点角色标识嵌入到双曲线空间[21]和随时间嵌入角色标识[19]的问题
- 最后,SNS[7]使用graphlets进行结构相似性,并结合邻域信息和局部子图相似性来学习嵌入
3 FRAMEWORK
是一个无向无权网络,其中
- 𝑉 是一组顶点
- 是 𝑉 中顶点之间的一组未加权边
我们考虑将中的所有节点表示为一组 维向量 的问题,其中
我们的框架由两部分组成:
- 计算节点的结构角色距离
- 使用应力大化来生成嵌入
3.1 Calculation of Structural Role Distance
我们模型中的结构角色距离可以使用任何已知的测量值
在本文中,我们使用由 struc2vec 定义的 度数序列的相似性
表示从中节点的 跳数处节点的有序度序列
两个节点 和 考虑到它们的 𝑘 跳跃邻居的结构角色相似性可以定义为两个有序序列 和 的相似性
由于这两个序列的大小可能不相等,我们使用快速动态时间规整 (FastDTW) [14] 来测量两个有序度序列之间的距离
FastDTW 能够找到两个任意长度时间序列之间的最佳对齐,并将时间和空间复杂度限制在𝑂 (𝑛)
由于序列 和 的元素是节点的度数,因此我们对 FastDTW 采用上述两个序列中的第 𝑖 和 𝑗 元素的以下成本函数:
这个距离度量不是测量度数的绝对差异,而是测量更适合度数差异的相对差异(因为度数可以任意大)
考虑到它们的 𝑘-hop 邻域,两个节点 𝑢 和 𝑣 的结构距离可以定义为:
其中是每一跳的重要性权重
- 在我们的实验中,我们将所有的设置为相等
- 当我们将设置为图的直径时,描述了这两个节点的结构角色距离
3.2 Stress Majorization
在我们计算出成对的结构角色距离之后,我们的目标是将节点嵌入到低维空间中,并使节点的成对距离等于或接近结构角色距离
请注意,结构角色距离可能不服从三角不等式,这意味着不能使用经典的多维缩放 (MDS) [16],因此我们在这里采用应力大化 [1, 6]
我们使用
- 矩阵 来表示𝑑维嵌入向量,其中行向量
- 矩阵 是结构角色距离矩阵,有
鉴于这些定义,我们将应力函数定义为
该问题可以表述为寻找矩阵 𝑋 以最小化给定的应力函数
下面的定理和相应的证明给出了应力函数的界
现在我们可以设计一个迭代优化过程,如下图所示:
3.3 Proof of Structurally Equivalent Nodes
在本节中,我们证明了引言中提出的观点,即具有相同角色的节点将嵌入到完全相同的位置
让我们构造一个新的解决方案 ,行向量如下
很明显
这与应力最大化的定义相矛盾
因此,相同的角色必须嵌入到相同的位置
4 EXPERIMENT
在本节中,我们在真实网络和综合网络上评估和比较我们在定性(可视化)和定量(节点分类和聚类)任务上的方法
4.1 Node Structural Role Embedding Visualization
4.2 Node Clustering
4.3 Node Classification
5 CONCLUSION
本文提出了一种新颖灵活的基于应力最大化的结构角色嵌入框架,该框架能直接准确地获取网络中节点的角色结构特征和相似性
我们还提供了一个严格的数学证明,当使用我们的框架嵌入时,具有相同角色的节点在嵌入空间中完全重叠
我们通过对合成和真实数据集进行定性和定量评估来验证我们的方法,表明我们的方法在学习节点角色表示方面优于其他知名相关方法,在所有任务中都是如此
读后总结
2022/07/19 第一次阅读
看这篇文章最震撼的就是实验结果:相同角色嵌入表示完全重叠!
读完后,作者确实思路很好
- 利用表示节点的结构信息
- 使用FastDTW计算两个结构角色的相似度(距离)
- 最终得到每两个节点结构角色的相似性矩阵(表示节点和的结构角色相似性)
- 然后再使用应力最大化求得嵌入矩阵,得到嵌入表示两节点之间的距离与为嵌入之前的距离一样(也就是保持节点之间的嵌入性进行嵌入)
文章的亮点应该是在 Stress Majorization ,同时也给出了理论证明
值得学习
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正