一种基于随机游走的社会网络社区划分方法技术

技术编号:15704837 阅读:205 留言:0更新日期:2017-06-26 09:57
本发明专利技术涉及一种基于随机游走的社会网络社区划分方法,涉及社会网络领域。发明专利技术解决了传统标签算法在标签更新过程中随机性过大的问题。首先,引入随机游走思想,计算得到一种衡量网络节点间相似度的矩阵;其次,标签传播过程中,当邻居节点中标签出现频率存在多个最高时,不是随机选择,而是选择相似度最高的邻居节点所拥有的标签更新,避免了标签在社区之间任意传播;最后,用真实网络和人工基准网络测试,结果表明在社区发现中该算法比原始算法取得更好的表现。根据本发明专利技术实施例的社会网络群体划分方法,根据个体关系相似度属性,通过改进标签传播算法,对用户群体进行划分,划分结果对网络舆情监测、商业用户挖掘等都具有较好的应用价值。

【技术实现步骤摘要】
一种基于随机游走的社会网络社区划分方法
本专利技术涉及社会网络领域,是一种基于随机游走的社会网络社区划分方法。
技术介绍
根据网络节点的连接关系可以将其划分为若干社区,社区内部节点连接相对紧密,社区间连接则较为稀疏。社区发现对于网络舆情监测、安全预警、电子商务等有非常重要的应用价值。如聊天软件推荐的好友都归属同一社区,购物网站向不同社区的用户推荐不同风格的商品,公安系统监测邪教社区“游行”等词语频率升高时立即采取行动。对社区发现的研究,可以获取大量可靠有价值的信息。社区发现的研究近年来取得了相当大的进展,很多学者提出了新理论和新方法。这些方法主要可以分为四类:图分割方法、W-H算法、层次聚类法以及标签传播算法。图分割方法通常应用于计算机领域,它基于迭代对分技术:每次划分都将网络分为最优的两个子图,子图再继续迭代对分,直至数量达到要求。图分割法大体可以分为两类:基于拉普拉斯矩阵的谱平分法和Kerninghan-Lin算法。其缺点是每次只能将网络对分,为了获取结果需要不断迭代。为解决这一问题,Wu和Huberman提出了W-H算法:选取不同社区的两个节点,分别设为电压为1的初始点和电压为0的终结点,将每条边阻值设为1,其他节点会得到不同的电压值。将电压值相似的节点划分到同一社区。W-H算法缺点是在划分前必须知道社区结构的部分先验信息,以保证初始点和终结点不在同一社区。层次聚类法是根据节点间的连接关系和相似程度来划分社区,该方法又可以分为凝聚法和分裂法。代表算法分别为G-N算法和Newman快速算法,但由于社区中存在很多相似度极低的点,层次聚类法往往忽略这些节点,最终结果难以令人满意。标签传播算法(LabelPropagationAlgorithm,LPA)与前几类方法相比,不需要知道网络结构或者先验社区结构,仅依赖于网络的传播特性,具有线形的时间复杂度,社区划分效率很高。引起了国内外学者的广泛关注。其时间复杂度接近于线性O(m)(m为边的数目),对于较大规模的社区(106-109个节点)检测,经过5次迭代后开始收敛。另外,标签传播算法既不需要优化预定义的目标函数,也不需要关于社区的数量和规模等先验信息,对社区的大小也没有限制,因此标签传播算法已经成为当前应用较为广泛的社区发现算法之一,被大量应用在了多媒体信息分类、虚拟社区挖掘等领域中。标签传播算法准确高效,但传播过程中,当节点邻居中标签出现频率存在多个最高时,会平等的对待每一个节点,随机选取一个最高标签,这种随机性导致标签在不同社区之间的传播,社区划分结果不稳定,随机性较强,鲁棒性有待提高。综上所述,现有的社区发现方法在准确度和时间复杂度上都存在很大的提升空间。
技术实现思路
本专利技术的目的在于提供一种基于随机游走的社会网络社区划分方法,该方法有利于提高网络社区划分的精确度和稳定性能。为实现上述目的,本专利技术的技术方案是:一种基于随机游走的社会网络社区划分方法,包括以下步骤:步骤A:读取社会网络数据,构造以网络个体为节点、个体之间相互关系为边的社交网络图;步骤B:随机游走算法改进,根据改进后的叠加算法计算节点相似度矩阵;步骤C:初始化社区:打乱节点顺序,为每一个用户节点分配一个标签值,标签值标识节点所属社区;步骤D:标签更新,计算节点x的邻接节点中各标签出现频率,将x的标签更新为:出现频率最高的标签,若标签频率存在多个最高,则比较邻接节点的相似度矩阵中该节点所在行的相似值,选取相似度最大的节点所拥有的标签进行更新,若存在多个最大相似值,则随机选取一个;步骤E:判断是否满足停止条件:达到规定的迭代次数或者若干次迭代后标签值达到稳定。否则,返回步骤2继续更新标签;步骤F:将所有具有相同标签的节点归为一个社区;进一步,在上述步骤B中,对随机游走算法改进如下:传统随机游走算法中,只存在1个随机行走者walker,由于随机游走的马尔科夫性质,最终获得的相似度会存在很大的不确定性,为消除误差,改进算法在给定的时间段t内以Δt=1接连不断的释放t个walker。进一步,在上述步骤B中,对随机游走相似度的计算提出了新的计算公式:将社交网络图抽象为一个简单的无向图,G(N,E),其中,N表示节点的集合,E表示边的集合;用Pxy表示walker从节点x出发,游走一步到达y的概率:kx是节点x的度,axy是邻接矩阵中对应值;用πxy(t)表示walker从节点x出发游走t步之内到达y的概率;πxy(t)可以通过一步转移矩阵递推得到,πx(t)是π(t)矩阵第x列的列矩阵;πxy(t)是πx(t)矩阵第y行的值。πx(0)是一个n*1维的矢量,第x个值为1,πx(t)=PTπx(t-1)PT是矩阵P的转置;用表示节点x和y之间的随机游走相似度。计算公式如下:其中|E|是网络中节点间的连接总数;对于一个固定的网络来说,其总边数|E|是固定的,因此在计算过程中,2|E|可以被忽略。为此在步骤B相似度求解过程中提出了省略的OLRW相似度:以上相似度的计算都是基于单个walker进行的,对于改进后稳定性较高的叠加随机游走算法,叠加后的OSRW相似度计算公式如下:进一步,在上述步骤C中,为保证标签在初始状态分配时各节点的平等性和更新过程中的随机性,首先打乱节点顺序,而后为每一个用户节点分配一个标签值,即Cn=Ln,Cn表示节点n所属社区,Ln表示节点n的标签值。进一步,在上述步骤D中,节点标签值更新具体过程为:对图中所有顶点迭代更新,将节点的标签值更新为其邻接节点的标签中数量最多的标签值;若标签出现频率存在多个最高,选取相似度最大的节点所拥有的标签进行更新,若存在多个最大相似值,则随机选取一个。进一步,上述步骤E中,迭代终止条件为达到规定的迭代次数或者网络各节点标签不再发生变化。附图说明图1为本专利技术方法的实现流程图。图2为不同步数t对社区划分准确度的影响。采用本专利技术方法(用RWLPA表示)在节点数为500,混合参数μ=0.6的条件下,对t取不同值时,社区划分的准确度进行验证。μ表示不同社区之间的节点中有连边的部分)的取值变化对比图。图3为不同步数t对社区划分准确度的影响。采用本专利技术方法(用RWLPA表示)在节点数为500,混合参数μ=0.65的条件下,对t取不同值时,社区划分的准确度进行验证。μ表示不同社区之间的节点中有连边的部分)的取值变化对比图。图4为采用原始标签传播算法(由LPA表示)对Zachary′skarateclub数据集划分结果示意图。图5为采用本专利技术方法(由RWLPA表示)对Zachary′skarateclub数据集划分结果示意图。图6为采用本专利技术方法(由RWLPA表示)和标签传播算法(由LPA表示)在250个节点的基准网络中,在网络中节点的平均度数<k>=15、度数的最大值maxk=50条件下,两种算法运行100次的平均NMI值随混合参数μ(μ∈[0,0.90])的取值变化对比图。图7为采用本专利技术方法(由RWLPA表示)和标签传播算法(由LPA表示)在500个节点的基准网络中,在网络中节点的平均度数<k>=15、度数的最大值maxk=50条件下,两种算法运行100次的平均NMI值随混合参数μ(μ∈[0,0.90])的取值变化对比图。图8为采本文档来自技高网
...
一种基于随机游走的社会网络社区划分方法

【技术保护点】
一种基于随机游走的社会网络社区划分方法,其特征在于,所述方法包括以下步骤:步骤A:读取社会网络数据,构造以网络个体为节点、个体之间相互关系为边的社会网络图;步骤B:随机游走算法改进,根据改进后的叠加算法计算节点相似度矩阵;步骤C:初始化社区:打乱节点顺序,为每一个用户节点分配一个标签值,标签值标识节点所属社区;步骤D:标签更新,计算节点x的邻接节点中各标签出现频率,将x的标签更新为:出现频率最高的标签,若标签频率存在多个最高,则比较邻接节点的相似度矩阵中该节点所在行的相似值,选取相似度最大的节点所拥有的标签进行更新,若存在多个最大相似值,则随机选取一个;步骤E:判断是否满足停止条件:达到规定的迭代次数或者若干次迭代后标签值达到稳定;否则,返回步骤2继续更新标签;步骤F:将所有具有相同标签的节点归为一个社区。

【技术特征摘要】
1.一种基于随机游走的社会网络社区划分方法,其特征在于,所述方法包括以下步骤:步骤A:读取社会网络数据,构造以网络个体为节点、个体之间相互关系为边的社会网络图;步骤B:随机游走算法改进,根据改进后的叠加算法计算节点相似度矩阵;步骤C:初始化社区:打乱节点顺序,为每一个用户节点分配一个标签值,标签值标识节点所属社区;步骤D:标签更新,计算节点x的邻接节点中各标签出现频率,将x的标签更新为:出现频率最高的标签,若标签频率存在多个最高,则比较邻接节点的相似度矩阵中该节点所在行的相似值,选取相似度最大的节点所拥有的标签进行更新,若存在多个最大相似值,则随机选取一个;步骤E:判断是否满足停止条件:达到规定的迭代次数或者若干次迭代后标签值达到稳定;否则,返回步骤2继续更新标签;步骤F:将所有具有相同标签的节点归为一个社区。2.根据权利要求1所述的一种基于随机游走的社会网络社区划分方法,其特征在于:在上述步骤B中,原始随机游走算法中只存在一个游走的walker,结果不稳定。为消除随机游走过程中的随机性造成的误差,在给定的时间段t内以Δt=1接连不断的释放walker,直至第一个被释放的walker步数为t,根据改进的算法求得两节点间相似度。3.根据权利要求1所述的一种基于随机游走的社会网络社区划分方法,其特征在于:在上述步骤B中,对随机游走相似度的计算提出了新的衡量标准;相似度矩阵第x行第y列的值axy表示节点x和节点y的相似程度,其值越大,代表这两个节点所代表的个体在同一个社区的可能性越大,对于步骤A中构造的社交网络图,抽象成一个简单的无向图G(N,E),其中,N表示节点的集合,E表示边的集合;节点之间相似度的具体求解过程如下:用Pxy表示wal...

【专利技术属性】
技术研发人员:张贤坤宋琛牛渊博高新雅任静熬阳月
申请(专利权)人:天津科技大学
类型:发明
国别省市:天津,12

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

1