一种基于多选择器组合的影响最大化结构的制作方法

文档序号:12467145阅读:180来源:国知局
一种基于多选择器组合的影响最大化结构的制作方法与工艺

本发明属于计算机数据挖掘领域,具体涉及一种利用多选择器组合有效求解影响最大化问题的方法,尤其涉及如何准确求解影响最大化问题。



背景技术:

近年来,随着移动互联网的快速发展和社交媒体的兴起,社会关系网络的研究受到了越来越多学者的重视。针对社会关系网络,其中一个很重要的研究点是影响最大化(Influence Maximization),它是近几年社会关系网络研究的一个热点。

Kempe等最先给出影响最大化问题的形式化定义:给定网络G(V,E)(其中V代表图中的节点集合,E代表图中边的集合),如何在节点集合V中寻找k个种子节点组成的集合S,使得在某种传播模型下,从这k个种子节点开始传播,最终的影响范围最广,即使得V中影响的节点数目σ(S)最大,即S*=argS maxσ(S)。影响最大化的研究,无论在网络营销、舆论控制等方面都具有很强的现实应用背景。

在经典的LT(Linear Threshold)和IC(Independent Cascade)传播模型下,Kempe等不仅证明了影响最大化问题是NP难题,并且证明了影响最大化问题的目标函数σ(S)是次模(Submodularity)函数。次模函数被定义为:对于集合函数f:2V→R,若 满足:

f(S∪{v})-f(S)≥f(T∪{v})-f(T)

则称函数f为次模函数。结合次模函数的性质,Kempe等提出了一个爬山式贪心(Greedy)算法来解决此问题。该算法从一个空集合Φ开始构造S,每次从V中迭代地选择一个能带来最大目标函数增益的节点v加入到S中,直到满足条件:|S|=k。贪心算法在理论上至少保证可达到最优目标的(1-1/e-ε)。其中,e是自然对数的底,ε是任意小的正实数。不难看出,贪心算法至少达到对应最优目标的63%。在大量真实数据集上的实验结果表明,贪心算法的效果已经很接近最优解。然而,贪心算法也存在着一个明显的缺陷,由于算法需要运行上万次的蒙特卡洛仿真来计算给定S时的目标函数值σ(S),从而极大地限制了该算法在大型网络上的应用。因此后续的相关研究主要围绕如何在保证算法解的质量的前提下,提高算法效率。

(1)基于次模特性的算法

Leskovec等充分利用了次模函数的性质对Greedy算法效率进行优化,并提出了CELF(Cost-Effective Lazy Forward)算法。具体地,在每一轮评估节点带来的目标函数增益时,CELF算法会将该节点对应的增益值保存起来。到下一轮迭代时,若某个节点带来的目标函数增益超过了其他节点上一轮的增益,则由Submodularity的性质可知,该节点的增益必然大于其他节点当前轮的增益。这样就不必重新评估其他节点当前轮的增益,从而极大节省了计算开销。实验结果显示,在某些数据集上CELF算法的运行效率可以达到传统Greedy算法的700倍。此外CELF算法能得到跟Greedy算法相同的解。

根据类似思路,Goyal等进一步给出了CELF算法的改进版本,CELF++算法。该算法的基本思想是,在计算节点u为当前种子节点集合S带来的目标函数增益时,同时计算u为种子集合S∪{v}带来的目标函数增益,其中v为本轮迭代中到目前为止能带来最大增益的候选节点。由于这两个增益能够在同一次蒙特卡洛仿真中计算,因而算法效率得到提高。与CELF算法相比,CELF++算法速度提高了约30%~50%。

虽然基于Sumodularity的改进算法与原来的Greedy算法相比,效率已有了很大提高。然而,这类算法仍需要多次对整个网络运行蒙特卡洛仿真来计算目标函数值,限制了这些算法在大规模网络上的应用。

(2)基于节点中心性度量指标的算法

为选取k个种子节点,一种朴素的思想是直接根据节点的某些中心性度量指标(如节点度、中心性等),选择指标最高的k个节点。然而,以节点度为例,实验结果表明,选择度值最大的k个节点,得到的结果往往不准确。为提高准确性,人们研究并提出了一些新的度量指标。

Chen等基于节点度提出了一个新的SD(Single Discount)算法。与传统的Degree算法选择度值最大的k个节点不同,该算法考虑了已有的种子节点对当前节点的影响。具体来说,先按度值对节点排序,每次选择度值最大的节点作为新的种子节点。每当择一个新的种子节点v之后,对节点v的每个邻居,令其度值减1。与Degree算法相比,SD算法在准确性上有所提高。然而,由于该算法仅利用了网络的局部拓扑结构,没有考虑具体的传播模型,因此该算法对准确性的提高并不大。

Wang等提出了一个基于节点潜力的TW(Target Wise)算法,算法将每个候选节点u的潜力(potential)定义为:其中N(u)表示u的邻居节点集合,A(u)表示u的活跃邻居节点集合,buv表示u对v的影响概率。算法将种子的选取过程分为两步,并通过一个参数c来控制。第一步根据潜力指标p(u)选择k1=(1-c)k个种子节点,第二步则采用传 统的Greedy算法选择剩下的k2=c·k个种子节点。显然,当参数c=1时,算法退化为传统的Greedy算法。该算法的效率虽高于Greedy算法,但由于参数c的选取只能凭经验,且算法中包含Greedy部分,因此未能实质性改进算法效率。

(3)基于传播路径的算法

另一种研究思路是假定传播只能沿着某些特定的方向进行,从而有了基于传播路径的算法,下面介绍几个比较有代表性的算法。

Kimura等基于最短路径提出了SP1M(Shortest Path 1Model)算法。该算法假定传播只能沿最短路径及次短路径(长度为最短路径+1)进行。在此假设下,目标函数可通过一个递归公式来计算,从而避免了大量蒙特卡洛仿真带来的计算开销,提高了算法效率。显然,这是一种对目标函数作近似处理的策略。

Chen等在提出MIA(Maximum Influence Arborescence)算法中定义了基于概率的最短传播路径,一条路径的传播概率被定义为沿这条路径所有边的传播概率的乘积。因此,从节点u到v的最短传播路径就是概率最大的那条路径。节点u的局部影响区域被定义为:从u出发概率大于θ的路径所经过的所有点的集合。基于这种局部的树状结构,可有效近似目标函数。另外,Chen等还证明,在IC模型下,求解目标函数的精确解是一个#P难题。

Kim等同样基于传播路径的概率对目标函数进行近似。与Chen以及Kimura等只考虑最短路径不同,Kim等的模型同时考虑节点u到v的多条传播路径,只要每一条路径对应的概率大于指定的阈值θ即可,同时还假设这些路径相互独立。基于这种假设,可对目标函数进行有效计算。此外该算法还支持并行化处理。

基于传播路径的算法与Greedy算法及其改进算法相比,效率上虽已有了很大提高。但这类算法仍存在一些缺点,如无法提供关于最优解的理论保障。因而在某些数据集上,其准确性会明显低于Greedy算法。另外,由于需要存储大量的路径信息,因此这类算法往往内存开销很大。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于多选择器组合的影响最大化结构。

本发明的目的是通过以下技术方案来实现的,一种基于多选择器组合的影响最大化结构,其特征在于:包括多选择器层、多组合器层以及评价器层,

多选择器层包括多个选择器,每个选择器表示任意一个已知的影响最大化算法;选择器根据自身策略增量地选择几个新的节点作为候选的种子节点,并通过集合输出新的节点;

多组合器层包括多个组合器,每个组合器与多个选择器相连,实现对多个选择器的输出进行组合;每一个组合器的输出包含一个节点的集合,每个节点表示经过组合后的候选种子节点;

评价器层包括一个评价器,它接收来自组合器层推选出的候选种子节点,并根据节点对应的权重决定是否对其进行评估。

根据权利要求1所述的一种基于多选择器组合的影响最大化结构,其特征在于:当一个选择器推选任意多个新的节点时,满足以下约束条件Σipi=1,pi为权值;多选择器层中总共包含q个选择器,则q个选择器关于输出节点的关系可以用如下矩阵B表示:

其中n=|V|为网络中的节点数目,bij表示选择器i关于节点j的权重,对矩阵B的每一个行向量,满足q表示选择器的个数,表示对bij按下标j求和,即

进一步,组合器与选择器之间的连接可以通过如下矩阵表示:

cij表示连接组合器i和选择器j的边的权重,l表示组合器的个数,对任意组合器i,满足约束条件:

进一步,组合器i关于其输出节点v的权重被定义为:

l个组合器与输出节点的关系用如下矩阵D表示:

其中dij表示组合器i关于其输出节点j的权重。

进一步,对每个组合器i的输出节点,按节点的权重进行排序,对权重最大的前κ个节点,按如下公式评估该节点对目标函数带来的增益:

Δ(v)=σ(S∪{v})-σ(S)

其中σ(S)表示集合S对应的目标函数值,评价器对不同组合器给出的候选种子节点进行评价之后,将选择增益最大的种子节点v*作为新的种子节点,即:v*=argvmaxΔ(v),加入到集合S中,从而结束本轮迭代。

进一步,当上一轮迭代结束之后,若集合S中的节点数目已达到κ,则输出集合S作为最终结果;若小于κ,则将集合S返回给多选择器层,进入下一轮迭代,直到找到κ个种子节点。

由于采用以上技术方案,本发明具有以下优点:

本发明通过对多个已有的选择器选择的种子节点进行组合,保证无论k的取值如何,都能得到高质量的解。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为基于多选择器的影响最大化结构图;

图2为单个选择器的结构;

图3为多选择器结构实施案例;

图4为在5个真实数据集上的实验结果。

具体实施方式

下面对本发明的优选实施例进行详细的描述。

本发明提出的基于多选择器的影响最大化结构,其结构如图1所示。该结构的核心思想主要是基于目前已有算法在k值不同的情况下解的质量所表现出的差异性,例如:基于节点度中心性的算法,往往在选取最初的几个种子节点时(例如:k<10)表现较好,但是随着种子节点数k的增加,所得到的解的质量会明显下降。与之相反,另外一些基于传播路径的算法,只有当选择的种子节点数目较多时(例如:k>30),才会展示出其优越性。根据目前已有算法的这种特点,本发明的思路是:将每一种已有的算法看作是一个种子节点的选择器,通过对不同的“弱”选择器进行组合,实现不同算法之间优势互补,从而得到高质量的解。

从图1可以看到,本发明所提出的基于多选择器的影响最大化结构,其输入是网络图G以及空的初始种子节点集合S=Φ,输出为具有k个种子节点的集合S,即|S|=k。结构的核心部分由三层组成,分别是:多选择器层、多组合器层、以及评价器层。下面将对每一层进行具体介绍。

(1)多选择器层

多选择器层由多个选择器组成,每个选择器可以表示任意一个已知的影响最大化算法。为了保证算法整体的效率,在选择每个选择器时,通常会选择运行效率较高的算法。单个选择器的结构如图2所示:

给定网络图G和当前种子节点集合S作为输入,选择器会根据自身策略增量地选择几个新的节点作为候选的种子节点,并通过集合PS输出新的节点,其中集合PS被定义为:

PS={(vi,pi)|vi∈V,Σipi=1}

可以看到,选择器为每一个新的节点vi指定了一个权值pi,该权值反映了选择器将vi推选为新的种子节点的把握。这里需要注意的是:每个选择器可以推选任意多个新的节点,但要满足约束条件Σipi=1。约束条件Σipi=1反应了每个选择器平均一次只能推选一个新的种子节点。假设多选择器层中总共包含q个选择器,则这q个选择器关于输出节点的关系可以用如下矩阵B表示:

其中n=|V|为网络中的节点数目,bij表示选择器i关于节点j的权重。对任意不在选择器输出列表中的节点j,我们定义bij=0。易知,对矩阵B的每一个行向量,满足

(2)多组合器层

如图1所示,多组合器层由多个组合器构成,每个组合器与多个选择器相连。通过让一个组合器与多个选择器相连,可以实现对多个选择器的输出进行组合。通过设置多个组合器,可以产生不同的组合方式,从而丰富组合效果。连接组合器i和选择器j的边的权重cij表示选择器j的输出结果在组合器i中进行组合时的重要性。假设总共有l个组合器,则组合器与选择器之间的连接可以通过如下矩阵表示:

对任意组合器i,满足约束条件:即矩阵C的每一个行向量的各个元素之和等于1。该约束条件的物理意义是:每一个组合器都对多个选择器的输出进行线性加权,且权重系数之和等于1。与选择器类似,每一个组合器的输出也包含一个节点的集合,每个节点表示经过组合后的候选种子节点。每个节点对应一个权重,后续的评价器将根据该权重决定是否对候选节点进行评价。组合器i关于其输出节点v的权重被定义为:

l个组合器与输出节点的关系可用如下矩阵D表示:

其中dij表示组合器i关于其输出节点j的权重。易知,矩阵B、C、D之间满足关系:

D=CB

(3)评价器层

评价器层由一个评价器组成,它接收来自组合器推选出的候选种子节点,并根据节点对应的权重决定是否对其进行评估。具体做法是,对每个组合器i的输出节点,按节点的权重(即矩阵D中的第i行)进行排序,对权重最大的前κ个节点,按如下公式评估该节点对目标函数带来的增益:

Δ(v)=σ(S∪{v})-σ(S)

其中σ(X)表示集合X对应的目标函数值。评价器对不同组合器给出的候选种子节点进行评价之后,将选择增益最大的种子节点v*作为新的种子节点,即:v*=argvmaxΔ(v),加入到集合S中,从而结束本轮迭代。本轮迭代结束之后,若S中的节点数目已达到k,则输出S作为最终结果;若小于k,则将S返回给多选择器层,进入下一轮迭代,直到找到k个种子节点。

本发明提出的多选择器结构具有如下特点:

(1)对矩阵C的依赖性

本结构的输出结果在很大程度上依赖于多选择器层与多组合器层之间的权重矩阵C。

例如,如果矩阵C的第i列元素全为1,其他所有列的元素全为0,如下所示:

则最终的输出结果等效于单个选择器i的输出结果。

如果组合器与选择器数目相等,即:q=l,且矩阵C为单位矩阵,即:

则输出结果等价于评价器直接从q个选择器输出的节点中寻找能带来最大目标函数增益的节点,组合器层此时不起作用。

(2)可并行化

本发明提出的结构具有高度可并行化的特点,这主要得益于多选择器层、多组合器层和评价器层之间简单的输入输出依赖关系。这种松耦合的依赖关系使得可以将多个选择器、组合器和评价器部署到不同的服务器甚至云端,从而提高结构的运行效率。

(3)可伸缩性

本发明提出的结构还具有高度可伸缩性。用户可根据需要部署任意多个选择器和组合器,对每个选择器所使用的算法也可以任意指定,选择器与组合器之间的连接方式也可以任意指定,只需满足相应的约束条件即可。除此之外,还可以选择用其他的评价器来替代传统的蒙特卡洛模拟评价方法,对候选种子节点的目标函数增益进行评价,从而提高算法效率。

本发明还给出了一个具体的结构实时案例,如图3所示。多选择器层采用了3个选择器,分别是:Degree、CoFIM和IMM。其中Degree根据节点的度值高低选择新的节点,CoFIM和IMM是两个已有的影响最大化算法,IMM算法在k较大的时候表现较好,CoFIM算法则在k相对较小的时候效果突出,通过这几个选择器的组合可以较好地体现本结构的思想。组合器层选择了3个组合器,组合器层与选择层之间的连接权重对应的矩阵C为3×3的单位矩阵I。评价器层采用了蒙特卡洛仿真的方法对节点进行评估。

本发明在5个真实数据集:NetHEPT、NetPHY、Epinions、Amzon和DBLP上进行了实验,并与目前主流的算法CoFIM、IMM、IPA、SD和Degree进行了比较,结果如图4所示,其中MSIM表示本发明所提出的方法。可以看到,无论k的取值为多少,本发明所提出的方法,其准确性,即Influence Spread指标都要优于其他算法。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1