论文部分内容阅读
生活中的方方面面都暗示着我们每天生活在一个由各种各样的复杂网络交织在一起的世界中,社交网络、快递网络、电信网络、病毒传播网络,这些网络无时无刻地在影响着人们的生活与工作。网络中的每个节点不停地与其他节点进行互动,产生相互影响。对复杂网络相关问题进行有效的研究对于政治、教育、经济、文化等各个方面具有重要意义。复杂网络具有社区结构特性,社区内部边密度大,而社区之间边密度较小。此外,处在同一个社区内的节点往往具有某些属性的相似性。如何进一步有效地利用得到的网络社区结构来预测节点的属性,对于商品推荐、好友预测、主题检测、政治宣传、病毒监控具有重要意义。本文主要针对大规模复杂网络的社区发现和利用网络结构特征进行集体预测若干问题进行研究。论文的主要工作及创新点包括: 1.本文中我们研究了复杂网络学科中一个重要的研究分支-社区发现。我们以大规模复杂网络上的社区发现为目的,提出两种策略不同但复杂度都很低的社区发现算法。在人工和实际网络上的实验表明我们提出的算法都优于其他社区发现算法,这极大地提高了社区发现在实际工程中的应用范围。我们还将复杂网络学科的相关知识与机器学习中的预测算法相结合,在预测过程中使用网络结构特征。这不仅提高了预测的准确率,也极大地扩展了复杂网络学科的应用范围,使复杂网络学科更具有实际意义。 2.我们借鉴复杂网络中的社区局部分布特点和“帕累托效应”,提出一种基于种子节点扩张的局部社区发现算法,该算法复杂度低,可应用于大规模网络。算法中我们使用改进的PageRank算法选取核心节点作为种子节点;在局部扩张中,传统模块度具有分辨率受限问题,针对此问题我们给出基于Potts spin-glass模型的解决方案,使用Hamiltonian函数作为多分辨率模块度进行局部社区扩张,迭代地发现局部社区结构。我们提出的基于种子节点扩张的局部社区发现算法可以在大规模网络上应用,得益于时间复杂度较低的优点,尤其是在稀疏网络上其时间复杂度接近线性。实验验证中,我们在计算机生成的GN网络以及LFR人工基线网络上进行实验,在NMI和模块度指标下,发现算法通过参数调整可以有效调节网络划分的社区规模且该参数对算法具有很强的鲁棒性,基于种子节点扩张的局部社区发现算法相比于其余社区发现算法具有更高的准确率;在中小规模和大规模真实网络上进行实验,基于种子节点扩张的局部社区发现算法都具有更好的社区划分效果,并且该算法运行时间更短。 3.我们提出一种基于多维距离的标签传播社区发现算法,该算法不使用特定目标优化函数,而是借鉴网络的影响力传播模型和网络动力学过程来揭示网络的结构属性,进而发现社区结构。这种算法的优点在于不需要预先知道社区的规模与数量,无额外的参数,仅根据网络的自身结构信息发现社区,该算法具有很低的接近线性的时间复杂度。我们的算法可以有效地解决传统标签传播算法中节点间标签传播过程中只考虑原始边的权值而不能全面描述节点间距离和算法结果不稳定问题。我们使用Jaccard系数来定义节点间的相似性进而利用该相似性从三个方面考虑节点之间的距离,使该距离更加全面地描述节点之间的标签转移概率。我们提出使用标签向量来表示节点对每个标签的选择概率系数以解决标签传播算法结果不稳定的问题。我们在LFR仿真数据和多个已知社区结构的数据集上进行实验,以NMI和模块度作为评价指标,与其他社区发现算法进行算法比较,发现我们的算法在NMI指标下性能明显优于其他算法,而由于模块度函数定义具有缺陷性,我们的算法在模块度指标下与其他算法相当。 4.复杂网络作为一个动态系统,网络中个体的思想和行为相互地影响与联系。对网络中节点的一些属性标签进行预测具有重要意义。针对传统的预测过程中样本与样本之间是统计上独立的不合理假设,我们提出基于社区结构的集体预测算法。在预测过程中不仅仅考虑节点自身属性特征,还将网络的结构特征考虑进来,以弥补样本独立假设造成的信息缺失。我们还以实际举例和定量计算的方式验证了我们提出算法的可行性。最后,在实验阶段,我们使用三种数据集,与不使用网络结构的经典预测算法和传统的集体预测算法进行对比。实验结果表明,在不同数据集上,我们提出的基于社区结构的集体预测CPC算法在算法性能上优于其他两种算法,尤其是在训练集比例较小时,CPC算法提升更加明显。