本文是一篇计算机论文,本文从节点特征和网络结构两个方面研究了基于stacking集成和图神经网络的网络表示学习。在SE-NRL中主要针对同质图数据集进行实验,考虑的网络应用较少;在SCE-NRL中主要考虑了非重叠社区发现问题。
第1章 绪论
1.1 研究背景及意义
1.1.1 研究背景
现实世界的许多数据可表示为网络,例如社交网络、生物-蛋白网络等。网络包括节点和边,其中节点表示实体,边表示节点之间的关系。网络数据具有非欧几里得的结构特点,使得机器学习技术不能直接应用于大部分传统的网络分析任务。网络表示学习很好地解决了上述问题,它将网络中的节点用低维稠密的向量表示,这些向量同时还保持了原有网络的结构信息。将网络表示学习得到的向量表示用于网络分析[1]任务可以挖掘出富有价值的信息,它不仅处理节点分类[2]、链路预测[3]、网络可视化[4-5]等下游任务时有着很好的效果,而且在金融欺诈、推荐系统等场景下都有实际的应用价值。例如,在社交网络中,通过节点分类对用户进行分类,通过链路预测构建推荐系统为用户推荐物品;在生物网络中,通过分析已知的疾病与基因关系来预测潜在的致病基因等。
图神经网络(GNN)是基于深度学习的网络表示学习方法,可以有效利用图结构特征来处理各种关系数据。在图神经网络中,“图”是指网络数据;“神经网络”是深度神经网络结构,例如CNN[6]、RNN[7]等。图神经网络(GNN)能够较好地处理和分析图数据,现已成为一种广泛应用的“深度学习的新一代技术” [8-9]。GNN的核心机制是通过聚合邻居信息进行学习,而这种聚合也是对邻居信息的一种“集成”,这正是本文的出发点所在,它启发我们去探讨GNN的集成能力。
1.2 国内外文献综述
本文将stacking集成学习应用于网络表示学习,其中stacking集成的次级学习器使用图神经网络方法。图神经网络方法是基于深度学习的网络表示学习方法。因此,本节将从集成学习和网络表示学习方法两个方面梳理相关研究。
1.2.1 集成学习研究现状
集成学习[11]通过结合多个有一定准确性和差异性的个体学习器,然后使用某种结合策略将多个个体学习器的结果进行集成,进而形成一个强学习器以获得更好的学习性能,这样能高效地解决实际应用问题。
Dasarathy和Sheela(1979)[12]提出了集成学习的概念。随着学者们对集成学习的不断研究,许多新的集成学习算法被提出。这些算法大多基于诸如Bagging、Boosting、Stacking等算法进行改进,得到了很好的集成效果,并在实际问题中有着广泛的应用。其中,Bagging[13]的主要思想是生成一系列独立的样本,其大小和分布与原始数据相同。根据这一系列样本来训练个体学习器,将这些学习器的输出进行集成,这样的效果比在原始数据上生成的单一学习器更好。Boosting[14]算法的基本思想是在集成模型中将弱学习器转换为学习能力更好的学习器。在每次迭代中,对当前学习器进行适当加权进而增强模型,一定次数的迭代后会产生一个强学习器。Stacking[15]算法的基本思想是结合多个初级学习器的输出作为新数据,通过次级学习器再次学习和集成新数据,从而得到最终的输出。文献[16]对投票法和Stacking法进行了对比,结果发现Stacking集成学习在很多领域的表现都比投票法更优,并且总是比最好的基算法效果更好。有效的集成学习可以最大化提升学习的效果,这推动了例如时间序列分析、医疗、金融等很多领域的发展。Assaad等人(2008)[17]将RNN作为基学习器,使用 Boosting集成方法进行时间序列预测,有效提升了时间序列预测的准确性。
第2章 相关理论与方法
2.1 集成学习方法简介
给定网络G,集成学习的思想是构建多个个体学习器l1, l2, ……, ln,再用某种结合策略将它们的输出结合起来,结合策略有平均法、投票法和学习法。集成学习的一般结构如图2.2所示。
大量关于集成学习的研究表明,集成学习的性能与基算法的准确性和基算法之间的多样性有关。集成学习通过集成多个不同的算法总是可以有效提高算法的整体性能[56]。在Kaggle等众多的算法竞赛中,集成学习往往是最后的获胜者。在著名的深度学习模型中常用的Dropout、Skip-Connection等模块均体现了集成学习的思想。集成学习总能提升算法性能的原因主要有以下三个方面:
(1)统计学角度。在发现最佳的假设空间的过程中,有可能发现不止一个假设空间算法可以产生相同的性能。算法总是有很大的假设空间用于训练和学习,如果只使用单一的学习器,算法的泛化能力可能会很差,如果结合多个学习器可以得到一定程度的改善。
(2)计算角度。很多算法在求解时总是使用局部搜索的方式,但是容易陷入局部最优,有的局部最优点的泛化能力可能很差,如果使用结合多个学习器的方法,不同的学习器使用不同的优化方式寻找最优解,结合得到的最后结果在一定程度上减小了陷入局部最优的风险。
(3)表示角度。单一算法所考虑的假设空间有限,如果在所考虑的假设空间中没有考虑到最佳假设,那么单一的算法可能无法产生最佳答案。当几个学习者被整合时,整体的假设空间就会被扩展,包含最好假设的可能性就会增加。
2.3网络表示学习方法简介
(1)DeepWalk
DeepWalk[26] 将自然语言处理中的Word2Vec思想即词嵌入(word embedding)思想用于网络表示。因此,将网络表示学习中的网络节点对应词嵌入思想中的单词作为基本的处理单元,并将Random Walk采样获得的定长节点序列对应句子中的单词序列作为目标进行分析。
Line[29]研究了大规模网络嵌入到低维向量空间的问题,可以有效地保留局部网络结构和全局网络结构。局部网络结构由网络中可观察到的边表示,其捕获了节点之间的一阶邻近性。捕获全局网络结构需要通过节点的共同邻域结构作为补充,二阶邻近性表示具有共同邻居的节点是相似的。图2.5给出一个说明示例,节点6和节点7应该紧密地嵌入低维空间中,因为它们连边的权重较大;节点5和节点6也应该放置紧密,因为它们有1、2、3、4这四个共同邻居。
社区发现是理解现实世界中各种网络数据的重要方法,并应用于社区中的共识形成或生化网络中的功能模块识别等各种问题。例如,在社交网络中兴趣相似的人可能是好朋友,正所谓物以类聚人以群分。虽然社区没有普遍的定义,但是大部分现实世界的网络都能够显示社区结构,一个社区经常被想象为一组连接较多的节点,社区之间的联系很少[43]。社区结构的发现与分析对于挖掘复杂系统的隐含信息等具有重要的参考价值[44]。
第3章 基于stacking集成和图注意力网络的网络表示学习 ................................... 24
3.1 网络表示学习基算法及次级学习器的选择................................. 24
3.2 面向节点特征的网络表示集成算法基本思想 .............................. 24
第4章 基于选择性聚类集成和图卷积网络的网络表示学习 .................................. 41
4.1 社区发现基算法及共识函数的选取 ............................... 41
4.2 面向网络结构的网络表示集成算法基本思想 ......................... 41
第5章 总结与展望 .................................. 56
5.1 研究结论 ........................................... 56
5.2 展望 ................................. 57
第4章 基于选择性聚类集成和图卷积网络的网络表示学习
4.1 社区发现基算法及共识函数的选取
集成方法可以整合多个基算法的结果,已经成功地应用于分类和聚类任务中。社区发现问题一般被认为是在网络中对相似节点的聚类问题。因此,自然地想到在社区发现中使用聚类集成方法,从而提高社区划分结果的准确性和稳定性。
对于同一数据集,不同的聚类算法可以产生不同的结果。为了保证基聚类成员的聚类质量及多样性,选择具有代表性的社区发现算法GN算法、LPA算法、Louvain算法、Bigclam算法、Spectral算法和CNM算法作为基算法(已在2.4小节中介绍),需要从社区发现基算法中选择准确性较高且多样性的作为基聚类成员。
节点之间的信息流动会形成社区结构,图神经网络的每一层都聚集来自邻居的信息,这也是一种信息流。因此自然地想到,使用图神经网络方法作为聚类集成的共识函数进行网络表示学习。本章使用具有代表性的图神经网络方法GCN作为共识函数。
第5章 总结与展望
5.1 研究结论
本文提出了两种算法,分别是面向节点特征的网络表示集成方法——基于stacking集成和图注意力网络的网络表示方法SE-NRL和面向网络结构的网络表示集成方法——基于选择性聚类集成和图卷积网络的网络表示学习方法SCE-NRL。
(1)在SE-NRL中,应用网络表示学习方法将网络中的节点及其特征嵌入成为低维度的表示形式,使其在所在空间中具有更加强大的表示和推理能力,更好地服务于下游任务。因此,学习到高质量的节点表示仍是网络表示学习领域的重要研究内容。重点工作如下:
首先,选用具有代表性的基于浅层神经网络的网络表示学习方法DeepWalk、Node2Vec和Line作为初级学习器。初级学习器有一定网络表示能力且相对较弱,各个初级学习器之间优势互补。保证了集成有效性。然后结合它们的输出作为对应节点的特征,结合策略有拼接、求和、取平均,选择具有代表性的图神经网络方法GAT[15]作为次级学习器,通过注意力机制给邻居赋予不同的权重,将中心节点及其邻居的加权信息融合得到网络表示。
为了能直接评价网络表示,基于网络节点的相似度设计了损失函数和评价指标MRR、MR、Hit@1、Hit@3、Hit@10;
在多个公开数据集上,从异质集成、同质集成、基于网络表示的链路预测任务和参数敏感性分析四个方面进行实验,并分析了实验结果。实验结果验证提出的SE-NRL算法的有效性,表明stacking集成学习能够提升模型的性能,即提升泛化能力。这也验证了GNN有较好的网络表示能力和集成能力。
参考文献(略)