基于标签传播算法改进的稀疏网络社区发现方法及系统与流程
- 国知局
- 2024-08-22 14:56:56
本发明涉及数据挖掘,具体地涉及一种基于标签传播算法改进的稀疏网络社区发现方法及系统。
背景技术:
1、伴随着“互联网+”的广泛应用,社会中涌现出大量规模庞大的复杂系统,比如:学术合作网络、社交网站、购物网站等,这已然构建出了一个庞大而复杂的信息网络。社区结构是复杂网络中一种重要的组织形式,它有助于人们分析和理解网络中某些结构的功能,揭示网络中隐藏的潜在信息,预测出网络未来发展的动态。因此,社区结构在社会网络中有着广泛的应用。社区结构的发现也可以解决脑网络神经科学中的实际问题,以更准确地解析和解释人类大脑结构和功能的模块化。此外,社区结构的研究还可以用于预测社会网络的演化趋势和发展方向,提供一些指导性的建议和决策支持。因此,社区发现是网络分析工作的重要组成部分,而所有社区发现的最终任务都是识别出复杂网络中所有具有高内部相似度和低外部相似度的社区结构,而网络的多样性、复杂性以及动态性等特点使得社区发现工作变得更加复杂和困难。网络数据的不完整性会会导致整个网络的分布呈现出稀疏的特征。目前提出的社区发现算法很少考虑到网络的稀疏性,所以它们在应对稀疏网络时,很容易引入分辨率限制问题,这不仅使得划分结果极不稳定,其所得到的精度也是不理想的。
2、传统的标签传播算法由于其独有的优势,如算法复杂度低、无自定义参数、易于理解与实现等,但是,传统的标签传播算法稳定性差,也易产生震荡效应。尤其是在处理连接比较稀疏的网络时,它会将整个网络中的所有节点划分到一个社区之中,从而产生分辨率限制问题,从而影响社区划分的稳定性和准确性。
3、因此如何能够在降低算法对网络稀疏度敏感性的同时又能提高社区划分结果的稳定性和准确性是社区发现方法是本领域亟需解决的问题。
技术实现思路
1、本发明实施例的目的是提供一种基于标签传播算法改进的稀疏网络社区发现方法及系统,通过根据稀疏网络中节点的重要性和相似性对稀疏网络中节点进行划分,提高了社区划分结果的稳定性和准确性。
2、为了实现上述目的,本发明采用的技术方案如下:
3、基于标签传播算法改进的稀疏网络社区发现方法,包括以下步骤:
4、获取待发现的稀疏网络集合;
5、计算所述稀疏网络集合中各个节点的重要性和相似性;
6、根据所述重要性和相似性在节点中选取社区中心节点,建立社区中心节点集合;
7、根据其余节点与所述社区中心节点的连接关系确定每个所述社区中心节点对应的第一社区集合;
8、根据所述节点相对于所述第一社区集合的位置关系确定每个所述节点的标签;
9、根据每个所述节点的重要性更新所述标签;
10、根据更新后的标签确定每个节点对应所属的第二社区集合;
11、根据所述第二社区集合进行社区发现操作。
12、可选地,计算所述稀疏网络集合中各个节点的重要性和相似性,包括:
13、采集每个所述节点的度、每个所述节点的邻居节点数、每个所述节点的间接邻居节点数以及每个所述节点包含的三角闭包数;
14、根据所述节点的度、邻居节点数、间接邻居节点数以及所述节点包含的三角闭包数确定所述节点的重要性值;
15、根据所述重要性值对每个所述节点的重要性值进行归一化处理。
16、可选地,计算所述稀疏网络集合中各个节点的重要性和相似性,包括:
17、采集每两个节点间的邻接矩阵元素、节点的度、邻居节点数、间接邻居节点数;
18、根据所述每两个节点间的邻接矩阵元素、节点的度、邻居节点数、间接邻居节点数,确定每两个节点的相似性值。
19、可选地,根据所述重要性和相似性在节点中选取社区中心节点,建立社区中心节点集合,包括:
20、根据各个所述节点的重要性对节点进行降序排列,得到节点序列;
21、按照所述节点序列的排列顺序顺次选择一个未被选择的节点;
22、计算选择的节点与社区节点集合中的所述节点的相似性比值;
23、根据所述相似性比值确定选择的节点是否放入所述社区节点集合中;
24、判断当前所述节点序列中是否存在未被选择的所述节点;
25、在判断当前所述节点序列中存在未被选择的所述节点的情况下,返回执行按照所述节点序列的排列顺序顺次选择一个未被选择的节点的步骤;
26、在判断当前所述节点序列中不存在未被选择的所述节点的情况下,将所述社区节点集合中的节点作为所述社区中心节点集合。
27、可选地,计算选择的节点与社区节点集合中的所述节点的相似性比值,包括:
28、从所述社区节点集合中选取一个未被选取的节点,作为第一节点;
29、计算选择的节点和所述第一节点的相似性值,以作为所述第一相似性值;
30、计算选择的节点和每个节点的相似性值的最大值,作为第一最大值;
31、计算所述第一节点和其余每个节点的相似性值的最大值,作为第二最大值;
32、选取所述第一最大值和第二最大值之间的较大者;
33、计算所述第一相似性值和所述较大者的比值,以作为选取的所述第一节点的所述相似性比值;
34、判断当前所述社区节点集合中是否存在未被选取的所述节点;
35、在判断所述社区节点集合中存在未被选取的所述节点的情况下,返回执行从所述社区节点集合中选取一个未被选取的节点,作为第一节点的步骤;
36、在判断所述社区节点集合中不存在未被选取的所述节点的情况下,确定所述相似性比值计算完成。
37、可选地,根据所述相似性比值确定选择的节点是否放入所述社区节点集合中,包括:
38、判断所述相似性比值是否小于阈值;
39、在判断所述相似性比值小于阈值的情况下,将选择的节点放入所述社区节点集合中;
40、在判断所述相似性比值大于或等于阈值的情况下,返回按照所述节点序列的排列顺序顺次选择一个未被选择的节点的步骤。
41、可选地,根据其余节点与所述社区中心节点的连接关系确定每个所述社区中心节点对应的第一社区集合,包括:
42、获取与所述社区中心节点直接连接的所述节点,将所述节点划分至与所述社区中心节点对应的第一社区集合;
43、将未被划分的所述节点组合为独立第一社区集合。
44、可选地,根据所述节点相对于所述第一社区集合的位置关系确定每个所述节点的标签,包括:
45、针对与所述社区中心节点对应的第一社区集合中的所述节点,根据所述社区中心节点的节点编号作为所述第一社区集合中所述节点的标签;
46、针对所述独立第一社区集合的所述节点,根据所述独立第一社区集合中所述节点编号作为所述节点的标签。
47、可选地,根据每个所述节点的重要性更新所述标签,包括:
48、根据各个所述节点的重要性值对节点进行降序排列,得到节点序列;
49、按照所述节点序列的排列顺序顺次选择一个未被选择的节点;
50、计算选择的节点与对应的每个邻居节点的影响力,获得对选择的节点影响力最大的标签;
51、根据所述影响力更新所述标签。
52、可选地,计算选择的节点与对应的每个邻居节点的影响力,包括:
53、根据所述重要性值的归一化处理的结果计算所述影响力。
54、可选地,根据更新后的标签确定每个节点对应所属的第二社区集合,包括:
55、根据更新后的标签,将具有相同标签的所述节点划分至对应所属的第二社区集合。
56、另一方面,本发明还提供一种基于标签传播算法改进的稀疏网络社区发现系统,包括处理器,用于:
57、获取待发现的稀疏网络集合;
58、计算所述稀疏网络集合中各个节点的重要性和相似性;
59、根据所述重要性和相似性在节点中选取社区中心节点,建立社区中心节点集合;
60、根据其余节点与所述社区中心节点的连接关系确定每个所述社区中心节点对应的第一社区集合;
61、根据所述节点相对于所述第一社区集合的位置关系确定每个所述节点的标签;
62、根据每个所述节点的重要性更新所述标签;
63、根据更新后的标签确定每个节点对应所属的第二社区集合;
64、根据所述第二社区集合进行社区发现操作。
65、可选地,计算所述稀疏网络集合中各个节点的重要性和相似性,包括:
66、采集每个所述节点的度、每个所述节点的邻居节点数、每个所述节点的间接邻居节点数以及每个所述节点包含的三角闭包数;
67、根据所述节点的度、邻居节点数、间接邻居节点数以及所述节点包含的三角闭包数确定所述节点的重要性值;
68、根据所述重要性值对每个所述节点的重要性值进行归一化处理。
69、可选地,计算所述稀疏网络集合中各个节点的重要性和相似性,包括:
70、采集每两个节点间的邻接矩阵元素、节点的度、邻居节点数、间接邻居节点数;
71、根据所述每两个节点间的邻接矩阵元素、节点的度、邻居节点数、间接邻居节点数,确定每两个节点的相似性值。
72、可选地,根据所述重要性和相似性在节点中选取社区中心节点,建立社区中心节点集合,包括:
73、根据各个所述节点的重要性对节点进行降序排列,得到节点序列;
74、按照所述节点序列的排列顺序顺次选择一个未被选择的节点;
75、计算选择的节点与社区节点集合中的所述节点的相似性比值;
76、根据所述相似性比值确定选择的节点是否放入所述社区节点集合中;
77、判断当前所述节点序列中是否存在未被选择的所述节点;
78、在判断当前所述节点序列中存在未被选择的所述节点的情况下,返回执行按照所述节点序列的排列顺序顺次选择一个未被选择的节点的步骤;
79、在判断当前所述节点序列中不存在未被选择的所述节点的情况下,将所述社区节点集合中的节点作为所述社区中心节点集合。
80、可选地,计算选择的节点与社区节点集合中的所述节点的相似性比值,包括:
81、从所述社区节点集合中选取一个未被选取的节点,作为第一节点;
82、计算选择的节点和所述第一节点的相似性值,以作为所述第一相似性值;
83、计算选择的节点和每个节点的相似性值的最大值,作为第一最大值;
84、计算所述第一节点和其余每个节点的相似性值的最大值,作为第二最大值;
85、选取所述第一最大值和第二最大值之间的较大者;
86、计算所述第一相似性值和所述较大者的比值,以作为选取的所述第一节点的所述相似性比值;
87、判断当前所述社区节点集合中是否存在未被选取的所述节点;
88、在判断所述社区节点集合中存在未被选取的所述节点的情况下,返回执行从所述社区节点集合中选取一个未被选取的节点,作为第一节点的步骤;
89、在判断所述社区节点集合中不存在未被选取的所述节点的情况下,确定所述相似性比值计算完成。
90、可选地,根据所述相似性比值确定选择的节点是否放入所述社区节点集合中,包括:
91、判断所述相似性比值是否小于阈值;
92、在判断所述相似性比值小于阈值的情况下,将选择的节点放入所述社区节点集合中;
93、在判断所述相似性比值大于或等于阈值的情况下,返回按照所述节点序列的排列顺序顺次选择一个未被选择的节点的步骤。
94、可选地,根据其余节点与所述社区中心节点的连接关系确定每个所述社区中心节点对应的第一社区集合,包括:
95、获取与所述社区中心节点直接连接的所述节点,将所述节点划分至与所述社区中心节点对应的第一社区集合;
96、将未被划分的所述节点组合为独立第一社区集合。
97、可选地,根据所述节点相对于所述第一社区集合的位置关系确定每个所述节点的标签,包括:
98、针对与所述社区中心节点对应的第一社区集合中的所述节点,根据所述社区中心节点的节点编号作为所述第一社区集合中所述节点的标签;
99、针对所述独立第一社区集合的所述节点,根据所述独立第一社区集合中所述节点编号作为所述节点的标签。
100、可选地,根据每个所述节点的重要性更新所述标签,包括:
101、根据各个所述节点的重要性对节点进行降序排列,得到节点序列;
102、按照所述节点序列的排列顺序顺次选择一个未被选择的节点;
103、计算选择的节点与对应的每个邻居节点的影响力,获得对选择的节点影响力最大的标签;
104、根据所述影响力更新所述标签。
105、可选地,计算选择的节点与对应的每个邻居节点的影响力,包括:
106、根据所述重要性值的归一化处理的结果计算所述影响力。
107、可选地,根据更新后的标签确定每个节点对应所属的第二社区集合,包括:
108、根据更新后的标签,将具有相同标签的所述节点划分至对应所属的第二社区集合。
109、再一方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有指令,该指令用于使得计算机执行如上述任一所述的方法。
110、通过上述技术方案,本发明提供一种基于标签传播算法改进的稀疏网络社区发现方法及系统。通过采集节点的度、邻居节点数、间接邻居节点数以及节点包含的三角闭包数来确定一个节点的重要性,并考虑节点间的邻接矩阵元素、节点的度、邻居节点数、间接邻居节点数,确定每两个节点的相似性,根据节点的重要性和相似性选取网络中的社区中心节点,并对网络进行初始划分,根据节点的重要性更新节点的标签,根据更新后的节点的标签划分网络。本发明所提出的社区发现方法不仅能够准确稳定的划分出复杂网络中的社区,同时可以提高挖掘稀疏网络中社区结构的准确性和稳定性。
111、本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
本文地址:https://www.jishuxx.com/zhuanli/20240822/280531.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。