论文部分内容阅读
在现实世界中存在各种各样的网络,每一个网络都有其存在的意义和内在关联。无论是生活中人与人之间的关系网络,生物网络,蛋白质网络还是学术网络,都可以成为网络研究的对象。这些网络存在很高的关联性和重叠性,非常值得挖掘和研究。随着计算机各方面的技术的快速发展和互联网的日益普及,各种各样的社交网络开始大量浮现,对于这些网络的分析也变得更加迫切。社区发现就是一种网络分析的手段。社区发现算法有助于对社区的发现和对网络图数据的挖掘。
现有的社区发现方法很多都使用到了邻接矩阵来表示网络结构。然而,这些网络结构不能具体地展现节点之间的结构紧密程度。其次,现有的社区发现算法较少考虑到节点的属性和社区内部的含义。为了解决这两个问题,本文将从节点间的紧密度和节点属性的角度出发,提出新的算法。
本文首先对社区发现的意义进行阐述,然后给出社区发现的相关定义和知识。接着将展示社区发现到目前为止的国内外研究现状。在此基础上,对各个社区发现的算法进行阐述,分析各个算法的有点和缺点。最后,根据现有算法存在的问题,提出本文的算法。
针对社区发现在使用邻居矩阵时不能体现节点间的结构紧密度这个问题,本文提出一个基于R-hop的节点结构紧密度矩阵计算算法。该算法解决了邻接矩阵只能展示节点相邻情况的问题。基于R-hop的节点紧密度矩阵计算算法除了能展示节点的连接状态还能展示节点间的结构紧密度。社区发现算法较少考虑到节点的属性和社区内部的含义的问题。由于节点表示的对象有属性,所以在计算节点间的紧密度时,本文不仅计算了节点间的结构紧密度,还计算节点间的属性紧密度。
在节点属性方面,为了衡量不同属性的重要程度,本文根据节点各个属性取值的多样性计算各个属性的权重。本文给出了一个属性权重的计算方式并计算节点间的属性紧密度。在得到节点间的属性紧密度和结构紧密度之后,本文通过给这两个紧密度分配不同的权重的方式来融合这两个紧密度并得到两个节点之间的紧密度。接着,本文寻找社区中心和初始社区并标记。最后通过半监督的方法推导出一个社区分类公式进行社区发现。
现有的社区发现方法很多都使用到了邻接矩阵来表示网络结构。然而,这些网络结构不能具体地展现节点之间的结构紧密程度。其次,现有的社区发现算法较少考虑到节点的属性和社区内部的含义。为了解决这两个问题,本文将从节点间的紧密度和节点属性的角度出发,提出新的算法。
本文首先对社区发现的意义进行阐述,然后给出社区发现的相关定义和知识。接着将展示社区发现到目前为止的国内外研究现状。在此基础上,对各个社区发现的算法进行阐述,分析各个算法的有点和缺点。最后,根据现有算法存在的问题,提出本文的算法。
针对社区发现在使用邻居矩阵时不能体现节点间的结构紧密度这个问题,本文提出一个基于R-hop的节点结构紧密度矩阵计算算法。该算法解决了邻接矩阵只能展示节点相邻情况的问题。基于R-hop的节点紧密度矩阵计算算法除了能展示节点的连接状态还能展示节点间的结构紧密度。社区发现算法较少考虑到节点的属性和社区内部的含义的问题。由于节点表示的对象有属性,所以在计算节点间的紧密度时,本文不仅计算了节点间的结构紧密度,还计算节点间的属性紧密度。
在节点属性方面,为了衡量不同属性的重要程度,本文根据节点各个属性取值的多样性计算各个属性的权重。本文给出了一个属性权重的计算方式并计算节点间的属性紧密度。在得到节点间的属性紧密度和结构紧密度之后,本文通过给这两个紧密度分配不同的权重的方式来融合这两个紧密度并得到两个节点之间的紧密度。接着,本文寻找社区中心和初始社区并标记。最后通过半监督的方法推导出一个社区分类公式进行社区发现。