一种基于线性阈值的互补多主体影响力最大化方法与流程

文档序号:30583610发布日期:2022-06-29 13:58阅读:160来源:国知局
一种基于线性阈值的互补多主体影响力最大化方法与流程

1.本发明属于社交网络中的影响力最大化领域,尤其涉及一种基于线性阈值的互补多主体影响力最大化方法。


背景技术:

2.随着互联网的不断发展,线上社交平台已经融入了人们日常生活的方方面面。在社交网络中,例如产品、观点等传播主体的信息通过用户之间的社交互动传播,发帖、点评、私信等均是社交互动的形式。合理地选择一部分具有高影响力的“种子”用户作为传播的起点可以扩大信息的传播范围,这也是社交网络影响力传播最大化问题的目标。社交网络影响力最大化在在例如产品营销、个性化推荐等方面有着重要的应用,并且该问题已被证明是np-hard问题。
3.在主流的影响力传播模型中,社交网络被抽象建模为图,其中用节点表示用户,并用边表示用户之间的影响关系。而信息在网络中的扩散则用一个随机过程来表达,独立级联模型和线性阈值模型是使用最为广泛的两个扩散模型。在这两个模型中,当一个节点采用了传播主体后,它的影响力会从该节点向与其有边相连的相邻节点扩散。在经典的单主体影响力传播模型中,在同一社交网络中传播的不同主体被认为是独立的,其中一个主体不会影响其他主体的传播。但在现实生活中,传播主体之间存在竞争或者互补的关系的情况是很常见的,用户采用了其中一个主体后可能会改变其是否采用其他主体的选择。以产品营销为例,不同品牌的电脑构成竞争关系,而电脑主机和鼠标键盘等外设间则有互补关系。因此,经典单主体模型可能会偏离实际的用户行为。目前,已经有许多竞争关系的多主体影响力传播模型,而互补关系的模型则相对来说还很不成熟,而目前唯一的互补模型基于独立级联模型,使用较为复杂的节点层面自动机来描述节点的行为。基于上述不足,在本发明中,提出一种基于线性阈值的模型的互补关系多主体影响力传播模型和相应的影响力最大化方法。


技术实现要素:

4.本发明的目的是针对现有技术不足,提出一种基于线性阈值的互补多主体影响力最大化方法,描述两个传播主体之间具有互补关系时社交网络中的影响力传播。
5.本发明目的在于针对现有技术的不足,提出一种基于线性阈值的互补多主体影响力最大化方法。
6.本发明的目的是通过以下技术方案来实现的:一种基于线性阈值的互补多主体影响力最大化方法,该方法包括以下步骤:
7.(1)对于社交网络中具有互补关系的两个传播主体a和b,使用全局互补参数γ
a,b
和γ
b,a
分别表示b对a和a对b之间互补关系的强弱;
8.(2)对于社交网络中的节点v,随机生成一组阈值和分别表示社交网络中的节点v未被b激活时其对a的阈值和节点v未被a激活时其对b的阈值,在传播主体a进行影
响力传播时,若节点v没有被b激活,则当节点v的所有已被a激活的入边邻居的a边权之和大于阈值时,表示节点v能够被a激活;若节点v被b激活,则令sa(v)为节点v所有入边的a权值之和,表示社交网络中的节点v已被b激活时其对a的阈值;当节点v的所有已被a激活的入边邻居的a边权之和大于阈值时,表示节点v能够被a激活,当传播主体b进行影响力传播时,按照与a相同的方式计算得到阈值
9.(3)社交网络为一个有向图,使用前向bfs找出所有被传播主体b激活的节点,从社交网络所有节点中随机选择一个采样起点v0,从采样起点v0开始,根据当前节点是否被b激活,选择a活跃边进行反方向行走,根据步骤(2)计算的阈值,以找出作为a种子时使得v0能够被a激活的节点,加入返回的反向可达集r中;根据imm算法,从得到的若干反向可达集r中,将节点按照出现在反向可达集r中次数从高到低进行排序,选择前k个节点作为传播主体a影响力最大的种子集,选择传播主体b影响力最大的种子集时采用和a同样的方法。
10.进一步地,社交网络中两个具有互补关系的传播主体的含义为在其中一个传播主体在进行影响力传播过程中激活某个社交网络中的节点时,该节点被另一个传播主体激活的概率会增加。
11.进一步地,全局互补参数均为[0,1]之间的实数,通过机器学习分析历史的社交网络中用户行为得到。
[0012]
进一步地,步骤(2)中,在进行实例采样时,当v被b激活时,等价地将节点v的每条入边的a权值乘以参数在不改变阈值的情况,直接和比较,判断节点v是否能够被a激活。
[0013]
和现有技术相比,本发明的有益效果有:提出了一种可以表示主体间互补关系的社交网络影响力传播模型;模型利用线性阈值的模型的特性,通过降低阈值(或增加边权)的方法来描述主体之间的互补关系,无需使用节点层面自动机来表述每个节点的行为,实现较为简洁;针对模型提出了反向可达集采样方法,可以配合imm算法较快地实现影响力最大化问题的求解。
附图说明
[0014]
图1为本发明提出的互补多主体影响力传播模型的扩散过程流程图。
[0015]
图2为本发明提出的模型中一个节点的活跃边采样方法的流程图(以主体a为例,主体b的方法是对称的,因此省略)。
[0016]
图3为在本模型上进行自身影响力最大化的反向可达集采样的流程图。
具体实施方式
[0017]
下面结合附图,对本发明作进一步的详细说明。
[0018]
本发明主要包括互补多主体影响力传播模型和自身影响力最大化反向可达集采样方法这两个部分。
[0019]
1.所述互补多主体影响力传播模型利用线性阈值模型的特性,通过降低阈值来表述传播主体之间的互补关系。具体而言,在该模型中,多个传播主体在同一个社交网络图g
(v,e)上传播,但是对于每个传播主体,节点的阈值和边的权值可以是不同的。对于两个传播主体a和b,每个节点v分别有阈值和而每条边(u,v)用于a和b的扩散过程的权值分别记为和模型中每个节点会对多个主体各自做出是否采用的决定,每个节点可以采用多个主体,节点一旦采用了某个主体后就不能再退回未采用状态。模型中使用全局互补参数γ
a,b
和γ
b,a
表示a和b之间互补关系的强弱,这两个参数均为[0,1]之间的实数,它们事先在输入中指定。其中前者表示b对a的互补作用,而后者代表a对b的互补作用。当一个节点采用b后,其对a的阈值会依据γ
a,b
来降低。以主体a为例(主体b的情况是对称的),令和分别表示节点v未采用b和已采用b时其对a的阈值,并令sa(v)为该节点所有入边的a权值之和。初始时,的值从[0,1]间均匀随机产生,而
[0020]
本模型中,影响力的传播在离散的时间步进行,首先需要从社交网络数据集中输入带权有向图g以及全局互补参数γ
a,b
和γ
b,a
。随后,均匀地随机生成每个点的基本阈值和并通过上述方法计算其互补作用下的阈值和在每个时间步中,考虑每个未采用a的节点v,定义ca(v)表示该节点的所有已采用a的入边邻居的a边权之和。计算ca(v)并与阈值(v未采用b)或者(v已采用b)比较。如果比较的结果是ca(v)大于等于阈值,则节点在本时间步v采用a。对主体b可以重复上面的过程,检查本时间步是否有节点会采用b。最后,如果本时间步中,有任意一个节点采用了a或者b,则继续进行下一个时间步,否则传播过程结束,此时采用了a和b的节点集合不会再改变。
[0021]
为了支持影响力最大化算法,需要对上述提出的模型进行实例采样,实例是指在一组特定的节点阈值取值下的模型,消除了随机模型中的不确定性。在本模型中,每个节点在任意时刻对于传播主体a和b分别有0或者1条活跃边,实例采样只需对每个点采样活跃边即可。分别记和为节点v未采用b和已采用b时对于a的活跃边,对b可以对称地定义。在线性阈值模型中,将v的阈值乘以一个非零实数等于将每条边的边权除以该实数。再次以主体a为例,节点v采用b后,其阈值变为可以等价地将该节点的每条入边的a权值乘以而不改变阈值。由此,对于某条边(u,v),用和分别表示v未采用b和已采用b时的a权值,则b的权值同理可以利用另一个全局互补参数γ
b,a
对称地处理。
[0022]
在采样实例的a活跃边时,对于每个节点v,从[0,1]中均匀生成一个随机数并将其入边以1,2,3,

,in(v)标号,其中in(v)表示节点v的入度,并将上述边的边权分别记为b1,b2,b3,

,b
in(v)
。如果存在一个j使得则找出最小的j,和均为第j条边。否则,不存在,并找出最小的k满足若存在,第k条边为若不存在,则也不存在。
[0023]
2.所述自身影响力最大化反向可达集采样方法,其目标是求出适用于imm算法的
反向可达集,在已知互补主体b的种子集的情况下,找一个a的种子集,尽可能使得a的影响力最大。将图g的节点以1到n标号,边以1到m标号。以a为例(b的定义同理),令表示起点的编号,当其不存在时则定义并令上述分别表示节点当v未采用b时,它的a活跃入边和a活跃出边集合,同理还可以定义和本方法适用于γ
b,a
=0的情况,此时b的传播不受a的影响。首先使用前向bfs来找出所有将采用主体b的节点,该bfs时将中的节点作为从v可以到达的节点。随后,从采样起点v0开始,根据a活跃边的反方向行走,以找出作为a种子时可以激活v0采用a的节点,加入返回的集合r中。我们在从节点v反向行走时,根据v是否采用了b,选择边或者行走,当遇到相应的边不存在,或者返回一个已经访问过的节点时,则结束反向行走过程,返回此时的集合r作为反向可达集。
[0024]
本发明方法实现的具体过程如下:
[0025]
如图1的流程图所示,本发明提出的互补多主体影响力传播模型的扩散过程主要分为下面几步:
[0026]
(1)输入社交网络带权有向图g(v,e),a和b的种子集,全局互补参数γ
a,b
和γ
b,a
。此处,如果待处理的社交网络数据集不含边权信息,一般可以采用以下方法生成边权:先输入一个参数w∈(0,1](可以随机生成或者手工指定),然后对于每个节点v,将该节点的每条入边的权值先设为(0,1]中的随机数,再归一化,使得该节点入边权值和为w。全局互补参数γ
a,b
和γ
b,a
一般可以通过对该社交网络过去用户行为的观察和数据挖掘得出。
[0027]
(2)初始时,所有在a的种子集中的节点采用a,在b种子集中的节点采用b,而其他节点则置为未采用状态。对于每个节点v∈v,随机均匀地从[0,1]中生成阈值和然后通过上文所述公式计算节点的另外两个阈值和
[0028]
(3)在每个时间步,检查每个未采用a的节点v,根据上文所述定义计算ca(v)并与阈值(v未采用b时)或者(v已采用b时)比较。如果ca(v)大于等于相应阈值,则节点v在本时间步采用a。
[0029]
(4)检查每个未采用b的节点v,计算cb(v)并与阈值(v未采用a时)或者(v已采用a时)比较,如cb(v)大于等于阈值,则节点v在本时间步采用b。
[0030]
(5)如果在本时间步有任何节点采用了a或者b,则进行下一时间步,返回第(3)步。否则传播过程终止,进入第(6)步。
[0031]
(6)输出此时采用了a和b的节点集合作为影响力传播的结果。
[0032]
上述的流程对于一组随机生成的阈值实例计算了给定种子集的影响力传播。通常,在评估一组种子集的影响力大小时,需要通过重复运行上述流程多次(即蒙特卡洛方法),每次生成一组新的阈值,最后取多次运行中采用a(或b)的节点数量的平均值作为该组种子集影响力大小的指标,增加运行次数能使结果的误差变小。
[0033]
如图2的流程图所示是以主体a为例,对于本发明中提出的影响力传播模型中一个节点的活跃边采样过程,分别下面几步:
[0034]
(1)输入社交网络带权有向图g(v,e)和要采样的节点v。此处使用上文所述增加权值的方法来表示互补关系,对每条边(u,v)需要如下四个权值:和其中和为原图中的权值,而另外两个边权通过上文所述的定义可以计算得出:为原图中的权值,而另外两个边权通过上文所述的定义可以计算得出:
[0035]
(2)从[0,1]中均匀地生成一个随机数并将节点v的入边以1,2,3,

,in(v)标号(其中in(v)为节点v的入度),将它们的边权分别记为b1,b2,b3,

,b
in(v)

[0036]
(3)如果存在一个j使得则找出最小的j,返回和均为第j条边,采样过程结束,不用进行下一步。否则,进行第(4)步。
[0037]
(4)此时不存在,找出最小的k满足若存在,第k条边为若满足条件的k不存在,则也不存在。
[0038]
通过对图中的每个节点v∈v都运行一次上述过程,即可完成整个图的实例采样,所得活跃边组成的的a子图可以用于求反向可达集。对于b的采样过程同理,只需在上述流程中更换相应边权即可,此处省略。
[0039]
如图3所示是在本模型上进行自身影响力最大化的反向可达集采样的过程,主要分为以下几步:
[0040]
(1)输入一个通过上述方法采样得到的实例子图h,b的种子集和本次反向可达集采样的起点v0。
[0041]
(2)进行bfs,初始时将每个在b种子集中的节点加入bfs队列。在bfs过程中,每次从当前节点v可以访问且仅可以访问中的节点。将所有被该bfs访问到的节点标记为b-采用,没有访问到的节点则不标记。
[0042]
(3)接下来将进行反向行走,初始时将返回的集合r设为空集,令u表示当前反向行走正处于的节点,将其初始化为v0,即反向采样的起点。
[0043]
(4)在反向采样的每一步,将当前节点u加入集合r中。随后,如果u已经采用了b,则应当沿着反向边行走,此时令而如果u没有采用b,则应当沿着反向边行走,因此令
[0044]
(5)判断反向行走是否结束。如果u=0,表示行走的反向边不存在,此时结束反向行走。同理,如果新的u已经在r中,则反向行走遇到了环,因此也可以终止行走,进入第(6)步。如果不是上述两种情况,即u≠0且则继续反向行走,回到第(4)步。
[0045]
(6)返回集合r作为反向可达集。
[0046]
使用上述方法采样获得的反向可达集可以应用于imm算法,以便高效地求出一组较优的自身影响力最大化问题的a种子集。
[0047]
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1