携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情
前言
Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
会议:CIKM’17 (CCF-B)
年度:2017
ABSTRACT
神经网络技术在网络嵌入中得到了广泛的应用,从效率和质量两方面提高了节点分类、链接预测、可视化等任务的结果
目前国内外的算法都在研究邻域信息,并试图充分利用邻域信息。但是,单纯基于邻域很难识别核心外围结构
本文首先讨论了基于随机漫步的抽样策略对嵌入结果的影响
理论和实验证据表明,基于随机游走的抽样策略不能完全捕获结构等效性
我们提出了一种新的方法SNS,该方法使用结构信息(即小图形)进行网络嵌入,以提高其质量
SNS有效地利用邻居信息和局部子图相似性来学习节点嵌入
据我们所知,这是第一个结合这两个方面的框架,积极地合并了图挖掘和机器学习的两个重要领域
此外,我们研究了什么样的局部子图特征在节点分类任务中最重要,这使我们能够进一步提高嵌入质量
实验表明,该算法在多个真实数据集上的性能优于其他无监督和半监督神经网络嵌入算法
1 INTRODUCTION
网络(或图)是一组相互连接的节点,包含关于每对节点之间关系的丰富信息
几乎每个领域都需要用到图的分析,比如在线社交网络[4],生物研究[23],信用评级[9]等等
物以类聚,人以群分,人以群分,人以群分。因此,研究者很自然地利用一个节点的邻域信息来预测它的类别
无监督网络嵌入算法试图保留图中每个节点的局部关系
IsoMap[22]、LLE[17]和Laplacian特征映射[1]是三种经典的降维和数据表示算法
找到最近邻是这三种算法的关键步骤
由于特征分解的计算复杂度大,传统算法难以处理真实网络
DeepWalk[15]首先将深度学习技术word2vec引入到网络嵌入任务中
作者开创了随机漫步和自然语言之间的相似性
之后,又有更多的工作[2,7,19,28]通过扩展邻域的定义,从一阶邻近性、二阶邻近性和高阶邻近性等不同层次的范围捕捉邻域信息来改进DeepWalk
使用随机游动来捕捉局部结构确实是一个很好的想法,它使构建大型网络的表示成为可能
尽管在目前所有的网络嵌入算法中,邻居已经被证明是非常重要的特征,但结构相似性在从节点分类到可视化的各种任务中发挥着不可替代的作用
图1显示了对节点进行分类时的两个极端情况
- 图1a是大多数算法采用的经典方式。如果节点有很多朋友,并且彼此联系紧密,就会被预测有相同的标签。该战略的重点是邻国
- 另一方面,图1b展示了另一种策略,即根据节点的结构相似性来划分节点,即[7]中定义的结构等价性。在此网络划分标准下,共有核心节点、外围节点和枢纽节点三组
这些不同的起始点导致了相似节点的不同定义:
- (1)节点连接密集
- (2)节点网络位置相似
不幸的是,大多数最先进的算法只关心密集连接的节点
这两种战略不是冲突的,而是互补的,每一种都有自己的职权范围
例如,如果节点标签是关于客户利益的,尽管结构知识会包含无价的信息,但盲目地依赖它不是一个好主意
相邻结构可以提供比结构相似性更可靠的指示
如果标签是关于社会地位的,那么拓扑信息就很重要
最明智的方法是在这两种策略之间取得平衡
结构等价不仅在社会角色挖掘任务[3]中被讨论,而且在最近的网络嵌入算法[7]中也被讨论
我们支持两种相似节点都应该考虑的动机
然而,我们认为简单依赖随机游走抽样的嵌入算法不能有效地捕获结构等效性
在本文中,我们提出了一个考虑结构相似性和邻域相似性的社交网络框架
它可以用来对所有基于word2vector的网络嵌入算法进行细化
我们总结了我们研究的三个主要贡献
- 从理论上和实验上研究了基于随机游走的抽样策略与网络嵌入结果之间的关系,指出了基于随机游走抽样的缺点(高估)
- 我们提出了一个通用的、鲁棒的神经网络框架,可以有效地利用邻居信息和局部子图相似性来学习节点嵌入。据我们所知,这是第一个结合这两个方面的框架
- 我们进行了一些实验研究,以获得关于如何合理利用结构信息的见解
2 RELATED WORK AND BACKGROUND
2.1 Network Embedding
网络包含着丰富的信息,然而,我们不能轻易地、快速地充分利用这些信息
图上的算法,即使是像计算任意节点对之间的距离这样简单的算法,通常也是昂贵的
表示学习可以帮助提取有用的信息,并将网络数据转化为易于使用的数据
得到的网络嵌入可以作为下游任务的输入特征,如分类和链接预测,从而避免了直接应用在图上的复杂和耗时的方法
我们向读者推荐[6]以获得更全面的详细信息
传统方法[20,21]主要关注降维
传统方法利用矩阵分解技术,将邻接矩阵投影到低维空间
由于这种算法最初是针对一般的高维数据设计的,因此并不适合典型的网络数据
网络在大多数情况下是稀疏的,节点度服从幂律分布
从全局角度进行优化并不能为分类和其他下游应用提供满意的结果
正如第1节所讨论的,局部信息,即邻域,比全局信息重要得多
神经网络嵌入算法因其在自然语言处理领域的流行模型word2vec而受到广泛关注,并取得了比传统方法更好的效果
主要原因是词频服从幂律分布,就像图中的度分布一样
此外,同质性在语言和图形中普遍存在,这意味着单词和节点都可以通过其周围的单词和节点进行预测
最先进的神经网络算法的不同之处在于邻域采样策略
- DeepWalk[15]使用深度优先搜索来对目标节点的邻域进行采样。默认深度为2
- GraRep[2]也使用DFS,但深度更大
- LINE[19]使用广度优先搜索和深度优先搜索。步数都被限制在2以下
- Node2vec[7]也同时使用了两种搜索方法,通过半监督学习找到平衡点。它采用网格搜索的方法来选择最优平衡点,但耗时较长。此外,基于有偏随机游走的抽样策略比无偏随机游走的抽样策略慢
显然,这些算法都没有考虑到结构相似性
- SDNE[24]不是基于word2vec框架,而是基于深度自编码器。考虑一阶接近和二阶接近,其目标与LINE相同。
- GraRep[2]和node2vec[7]讨论局部结构和结构等效。然而,结构相似性在学习过程中是否真的被使用是值得怀疑的。相反,它们控制采样过程,并从不同级别的范围捕获邻域信息
2.2 Structural Similarity
计算结构化对象(网络)之间的相似性是近年来研究的热点
方法主要基于graphlet、子树模式和[25]随机游动
在网络嵌入任务中,我们关注的是节点而不是整个网络结构,这意味着我们需要一个度量来描述单个节点的结构特征
这一课题在生物学和社会科学等实际领域得到了广泛的关注
我们首先介绍了小图形和基于小图形的网络距离度量
小图是大图的小的、连通的、非同构的诱导子图
如图2所示,共有30个2- 5个节点的小图形
- 轨道表示小图形的不同节点位置(节点所处的位置,理解为角色可能会好懂一点,结构相似)
- 对称节点的轨道数相同,有30个小图形的73个轨道
节点的Graphlet度向量(GDV)将节点度的概念推广为一个73维向量,其中
- 每个分量表示节点在轨道(其中)处被Graphlet接触的次数
- 如果i等于0,这个数等于它的次数
节点之间的结构相似度表示为其GDV的欧氏距离
在图1c中,我们以图1b中节点0,2,8的GDV为例进行计算
- 我们只展示了每个节点的14个维度,对应两个3节点的graphlet和6个4节点的graphlet
表示两个节点GDV之间的欧氏距离,可以清晰地描述结构相似性
除了欧氏距离,GDV距离还可以用其他形式定义,如斯皮尔曼相关
目前有很多graphlet计数算法,可以在小图上给出精确的结果,在大图上给出近似的结果,速度很快
在本文中,我们使用虎鲸[8]来帮助我们计算每个节点的GDV。代码可以在作者的网站上找到
3 RANDOM-WALK BASED SAMPLING
基于随机游动的网络嵌入算法通过最大化固定长度随机游动中后续节点出现的概率来保持节点之间的高阶接近
在本节中,我们将更深入地研究基于随机游动的抽样策略以及随机游动捕获的邻近性
[15]的作者将自然语言中的单词及其上下文类比为图中的目标节点及其邻接节点
学习过程利用随机游走中出现在窗口内的节点的共现概率
将具有高共现概率的节点对视为邻居
由于窗口的大小通常不小于2,我们称这种相邻为高阶邻近
我们表示节点和在步的间隔内连续被访问的概率
考虑一个无向图
- 它有个节点和条边
- 邻接矩阵是对称的,如果两个节点之间有边,则邻接矩阵A的项为1,否则为0
- 向量,其中1是一个包含1的向量,的每一项都是节点度
图有一个相关的随机游走,其中离开一个节点的概率在各边之间均匀分割
其中
- 为概率向量
- 为度的对角矩阵:
- 是转移矩阵
- 由给出,该马尔可夫链的平稳分布为,
对于从节点开始的遍历,我们在步之后在处找到它的概率由
式2表明任意两个节点和的共现概率主要由和之间路径上节点的度决定,与和的度无关
注意路径长度受窗口大小的限制
显然,在到的可行路径的所有中间节点中,度越小、路径越短的节点对共现概率的贡献越大
更一般地说,如果两个节点之间的连接是强的和直接的,则认为它们是邻居
如图3所示,两个节点之间的可行路径越短(强),中间节点的度越低(直接),共现概率越高
在学习过程中,邻域相似的节点会有相似的潜在表示
邻域的范围由窗口的大小决定
网络中两个节点之间距离大于窗口大小的节点没有机会计算相互相似性。也就是说,基于随机游走的抽样策略只捕获目标节点附近的高阶邻近性
此外,两个节点的高阶接近度主要取决于连接的强度和直接程度
它不能捕获整个图的结构等效性
Grover等人提出了一种更通用的方法node2vec[7],该方法通过引入两个参数p和q,控制在BFS和DFS之间插值的搜索过程来模拟有偏随机游动
这两个参数实际上修改了转移矩阵m
如上一段所述,返回参数p越小,邻居之间的连接越强
另一方面,更小的输入输出参数q会鼓励更多的直接连接。这项工作定义了一个灵活的邻域概念,我们认为
- (1)连接的强度和直接性不应被视为结构等效
- (2)任何窗口之外的拓扑信息不能被捕获
4 PRE-PROCESSING STEP: TO OBTAIN THE STRUCTURALLY SIMILAR NODES
既然基于随机游走的抽样策略无法获得结构等效性,我们就转向其他图挖掘技术来获得额外的功能
在本节中,我们详细讨论了如何在预处理步骤中获取局部子图信息,并将其用于网络嵌入任务
Peripheral orbits are informative
在第2.2节中,我们介绍了小图形和轨道的使用
轨道的数量随着石墨烯的增大而迅速增加
然而,太多的特征会导致过拟合,而且不是所有的轨道都对某一任务做出相同的贡献
因此,我们利用随机森林[14]评估不同轨道在节点分类任务[5]上的重要性
随机森林由许多决策树组成
在决策树中,每个节点都是单个特征的条件,旨在将数据集分成两部分,以便相似的响应值最终出现在同一个集合中
杂质是衡量目标变量在子集内的同质性。对于分类,通常是基尼系数杂质或信息增益
因此,当训练一棵树时,可以计算出每个特征在多大程度上减少了一棵树中的加权杂质
对于一个森林,从每个特征减少的杂质可以被平均,我们称之为特征重要性的测量
注意,在使用基于杂质的排序时,具有更多类别和较少相关特征的特征被认为更重要
我们使用sklearn[14]实现的随机森林,并如前所述计算轨道重要性Io
实验在多个数据集上重复进行。表1显示了每个轨道里约热内卢在BlogCatalog上的相对重要性
我们可以在其他数据集中得到类似的观察结果。
从节点分类的角度来看,轨道0(节点度)的重要性不大
一个更普遍的观点是,对于任何石墨来说,外围轨道(角度更小的轨道)比核心轨道(角度更大的轨道)更重要
例如,G1中轨道1比轨道2更重要。在G12中,24轨道的重要性最大,26轨道的重要性最小。表1和图2可以验证这一点。
产生这种有趣现象的原因之一可能是石墨烯度数之间的依赖性
以任意两个以上邻居的节点为例,它可以与任意两个邻居组成G1或G2。如果我们把Ci表示为轨道i的石墨烯度,我们就有
核心轨道因此更有可能是多余的,因为它可以用一些外围轨道的总和来表示。
由于上述分析,在计算两个GDVs的相似性时,外围轨道的权重应该大于核心轨道
Limit the scope of similar nodes
为了配合网络嵌入任务,我们尝试利用局部子图相似度信息
对于目标节点,它的局部邻居和结构相似的节点参与学习过程
结构上相似的节点可以从整个网络中选择,也可以只在目标节点的邻域中选择
考虑结构相似节点的范围取决于实际任务
在一定的情况下,网络中连接在一起的节点比没有连接的节点更容易出现相同的标签
相似节点和目标节点之间的最大步长应该很小
然而,也有结构相似性是主要因素的情况下,最大步长必须更大
在预处理步骤中,graphlet计数算法首先为每个节点生成graphlet分布向量
接下来,对于每个节点,找出它在GDV空间中的K个最近的邻居,即与它的余弦距离最小的K个邻居节点
注意,搜索结构相似的节点必须限制在目标节点的高阶度邻域:
这是距离目标节点不超过的所有节点的集合
搜索结果保存在稀疏矩阵中,其中,如果是的个最近邻居之一,则等于相似性分数,否则为(和
矩阵S的每一行总共有个非零数
综上所述,从以下五个方面灵活地控制了预处理:
- 评价GDV相似性的指标。
- O:要考虑的轨道数
- R:计算GDV相似度时不同轨道的权重
- K:最相似的节点数
- S:相似节点和目标节点之间的最大步长
5 NETWORK EMBEDDING POWERED BY STRUCTURAL SIMILARITY
我们提出了一种神经网络结构,它利用局部连通邻居和拓扑信息来学习网络嵌入。
5.1 CBOW Model with Negative Sampling
虽然我们的框架可以用来提炼所有基于单词2向量的网络嵌入算法,但由于篇幅的限制,我们使用CBOW[12]作为我们框架的基础
与Skip-gram模型相比,CBOW模型在句子较短但样本集较多(数据集较大)的数据集上具有更好的性能
在自然语言处理领域,相似的词具有相似的上下文,CBOW的目的是根据上下文预测一个词
损失函数如下所示。C是词汇集,w是要预测的单词
CBOW以上下文词的一个热点编码器为输入,以上下文词向量的平均值为隐含层,其中
- 为词的上下文词数
- 为词的向量
是CBOW的输出,是输出层的第j个单位
注意,和分别是单词w的输入向量和输出向量
由于分母的计算量巨大,Softmax函数很难优化
负抽样是一种有效的解决方法,它通过对k个噪声样本进行Logistic回归来逼近软最大函
如文[12]所示,负抽样过程的概率分布是一元分布,其幂为次方
是噪声分布,是Logistic函数,是基于采样的k个样本的集合
5.2 Enhanced by the Structural Information Branch
我们提出了一种新的框架,以利用结构相似性信息来加速学习过程
图4展示了CBOW的框架
我们以图4中的虚线部分为例,其对应的新体系结构如图5所示
在该模型中,目标节点通过其邻域(上下文信息,称为邻域分支)以及附近结构相似的节点(称为结构信息分支)进行预测
如最后一节所讨论的,稀疏相似度得分矩阵是从预处理步骤中导出的
的每一行包含个非零项
- 被称为节点和节点的相似度得分
邻域分支和结构信息分支共享一个嵌入矩阵
- 每行表示节点的输入嵌入向量
对应的结构信息向量写为
相似度得分被认为是分配给的向量的权重,是的前K个拓扑相似节点之一
目标输入节点的上下文的聚合表示是
其中,和是调节两种信息的比例的参数
通常,高次节点的邻域可以为标签预测提供足够的信息
然而,边很少的节点更多地依赖于结构信息,而较少依赖于其邻域
因此,对于高度节点,的值大于,反之亦然。节点按节点度降序排序,分为级。同一级别的节点共享相同的和
总之,该模型以目标节点的邻居及其相似节点的节点向量的加权平均作为输入
5.3 Learning Process
矩阵和的值在反向传播过程中被更新
相对于输出单元的净输入的偏导数如下:
其中是指标
使用链规则,我们进一步得到:
对应的更新公式如下:
请注意,矩阵在一次迭代中更新两次,即,一轮由邻域中的节点更新,另一轮由拓扑相似的节点更新
当学习过程结束时,我们将矩阵作为学习的节点表示
5.4 Variants
在这里,我们将简要讨论我们的框架的一些变体
对于不同的任务和网络,我们可以选择合适的变体
它们是谁的相似节点? 在我们的框架中,我们利用的是上下文节点的相似节点,而不是目标节点
不过,后一种方案也是可行的
区别主要在于要选择的相似节点的范围
如果要从更大的范围(距离目标节点的最大步长为3或更大)选择节点,则后一种方案将导致预处理步骤的巨大计算复杂度
相反,当前的计划通过扩大窗口大小来实现这一目标
较大的窗口大小对效率没有显著影响。当前计划的问题是,在某些情况下,相似性是不可传递的
哪个计划更好可能取决于网络的可选性。
和相似度矩阵的固定值
在我们的框架中,和在学习过程中更新
设置适当的初始值并使其固定也可以获得良好的性能
此外,固定的参数加快了学习过程
诀窍是为高度节点设置较大的和较小的,反之亦然
相似性分数似乎不那么重要
如果节点是节点的前K个拓扑相似节点之一,则我们设置,否则,
6 EXPERIMENTS
在这一节中,我们首先分别使用DeepWalk[15]、node2vec[7]和我们提出的算法来可视化一个小型网络,它直观地演示了第三节中的论点
此外,我们还展示了不同的网络嵌入算法在多标签分类任务上的性能
文中还讨论了参数敏感度,帮助我们更深入地了解拓扑信息和算法效率
6.1 Case Study: Visualization in 2-D space
...
7 CONCLUSION AND FUTURE WORK
本文分析了基于随机游走的采样策略的特点和不足,提出了一种结合结构相似性和邻域信息的网络嵌入框架
我们通过图形化程度向量来获取结构信息,并将其充分利用到我们的学习框架中
这种方法改变了word2vec算法使用的神经网络,使其包含一个拓扑信息因子,引入了具有几个可调参数的新层
SNS是第一个直接利用网络结构的框架,使其无论是在局部区域还是在全球范围内都成为可能
实验表明,结构相似性对节点分类任务有一定的帮助
包括节点分类、链接预测和可视化在内的任务都与本地网络结构相关
如果存在需要利用网络全局信息的任务,那么基于随机游走的算法就不再适用
总之,下一步的工作包括发现新的应用场景和支持捕获全球网络信息的新框架
读后总结
2022/08/01 读后总结
文章利用了结构相似的性质(与邻域连接相结合)
先对图中每个节点计算其Graphlet度向量(GDV),然后得到一个稀疏、相似矩阵,这里为预处理阶段
然后利用CBOW模型
不同之处在于:对每个词分别使用权重矩阵,相似,然后将得到的两个向量通过和进行融合,得到隐层向量
也就是在传统模型基础上,融合了,相当于考虑了结构相似这一特性
最近状态不太好 理解的不太清楚....
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正