论文部分内容阅读
大数据时代很多数据都是以网络形式进行组织的,把这种数据称为“网络化数据”,比如社交网络、引用网络、蛋白质网络和交通网络等。由于网络化数据中普遍展示出具有局部聚集性的社区特征,因此社区发现是网络化数据分析的重要任务。社区发现对于网络结构的中观粒度分析有重要意义,可以支持网络上的多种任务,比如,网络压缩、信息传播以及影响最大化等。社区发现任务本质上是通过建模网络连边关系学习节点关于社区的表示。传统的基于网络划分的社区发现方法将每个节点划分到一个社区中,相当于学习了节点的one-hot表示。然而,真实网络中,节点是可以同时属于多个社区的,即存在社区重叠的现象。one-hot的表示无法解决这种问题,因此,需要学习节点的分布式表示,来精确指示节点的社区分布。这是社区发现面临的第一个挑战。由于支持社区重叠的分布式节点表示学习方法在处理大规模网络时面临优化过程复杂的问题,因此无法应用于大规模网络。这是社区发现面临的第二个挑战。基于以上两点挑战,本文进行了深入研究,主要贡献包括: 基于编解码模型的重叠社区发现研究:本研究针对网络化数据表示学习得到的节点表示在社区指示能力和数据恢复能力方面存在的矛盾。重叠社区发现方法需要节点表示可以直接指示节点的社区分布,节点表示的指示能力需要对节点表示进行一系列约束,这些约束条件影响了节点表示还原原始数据的能力,导致重叠社区发现方法得到的节点表示功能单一。传统的社区发现工作,比如基于隐因子模型的社区发现工作,无法解决这一矛盾。因此,本研究主要解决如何在数据恢复过程中对节点表示进行约束,从而增强节点表示的社区指示能力。本文利用节点表示同时对原始数据进行编码和解码操作,统一优化编码过程和解码过程,通过约束编解码过程参数的对称性可以学习到可以指示重叠社区的节点表示,并且得到的节点表示在多种类型网络的多个任务上取得超过基准方法的效果。 重叠社区发现方法的初始化加速研究:本研究针对重叠社区发现方法无法应用于大规模网络的问题,解决由重叠社区发现方法目标函数的非凸性带来的优化困难。本文针对重叠社区发现中的一个经典方法—泊松模型进行加速。泊松模型是一种表现良好的社区发现模型,通过建模节点之间的连边数,学到的节点表示可以直接指示网络社区结构。但是由于目标函数的非凸性,会经常优化到局部最优解。传统的应对非凸目标函数优化的方法是多次随机初始化并运行算法从中取最好的结果,这样做效率低且结果没有保障。本部分研究工作中提出利用一个与非凸目标函数近似的凸目标函数的优化结果作为非凸目标函数的迭代初值。由于凸目标函数的优化结果接近全局最优且得到的速度较快,因此该结果可以作为非凸目标函数优化的参数初始化条件,以保证非凸目标函数优化的速度和精度。本文结合了一个快速的网络划分方法和泊松模型的方法,将此模型应用于大规模网络,最终重叠社区发现算法的精确度提高了5%,速度提升了100倍。 重叠社区发现方法的优化过程加速研究:本研究针对重叠社区发现方法无法应用于大规模网络的问题,解决由迭代过程的复杂性带来的优化困难。第一个工作是对迭代优化开始之前的模型加速,本研究从迭代优化过程中对模型进行加速。在网络化数据场景中,传统的节点表示学习模型在优化过程中每次迭代需要更新所有节点表示的参数,因此优化过程复杂度较高,导致大部分算法无法处理大规模网络。由于在社区发现任务中,大部分节点表示在经过少数几轮迭代之后,就可以收敛到可以指示社区结构的能力,因此本文在优化过程中停止继续更新已经收敛的节点表示,避免大量的重复计算来加速算法速度。进一步,由于节点表示的稀疏性,所以本文存储并仅优化那些非零维度进一步加快算法速度。两种加速策略的配合使得本文提出的加速方法可以快速处理大规模真实网络。 综上所述,为了解决基于网络化数据表示学习的社区发现任务面临的重要挑战,本文从三个层面分别解决了社区发现方法的可扩展性以及社区发现方法得到的节点表示的普适性方面面临的挑战。通过编解码模型能够学习到可以指示社区结构并在多种类型网络的多种任务上取得良好效果的节点表示,即本文同时解决了节点表示由于社区指示能力所需的节点表示约束条件和节点表示对原始数据还原能力之间的矛盾。通过快速初值优化模型和快速迭代优化模型分别从模型迭代前和模型迭代过程中对基于网络化数据表示学习的社区发现任务进行加速,主要解决了社区发现方法的可扩展性问题,使得我们的节点表示学习方法可以应用于大规模真实网络指示社区结构。