一种基于apr算法和map算法的社区发现算法

文档序号:10656153阅读:1166来源:国知局
一种基于apr算法和map算法的社区发现算法
【专利摘要】本发明公开了一种基于APR算法和MAP算法的社区发现算法。该算法包含相似性计算和聚类两个阶段:相似性计算阶段采用本发明提供的基于APR(Approximate PageRank)算法的相似性算法对网络中节点之间的相似性进行计算;聚类阶段采用本发明提供的MAP(Modified Affinity Propagation)算法进行聚类并完成网络中社区的发现,并采用相似性计算阶段的输出作为聚类阶段的输入。提供了一种高效率的基于APR算法的相似性算法。提供了一种改进AP(Affinity Propagation)算法——即MAP算法,该算法缩小了对责任度(Responsibility)和可信度(Availability)的更新范围。与现有技术相比,本发明提供的社区发现算法具有计算效率高、综合网络拓扑结构、可适用于节点之间相似性非対称等优点。
【专利说明】
-种基于APR算法和MAP算法的社区发现算法
技术领域
[0001] 本发明是关于无尺度网络的社区发现问题,属于数据挖掘中的聚类领域,尤其属 于社会计算中的聚类领域。
【背景技术】
[0002] 在无尺度网络(W下简称"网络")中的社区发现就是识别一个节点的集合,使得集 合内节点之间的相互作用比它们与集合外节点的相互作用更强。社区发现作为网络分析中 最基本的任务,有助于其它社会计算的实现,比如对社会网络中的用户进行划分并进行针 对性的产品推荐、压缩网络等。
[0003] 社区发现可W转化为聚类问题,即基于聚类的社区发现。其中,需要进行节点间的 相似性计算,而该相似性算法对社区发现的结果有较大的影响。对于大规模网络的基于聚 类的社区发现问题应当考虑如下因素:相似性计算的效率、网络的拓扑结构W及相似性非 対称。然而,现有的相似性算法要么不能适用于相似性非対称的情况;要么不能对相似性计 算的效率、网络的拓扑结构运两个因素进行很好的权衡,例如在充分考虑了网络的拓扑结 构时,相似性计算的时间效率往往比较低下。
[0004] APR(ApprC)Ximate PageRank)算法是一种基于随机游走模型的个性化排名的算 法。APR算法通过设置阔值动态地限制了随机游走的范围,并在此范围内对设及到的节点进 行局部的个性化排名,具有较高的计算效率。另外,AH?算法基于随机游走模型,使得节点之 间的排名综合了网络的拓扑结构。同时,APR算法节点之间的排名具有非对称性。由于APR算 法具有上述的一些优点,因此可W基于AH?算法来建立一种基于聚类的社区发现中的相似 性算法。但是,目前尚没有基于APR算法建立的相似性算法。
[0005] 在聚类算法方面,AP(Affinity Propagation)算法是一种基于消息传播的聚类算 法,具有完善的理论基础,并已得到了广泛的应用。然而,AP算法主要的一个缺点就是依赖 于算法初始输入的节点之间的相似性集合S,即S对AP算法的运算复杂度、算法收敛速度等 有重要的影响。因此,本发明首先基于AI^算法建立一种相似性算法,进行相似性计算,然后 把计算得到的相似性集合S作为其后的改进AP算法(即MP算法)的初始输入。

【发明内容】

[0006] 针对现有技术存在的问题,本发明的主要目的在于提供一种计算效率高、综合网 络拓扑结构、可适用于节点之间相似性非対称的社区发现算法。
[0007] 为实现上述目的,本发明提供了一种基于AH?算法和MAP算法的社区发现算法。如 图1所示,该社区发现算法包含两个阶段:第一阶段:相似性计算阶段;第二阶段:聚类阶段。 该社区发现算法的特征在于包含W下内容:
[000引1. 一种基于APR算法的节点之间的相似性算法
[0009]在本发明的第一阶段中,提供了一种高效率的相似性算法对网络中节点之间的相 似性进行计算,即图1中的"相似性计算阶段"。其中基于APR算法的个性化排名是在选定了 某个候选节点时,通过迭代更新排名向量P和剩余向量r直至收敛来对节点进行个性化排 名,更新P和r的方法见公式(6)、(7)和(8)。当所有节点都当选成为了候选节点后,把所有候 选节点所属的排名向量P转化为相似性集合S,即为本发明中相似性算法的输出。该算法在 综合了网络拓扑结构的前提下有效的提高了节点之间相似性的计算效率,且相似性具有非 对称。
[0010] 2.MAP算法,用于基于聚类的社区发现
[0011] 在本发明的第二阶段中,提供了一种改进AP算法(即MAP算法)来进行聚类并最终 完成社区发现任务,即图1中的"聚类阶段"。该算法采用第一阶段的输出(相似性集合S)作 为初始输入,通过相似性s(v,u)来更新节点之间的责任度r(v,u)和可信度a(v,u),最后利 用r(v,u)和可信度a(v,u)来选取网络中的聚类中屯、并对网络中的节点进行划分。其中,选 取聚类中屯、的方法见公式(13),对节点进行划分的方法见公式(14)。由于结合第一阶段相 似性算法的输出,MAP算法比AP算法的运算效率相比有所提升,并且能够快速收敛。
[0012] 3.MAP算法中责任度和可信度的更新方法分别由公式(11)和(12)给出
【附图说明】
[0013] 图1是本发明的流程图
[0014] 图2是图1中步骤Sl的流程图
[0015] 图3是图1中步骤S2的流程图
[0016] 图4是图1中步骤S3的流程图
【具体实施方式】
[0017] 下面结合附图,对本发明的【具体实施方式】做详细的说明。
[001引社区发现问题描述:
[0019 ]给定网络G (V,E ),V表示网络中所有节点的集合,节点的数量为n,E表示节点之间 存在的边的集合。网络中节点U的邻接点个数用d(u)表示。社区发现就是将G中的所有节点V 划分为若干子集,每个子集代表一个社区结构,使得每个社区结构内节点之间的相互作用 比它们与社区结构之外的相互作用更强。与传统的社区发现不同,基于聚类的社区发现把 社区发现问题转化为了聚类问题。
[0020] 本发明中节点之间相似性计算的算法基于AH?算法,APR算法设及两个向量:剩余 向量(Residual Vector,r)和排名向量(PageRank Vector,P)。其中,排名向量P用于描述网 络中节点之间的相似性。算法输出相似性集合S。
[0021] 本发明提出的MAP聚类算法首先用相似性集合S构建的有向加权网络X(V,H)作为 其输入,其中H为一个5元组,其格式如(1)式所示:
[0022] H={(v,u,s(v,u) ,a(v,u) ,r(v,u))}u,vGV (I)
[0023] 其中,;r(v,u)表示责任度(Respons;Lbility),表示节点U适合作为节点V的聚类中 屯、的程度;用a(V,u)表示可信度(Availability),表示节点V选择节点U作为其聚类中屯、的 程度。
[0024] 如图1所示,本发明所提供的基于APR算法和MAP算法的社区发现算法包含两个阶 段。
[0025] I.第一阶段:相似性计算阶段
[0026] 该步骤的流程图见图1中的"相似性计算阶段"。
[0027] 1.1.选择候选节点
[0028] 相似性计算需要尽可能的描述网络中所有节点之间的相似性,APR算法只能够对 某个选定的候选节点进行个性化排名。因此,在采用AH?算法进行相似性计算的过程中,需 要把网络中所有的节点依次作为候选节点进行个性化排名计算,将个性化排名作为相似性 得到整个网络节点之间的相似性集合S。
[0029] 本发明中对候选结点的选择在保证不重复选取的情况下任意选择,直到网络中不 存在未被选取的节点为止。
[0030] 1.2.基于APR算法的个性化排名
[0031] 该步骤对应图1中的Sl。
[0032] 该步骤又可分为2个步骤:初始化排名向量和剩余向量、更新排名向量和剩余向 量。具体流程图见图2。
[0033] 1.2.1.初始化排名向量和剩余向量
[0034] 该步骤对应图2中的步骤SI. 1。
[0035] 在选定了候选顶点U时,更新排名向量和剩余向量之前需要对其进行初始化,令
,其中Xu的定义如式(2)所示:
[0036]
(2)
[0037] 即当剩余向量r中对应的元素X等于候选顶点时,T(X) = I,其余元素的值为0。
[0038] 1.2.2.更新排名向量和剩余向量
[0039] 该步骤对应图2中的步骤SI. 2。
[0040] 排名向量和剩余向量针对的是某个选定的候选结点UdAI^算法是基于随机游走模 型,假设在网络中进行随机转移的对象叫做wa化er,则APR算法对排名向量和剩余向量中元 素的更新依赖于wa化er当前所处在的节点,wa化er初始位于节点U。若wal ker当前位于的节 点为i,则排名向量和剩余向量中对应的元素更新算法如(3)、(4)和(5)式所示:
[0041] (3)
[0042] ]}
[0043] P'(i)=p(i)+ar(i) (5)
[0044] 其中,(1,如££^/(1)和1/(1)分别为更新完成后的第1个元素的值。
[0045] 判断排名向量和剩余向量的值是否收敛的规则如(6)式所示。即剩余向量r中所有 的元素都满足(6)式时,表示算法收敛并停止更新排名向量和剩余向量,否则wa化erW均匀 概率随机转移到不满足此条件的某个节点上继续进行排名向量和剩余向量的更新操作。
[0046]

[0047] 其中,£称为阔值,取值范围为(0,1)。
[0048] 1.3.相似性转换及其规范化
[0049] 该步骤对应图I的S2。
[0050] 该步骤又可分为2个步骤:相似性转换、更新自相似性。其具体流程图见图3。
[0051] 1.3.1.相似性转换
[0化2] 该步骤对应图2中的S2.1。
[0053] 网络中针对所有候选节点的排名向量和剩余向量都更新完成后,本发明中需要将 排名向量的值转换为节点之间的相似性。候选节点U于其余节点的相似性集合的格式定义 为(7)式所示:
[0054] S(u) = {s(v,u)}vGV (7)
[0055] 其中,s(v,u)=p(v)且s(v,u)的取值范围为[0,1]。通过W上定义,则整个网络的 相似性集合S格式为(8)式所示:
[0056] S={S(u)}uGV (8)
[0057] 最后,在不改变相似性集合S中元素值的分布的情况下,把集合中所有的元素取 负,使得所有的(v,u)的取值范围为[-1,0],取负值操作如(9)式所示:
[005引 S'(v,u) =s(v,u)-lu,vGV (9)
[0059] 1.3.2.更新自相似性
[0060] 该步骤对应图3中的S2.2。
[0061] 在本发明提供的社区发现算法的过程中,不需要事先确定聚类中屯、的个数。算法 将网络中所有的节点初始化为潜在的聚类中屯、,计算相似性集合S中的中位数Smedian,并赋 值给相似性集合S中的S (U,U),即:
[0062] S (U,U) =Smedian UGV (10)
[0063] 2.第二阶段:聚类阶段
[0064] 该步骤的流程图见图1中的"聚类阶段"。
[0065] 2.1. MAP 算法聚类
[0066] 该步骤对应图1中的S3。
[0067] 该步骤又可分为两个步骤:更新责任度r(v,u)和更新可信度a(v,u)。其具体流程 图见图4。
[006引 2.1.1.更新责任度;r(v,u)
[0069] 该步骤对应图4中的S3.1。
[0070] 责任度的更新计算公式如(11)所示:
[0071]
(巧
[0072] 其中,表示V为非候选节点时与其具有相似性的节点集合。
[0073] 2.1.2.更新可信度3(乂,11)
[0074] 该步骤对应图4中的S3.2。
[0075] 可信度的更新计算公式如(12)所示:
[0076]
(12)
[0077]其中,《:表示U为候选节点时与其具有相似性的节点集合。
[007引2.2.划分数据节点
[0079] 责任度和可信度更新完成后,首先利用公式(13)中的规则来找出网络中所有的聚 类中屯、集合M,然后利用公式(14)所述的规则针对聚类中屯、进行数据节点的划分。即:找出 与节点V责任度和可信度之和最大的节点U,并将节点V划分到节点U所属的社区。
[0080] a(u,u)+r(u,u) >0 (13)
[0081 ] max{a(v,u)+r(v,u) }uEE,uEXv (14) 〇
【主权项】
1. 一种基于APR算法和MAP算法相结合的社区发现算法,其特征在于:算法包含两个阶 段(如图1所示):第一阶段:相似性计算阶段,采用本发明提供的一种基于APR算法的节点之 间的相似性算法来计算相似性;第二阶段:聚类阶段,采用上一阶段的输出作为初始输入, 并采用一种本发明提供的MAP算法来进行聚类。2. -种权利要求1中的相似性算法,其特征在于:基于APR算法来对节点进行个性化排 名,并将排名作为节点之间的相似性,如图1中"相似性计算阶段"所示。3. -种权利要求1中的MAP聚类算法,其特征在于:通过相似性来迭代更新节点之间的 责任度和可信度,并利用更新完成后的责任度和可信度来确定网络的社区结构,如图1中 "聚类阶段"所示,其中的责任度和可信度分别由公式(11)和(12)来计算。
【文档编号】G06K9/62GK106022371SQ201610330024
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】杨波, 吕晨阳
【申请人】电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1