基于COPRA的重叠社区划分方法技术

技术编号:24172358 阅读:57 留言:0更新日期:2020-05-16 03:23
基于COPRA的重叠社区划分方法,涉及计算机领域,针对现有技术中社交网络划分算法存在划分结果不稳定,随机性强,导致算法结果的准确性低的问题,本发明专利技术针对COPRA算法的不稳定性和随机性进行了改进。首先引入信息熵概念,提出直接节点、间接节点概念,然后通过获取节点的节点熵,并根据每个节点熵总和对节点标签更新进行排序,减少标签更新的随机性。随后提出标签价值概念,主要从节点对标签的从属系数、拥有该标签节点的熵总和、节点的度三点进行综合考虑,提出了标签价值计算公式,并给出了算法的执行过程。本发明专利技术能够发现复杂的社会网络中的重叠社区结构,并且挖掘社区结果较好、准确性高。

【技术实现步骤摘要】
基于COPRA的重叠社区划分方法
本专利技术涉及计算机领域,具体为一种基于COPRA的重叠社区划分方法。
技术介绍
由于目前社交网络规模愈加庞大,很多传统的社区发现算法都不能够对当前社区状态进行准确划分。另外,社区的构成也逐渐复杂起来,社区与社区之间经常会存在重叠部分。COPRA算法作为一种挖掘重叠社区结构的优秀算法,因近似线性的时间复杂度而被广大学者所参考研究。2002年标签传播算法首次被提出,它的原理先为任意一个节点初始化一个标签,然后根据其邻居节点来更新自己的标签,并且认为标签之间越相似,邻居节点的标签就更容易传播。算法主要思想为:1.初始时,给每个节点一个唯一标签;2.每个节点使用其邻居节点的标签中最多的标签来更新自身的标签(若都相等则随机选取一个来更新自己标签);3.反复执行步骤2,直到每个节点的标签都不再发生变化为止。LPA算法总体来说实现思路较为简单易懂,且无需指定任何参数,时间复杂度低,一度成为很多大型网络发现的首选算法。但是该算法有两个很重要的问题:首先是它只适用用与非重叠社区的发现,而实际网络中社区之间往往是存在重叠现象的,因此不符合网络划分需求。另外一个也是该算法的致命缺点,那就是它的划分结果不稳定,随机性强,这个缺点直接影响了算法结果的准确性。
技术实现思路
本专利技术的目的是:针对现有技术中社交网络划分算法存在划分结果不稳定,随机性强,导致算法结果的准确性低的问题,提出基于COPRA的重叠社区划分方法。本专利技术为了解决上述技术问题采取的技术方案是:基于COPRA的重叠社区划分方法,包括以下步骤:步骤一:在无向网络结构G(V,E)中输入迭代次数,其中G代表网络,v代表网络中的节点,e代表网络中的边;步骤二:计算网络中各节点的节点熵;步骤三:将网络中节点按照节点熵排序;步骤四:将每个节点进行初始化并设置唯一标签,设定从属系数为1;步骤五:选择一个节点,统计该节点的邻居节点标签情况;步骤六:计算各个标签的从属系数;步骤七:判断是否存在大于阈值的标签,若存在则执行步骤八,若不存在执行步骤十五;步骤八:保留大于阈值的标签,并且删除小于阈值的标签;步骤九:选择从属系数最大的标签;步骤十:对从属系数最大的标签做归一化处理;步骤十一:判断节点是否更新完毕,若未完毕则执行步骤五,若完毕则执行步骤十二;步骤十二:判断是否满足迭代终止条件,若不满足则执行步骤五,若满足则执行步骤十三;步骤十三:将拥有相同标签节点划分为同一社区;步骤十四:输出重叠社区结构;步骤十五:判断多个标签从属系数标签价值是否相等,若不相等则执行步骤九,若相等则执行步骤十六;步骤十六:计算标签归属度相等的各个标签的标签价值;步骤十七:选择标签价值最高的前V个标签,然后执行步骤十,其中V代表一个节点能够拥有最多V个标签。进一步的,所述邻居节点包括直接邻居节点和间接邻居节点。进一步的,所述间接邻居节点出现的概率P的公式为:其中,vj表示直接邻居节点,di′表示节点vi的直接邻居节点总度数,di″表示节点vi的间接邻居节点总度数。进一步的,所述直接邻居节点总度数的计算公式为:其中,N(i)表示节点vi的邻居节点的集合,dj代表节点j的度数,即节点j的邻居节点个数。进一步的,所述间接邻居节点总度数的计算公式为:其中,N(i)表示节点vi的邻居节点的集合,dj′代表节点j′的度数,即节点j′的邻居节点个数。进一步的,所述节点熵的公式为:HC(vi)=H1(vi)+λH2(vi)其中,H1(vi)表示直接节点熵,H2(vi)表示间接节点熵,λ为一个参数,范围为[0,1],H1(vi)、H2(vi)和λ的公式如下:vj表示节点j。进一步的,所述从属系数的计算公式为:其中,x表示节点x,b表示节点对标签的从属系数,l表示标签符号,bt(l,x)表示第t次迭代后节点x对于标签l的归属度,∑y∈c(l)表示y属于社区C中所有标签为l的节点的集合,|C(l)|表示社区中所有带有l标签的节点的数量。进一步的,所述标签价值的公式为:其中,∑d(l)代表所有拥有标签l的节点的总度数,b(l,x)表示每个标签的顶点对该标签的从属系数,HC(x)代表节点x的节点熵,∑x∈c(l)d(x)所有标签为l的节点的度。本专利技术的有益效果是:本专利技术针对COPRA算法的不稳定性和随机性进行了改进。首先引入信息熵概念,提出直接节点、间接节点概念,然后通过获取节点的节点熵,并根据每个节点熵总和对节点标签更新进行排序,减少标签更新的随机性。随后提出标签价值概念,主要从节点对标签的从属系数、拥有该标签节点的熵总和、节点的度三点进行综合考虑,提出了标签价值计算公式,并给出了算法的执行过程。本专利技术能够发现复杂的社会网络中的重叠社区结构,并且挖掘社区结果较好、准确性高。本专利技术将节点的信息熵由大到小地进行排序,排好序后的序列为ES(EntropySequence)。根据排列好的节点信息熵序列对节点进行更新,能够有效减少很多不必要的标签更新,从而提高算法效率,同时能够避免重要性小的节点反而影响重要性大的节点现象的发生。附图说明图1为LPA算法标签传播过程图;图2为节点初始化示意图;图3为COPRA算法标签选择过程图;图4为本专利技术流程图;图5为本专利技术在各个数据集迭代情况图;图6为不同算法在不同数据集上Q值对比图;图7为n=500时各算法模块度值图;图8为n=10000时各算法模块度值图。具体实施方式具体实施方式一:参照图2具体说明本实施方式,本实施方式所述的基于COPRA的重叠社区划分方法,包括以下步骤:步骤一:在无像网络结构G(V,E)中输入迭代次数,其中G代表网络,v代表网络中的节点,e代表网络中的边;步骤二:计算网络中各节点的节点熵;步骤三:将网络中节点按照节点熵排序;步骤四:将每个节点进行初始化并设置唯一标签,设定从属系数为1;步骤五:选择一个节点,统计该节点的邻居节点标签情况;步骤六:计算各个标签的从属系数;步骤七:判断是否存在大于阈值的标签,若存在则执行步骤八,若不存在执行步骤十四;步骤八:保留大于阈值的标签,并且删除小于阈值的标签;步骤九:选择从属系数综合最大的标签;步骤十:对从属系数标签价值最大的标签做归一化处理;步骤十一:判断节点是否更新完毕,若未完毕则执行步骤五,若完毕则执行步骤十二;步骤十二:判断是否满足迭代终止条件,若不满足则执行步骤五,若满足则执行步骤十三;步骤十三:将拥有相同标签节点划分为同一社区;步骤十四本文档来自技高网...

【技术保护点】
1.基于COPRA的重叠社区划分方法,其特征在于包括以下步骤:/n步骤一:在无向网络结构G(V,E)中输入迭代次数,其中G代表网络,v代表网络中的节点,e代表网络中的边;/n步骤二:计算网络中各节点的节点熵;/n步骤三:将网络中节点按照节点熵排序;/n步骤四:将每个节点进行初始化并设置唯一标签,设定从属系数为1;/n步骤五:选择一个节点,统计该节点的邻居节点标签情况;/n步骤六:计算各个标签的从属系数;/n步骤七:判断是否存在大于阈值的标签,若存在则执行步骤八,若不存在执行步骤十五;/n步骤八:保留大于阈值的标签,并且删除小于阈值的标签;/n步骤九:选择从属系数最大的标签;/n步骤十:对从属系数最大的标签做归一化处理;/n步骤十一:判断节点是否更新完毕,若未完毕则执行步骤五,若完毕则执行步骤十二;/n步骤十二:判断是否满足迭代终止条件,若不满足则执行步骤五,若满足则执行步骤十三;/n步骤十三:将拥有相同标签节点划分为同一社区;/n步骤十四:输出重叠社区结构;/n步骤十五:判断多个标签从属系数标签价值是否相等,若不相等则执行步骤九,若相等则执行步骤十六;/n步骤十六:计算标签归属度相等的各个标签的标签价值;/n步骤十七:选择标签价值最高的前V个标签,然后执行步骤十,其中V代表一个节点能够拥有最多V个标签。/n...

【技术特征摘要】
1.基于COPRA的重叠社区划分方法,其特征在于包括以下步骤:
步骤一:在无向网络结构G(V,E)中输入迭代次数,其中G代表网络,v代表网络中的节点,e代表网络中的边;
步骤二:计算网络中各节点的节点熵;
步骤三:将网络中节点按照节点熵排序;
步骤四:将每个节点进行初始化并设置唯一标签,设定从属系数为1;
步骤五:选择一个节点,统计该节点的邻居节点标签情况;
步骤六:计算各个标签的从属系数;
步骤七:判断是否存在大于阈值的标签,若存在则执行步骤八,若不存在执行步骤十五;
步骤八:保留大于阈值的标签,并且删除小于阈值的标签;
步骤九:选择从属系数最大的标签;
步骤十:对从属系数最大的标签做归一化处理;
步骤十一:判断节点是否更新完毕,若未完毕则执行步骤五,若完毕则执行步骤十二;
步骤十二:判断是否满足迭代终止条件,若不满足则执行步骤五,若满足则执行步骤十三;
步骤十三:将拥有相同标签节点划分为同一社区;
步骤十四:输出重叠社区结构;
步骤十五:判断多个标签从属系数标签价值是否相等,若不相等则执行步骤九,若相等则执行步骤十六;
步骤十六:计算标签归属度相等的各个标签的标签价值;
步骤十七:选择标签价值最高的前V个标签,然后执行步骤十,其中V代表一个节点能够拥有最多V个标签。


2.根据权利要求1所述的基于COPRA的重叠社区划分方法,其特征在于所述邻居节点包括直接邻居节点和间接邻居节点。


3.根据权利要求2所述的基于COPRA的重叠社区划分方法,其特征在于所述间接邻居节点出现的概率P的公式为:



其中,vj表示直接邻居节点,di′表示节点vi的直接邻居节点总度数,di″表示节点vi的间接邻居节点总度数。

【专利技术属性】
技术研发人员:董宇欣韩瑞费腾王红滨孙孟昊耿士卿
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1