专利名称:一种基于多目标优化的Web社区发现方法
技术领域:
本发明涉及一种Web2. O下信息交互平台中的社区挖掘,特别是一种运用多目标优化理论的社区发现方法,属于社会网络技术领域。
背景技术:
以自由开放共享为核心精神的Web 2. O使得广大网民成为互联网的主角,以博客网络、社交网络、wiki网络等为代表的信息网络已经深入到人们的工作、学习等各种活动中。如何从这些复杂的关系网络挖掘出有价值的结构模式已成为互联网的研究热点,Web社区发现研究就是其中热门话题之一。虽然Web社区的严格定义还不存在,但是我们可以松散地将其定义为具有某种共 同特征的相互连接的Web信息载体集合,例如,隶属于某个特定主题的Web页面集合,由具有某种共同兴趣爱好的微博者组成的微群,等等。从网络拓扑结构来看,一个网络社区就是一个网络图的稠密连通子图,在这个子图内的节点之间连接密度高于子图内部节点与外部节点的连接密度。网络社区发现研究正吸引着来自物理学、生物学、社会学与计算机科学等不同领域学者的关注,近年来涌现出大量的方法。网络社区发现本质上就是基于网络链接的聚类学习,该聚类问题是一个与图最优划分等价的NP难问题,非凸最优化问题的一种有效解法是基于生物启发式优化的近似策略。Tasgin等人通过利用GA算法优化社区模块度Q函数来实现网络最优划分的近似.Pizzutiz首先给出用于评判网络划分质量的社区分数(community score)的定义,然后运用GA-Net进行优化网络划分。考虑到社会网络的海量性,Lipczak等人提出一个基于社区足够小且社区数有限假设的ACGA算法将一个社区编码为一个个体,根据社区质量潜在提高量来选择个体进行遗传操作。段晓东等人引入粒子群算法对网络进行迭代二分实现Web社区的发现。黄发良等人提出的CDPSO算法采用基于节点邻居有序表的粒子编码方式,通过PSO全局搜索来挖掘社区。Gog等人提出一种基于个体信息共享机制的协同进化算法对网络社区结构进行寻优。这些算法主要是根据社区发现具体问题对进化算法从编码模,遗传算子与适应度函数等方面进行改造,其中的一个共同点是优化的目标函数只有一个而不是多个。而社区质量评判指标的多样性、耦合关联性与数据依赖性使得现有的基于单一评判指标优化的社区发现算法很难在实际工程问题中得到应用。
发明内容
本发明的目的是为了克服现有技术中的社区发现方法在Web网络挖掘过程中没有对各种相互依赖的社区质量评判指标进行综合考量的缺陷,提供一种基于多目标粒子群优化的网络社区发现方法。为了实现上述目的,本发明提供了一种基于多目标优化的Web社区发现方法,其特征在于应用于Web2. O下的社交网络,包括以下步骤步骤I)、设置发明方法的算法相关参数粒子群规模,粒子位置和速度的范围与维度,粒子群惯性因子,邻域半径及外部存档最大容量,MOPSO算法的最大迭代次数;
步骤2)、对于给定Web信息网络中的所有节点进行编号,通过对每个节点的邻居根据其编号进行排序来构造邻居有序表;
步骤3)、采用基于节点邻居有序表的编码方法初始化粒子群,粒子群中的个体粒子产生方法如下初始化一个长度为网络节点数的向量,该向量中的第i位分量取值为区间[1,NLL]中的一个随机整数,NLL为邻居有序表中的中心节点i对应的邻居列表长度;
步骤4)、通过MOPSO算法实现寻优Pareto最优解集元素所对应的网络社区结构。本发明的有益效果是比起传统的社区发现方法,本发明提出的方法能将各种网络社区质量评判指标进行综合考量,可以发现与网络社区真实结构更相符合的社区结构。 本发明应用于以微博网络、邮件网络、BBS论坛网络等各种社交平台,可以优化信息网络结构、提升信息主动服务质量、增强网络文化安全等。
图I为本发明的基于多目标优化的Web社区发现方法的总流程 图2为本发明方法中的基于节点邻居有序表的粒子编码方法;
图3为本发明方法中的基于核密度估计的leader选择机制;
具体实施例方式 下面结合附图和具体实施方式
对本发明予以说明。为了方便详细阐述本发明,首先统一说明相关基本概念。定义I (Pareto支配关系)对于由社区划分函数—& ^:酽~ 1>发现的蕴含于网络6=(¥,E)中的两种不同社区结构i^P3e P,社区结
构Pareto支配社区结构/ 当且仅当下式成立并记为if :
Cl)
定义2 (Pareto相等关系)类似Pareto支配关系,社区结构与社区结构Pareto相等当且仅当下式成立并记为i|=J|
(2)
定义3 (Pareto不可明辨关系)类似Pareto支配关系,社区结构巧与社区结构P3满足Pareto不可明辨关系当且仅当下式成立并记为
狀 >-F2)Λ-.(P3 > ^)(3)
定义4 (Pareto最优社区结构)若网络社区划分方案集合P中的某一划分方案P*被称为Pareto最优社区结构,当仅当如下条件成立-BR ^ P. R ^ P*(4)
定义5 (Pareto最优社区结构集)所有Pareto最优社区结构组成的集合 二 {P>P }称为Pareto最优社区结构集。定义6 (Pareto前沿)Pareto最优社区结构集的社区所对应的质量评判指标向量组成的集合称为Pareto前沿。定义7(Web社区发现)给定网络,V为Web信息载体(节点)的非空集合,E网络节点之间的连接关系,F为用户指定的目标函数集合,V所对应的k划分的网络社区划分方案巧,其中c』、须满足4个条件
,UCf=F与值可由算法决定或用户给出.Web社区发现的过程就是
寻找使F函数达到最优化的划分夂.
结合上述定义,Web社区结构划分的多目标优化问题可用如下数学模型加以描述
^C/d J)(5)
\{X) = Q{k=XX ,q)
其中X为给定网络的某种社区划分方案,X的具体表示形式由进化算法的个体编码方
式而定,为目标向量,目标函数巧(JTKi = Ilm)为第i种社区质量评判指标,gjiJO与
为约束函数,借此约束函数可以指定算法发现满足某些特定条件的网络社区结构。如图I所示,图I是本发明的基于多目标优化的Web社区发现方法的总流程示意图,该基于多目标优化的Web社区发现方法一共有以下几个步骤
步骤I :设置发明方法的算法相关参数粒子群规模,粒子位置和速度的范围与维度,粒子群惯性因子,邻域半径及外部存档最大容量,MOPSO算法的最大迭代次数;
步骤2 :对于给定Web信息网络,建立网络节点的邻居有序表,其实现方法为首先对网络中所有节点进行编号,然后对每个节点的邻居根据其编号进行排序形成邻居有序表;步骤3 :根据步骤2建立的邻居有序表进行粒子群的初始化,其实现方法为初始化一个长度为网络节点数的向量,该向量中的第i位分量取值为区间[1,NLL]中的一个随机整数,NLL为邻居有序表中中心节点i对应的邻居列表长度;
步骤4:借助多目标粒子群优化算法实现多个目标函数的Pareto最优解的寻优,对Pareto最优解对应粒子进行解码,并将解码结果作为网络社区结构输出。其实现方法如下重复如下操作直到最大迭代次数的停止条件满足计算粒子适应度向量,比较粒子的Pareto支配关系,调用UpdatePS方法更新Pareto最优社区结构集,调用IeaderSelection方法选择粒子飞行的leader,依据粒子更新策略来更新粒子的位置和速度;输出全部Pareto最优解集元素所对应的网络社区结构。邻居有序表创建
下面参考图2的一个具体例子来说明本发明方法中的邻居有序表创建。给定如图2(a)中的网络,网络节点是被抽象化了且被编号的Web信息载体,将网络中的每个节点视为中心节点,将其邻居依据标号升序排列成列表,即可完成邻居有序表的创建,与图2 Ca)中的网络对应的邻居有序表为图2 (d)。粒子编码与粒子初始化
下面参考图2的一个具体例子来说明本发明方法中的粒子编码与粒子初始化。图2(b)为图2 (a)的网络的一种社区划分方案,其编码为粒子图2 (c),Dim表示中心节点的编号,Pos表示粒子。以标号I为的节点为例,该编码可以解释如下在图2 (b)中的社区划分方案,对于标号I为的节点,其编号为2的邻居在其邻居有序表中处于第I个位置,故粒子向量的第一分量值为I。粒子适应度向量
网络社区质量评判指标存在着多样性,本发明方法选择最为常见的三个评判指标作为·
目标函数。第-个评判指标是q值函数( i{腦 ,其中表
^ OSSOCiy9V) { OSSiX^(VsV) }γ
VIwm
示子图m的节点集,关联函数=,它是通过比较子图与其对
应随机图零模型的连接密度来定义的。Q值越大则网络社区质量越高。第二个评判指标是 *assoc(V ,V-V )
MinMaxCui = X其试图在最大化社区内节点相似度的同时最小化社 ■a assocKV^ym)
区间节点相似度,MinMaxCut值越小则网络社区质量越高。第三个评判指标是silhouette指标,从图形显示的角度得出同一簇内的像素点值相似的观点,其可用公式(6)、(7)与
(8)来描述.silhouette指标值越大则网络社区质量越高.
s(vd = 、 (6)
U⑷
S. = ——(7)
J 1匕1
猫= U—i(8)
k
11 111 = OVgwfl0e V1,表示社区K内节点%与社区K中其他节点的平均相似度,*i=majrArf ~^ ~—,,表示社区内节点与其他社区
L I)本 kV1Vi
的最大平均相似度,S(Vi)为节点Vi的 silhouette 值.
根据上述三个优化目标,可以构造粒子适应度向量
F(P) =(P). ( P))=|g( P).(p) X^(F)UpdatePS 方法
现有大多数多目标优化算法是借助外部存档(external archive,简写EA)来实现Pareto最优解的存储与更新,更新Pareto最优解的传统方法是通过对算法当前迭代过程中产生的最优解与EA中的元素进行Pareto关系的比较来实现Pareto最优解的更新,即当EA中的元素数目达到其最大容量MAXP时,直接将新生的非被支配解插入,而当EA已满时,随机决定是否用新生的非被支配解代替EA中的某个随机元素.这种方法不能很好地达成一个优质多目标优化算法的期望使极优解的分布尽可能均匀.本发明文提出一种启发式策略来实现Pareto最优社区结构集更新,给外部存档中粒子赋以年龄属性,
用以标识其从进入EA到当前迭代所经历的代数,同时将EA表示成队列以提高计算效
率。在给定外部存档EA与当前迭代过程产生的网络社区划分方案集合CurBestP的条件下求取更新后EA的UpdatePS基本流程为
步骤I JfCurBestP中的每个网络社区划分方案g与队列中的每个粒子对应的社区结构Pi进行Pareto关系比较,若1^)/}则在执行巧入队与/^.删除操作;
步骤2 :将CurBestP中的每个网络社区划分方案#与队列中的每个粒子对应的社区结构进行Pareto关系比较,若队列Qm未满,则若(^)v((/| :4)八(€与4为不同的社区划分方案》,则/1: 执彳」··#入队操作,若队列fire已满,则若(举扮父((1|=汾八(1|与5为不同的社区划分方案)),则在执行
A入队与巧删除操作。IeaderSelection 方法
IeaderSelection方法是一种基于核密度估计的leader选择机制(图3).简要说明如下令I objectives I =2, NonSet | =10,即优化目标数为2,算法当前迭代过程中共有10种相互之间不满足Pareto支配关系的网络社区划分方案,分布在由目标I与目标2构成的平面上.对于NonSet中的每一个点X,都存在一个以该点为中心的r邻域Neighbor (x, r),计算该中心点到在其邻域内其他点的距离dist的平均值,选择具有最大平均值的中心点作为leaders,若存在多个这样的leader则从中选取具有最多r邻居者为leaders,若此leaders含有多个leader,则从中随机选取一个.在给定满足非支配关系的网络社区划分方案集合Nonset与邻域半径r,求解leader的IeaderSelection方法的基本流程为
步骤 I=—一^^ ;
步骤 2:若> I 则& ;
ΓIAdHSBRCS
步骤 3 :若 \ > I 则 t&otdsrK — ramkmS^ct^teis^rs^ ;步骤 4 return leaders粒子更新策略
粒子通过在网络社区划分方案空间中飞行时的自学习与协作学习实现寻优,而这种学习机制主要体现在粒子速度与粒子位置的更新。本发明文中的粒子速度与位置分别表示 粒子速度依据公式(9)更新。
权利要求
1.一种基于多目标优化的Web社区发现方法,其特征在于应用于Web2. O下的社交网络,包括以下步骤 步骤I)、设置发明方法的算法相关参数粒子群规模,粒子位置和速度的范围与维度,粒子群惯性因子,邻域半径及外部存档最大容量,MOPSO算法的最大迭代次数; 步骤2)、对于给定Web信息网络中的所有节点进行编号,通过对每个节点的邻居根据其编号进行排序来构造邻居有序表; 步骤3)、采用基于节点邻居有序表的编码方法初始化粒子群,粒子群中的个体粒子产生方法如下初始化一个长度为网络节点数的向量,该向量中的第i位分量取值为区间[1,NLL]中的一个随机整数,NLL为邻居有序表中的中心节点i对应的邻居列表长度; 步骤4)、通过MOPSO算法实现寻优Pareto最优解集元素所对应的网络社区结构。
2.根据权利要求I所述的基于多目标优化的Web社区发现方法,其特征在于,所述的步骤4)包括 步骤 4-1)、 计算 粒子 适应 度向 量 ,
3.根据权利要求2所述的基于多目标优化的Web社区发现方法,其特征在于,所述的步骤4-3)包括 步骤4-3-1)、将当前迭代过程产生的网络社区划分方案集合CurBestP中的每个网络社区划分方案6与存储Pareto历史最优解的队列中的每个粒子对应的社区结构进行Pareto关系比较,若社区结构# Pareto支配社区结构则在执行#入队与A删除操作; 步骤4-3-2)、将当前迭代过程产生的网络社区划分方案集合CurBestP中的每个网络社区划分方案#与队列jfts中的每个粒子对应的社区结构Pi进行Pareto关系比较,若队列fib未满,则若社区结构6与社区结构」 }满足Pareto不可明辨关系或者二者是满足Pareto相等关系的两个不同社区划分方案,则在执行g入队操作,若队列已满,则若社区结构与社区结构」Pj满足ParetO不可明辨关系或者二者是满足Pareto相等关系的两个不同社区划分方案,则在Gj5执行6入队与&删除操作。
4.根据权利要求2所述的基于多目标优化的Web社区发现方法,其特征在于,所述的步骤4-4)包括 步骤4-4-1)、在不满足Pareto支配关系的网络社区划分方案对应的粒子集合中,对每一粒子X构造一个以该粒子为中心的r邻域Neighbor (x, r),计算粒子x到其邻域内其他点的距离dist的平均值,选择具有最大平均值的中心点作为leaders ; 步骤4-4-2)、若存在多个所述的leader则从中选取具有最多r邻居者为leaders ; 步骤4-4-3)、若此leaders含有多个leader,则从中随机选取一个。
5.根据权利要求2所述的基于多目标优化的Web社区发现方法,其特征在于,所述的步骤4-5)包括步骤 4-5-1)、根据 V,(t * I) = WVi(I) *+ x WlQxd Xfy、、更新粒子i的速度,其中票=( ^ )与R =( * ,' )分别是粒子i的位置与速度, 为进化代数#为惯性系数,%与4为学习因子,为均匀分布在
之间的随机数,R>Βι)是粒子i的历史最优位置,Pkuir = (Pa^ 是粒子i当前所处邻域中的最优粒子位置,决I/k的身份是全连接的粒子邻域拓扑结构;
全文摘要
本发明提出一种基于多目标优化的Web社区发现方法,应用于Web2.0下的社交网络,可以提升信息主动服务质量、增强网络文化安全等;其包括设置粒子群规模、粒子位置和速度的范围与维度、粒子群惯性因子、邻域半径及外部存档最大容量等相关参数;建立Web信息网络各节点的邻居节点编号表;采用基于节点邻居有序表的编码方法初始化粒子群;重复如下操作直到停止条件满足计算粒子适应度向量,比较粒子的Pareto支配关系,更新Pareto最优社区结构集,选择粒子飞行的leader,更新粒子的位置和速度;输出全部Pareto最优解集元素所对应的网络社区结构。与基于单目标优化策略的经典算法相比较,本发明提出的方法能发现更有效的Pareto最优网络社区结构。
文档编号G06F17/30GK102902772SQ201210365300
公开日2013年1月30日 申请日期2012年9月27日 优先权日2012年9月27日
发明者黄发良 申请人:福建师范大学