符号网络中正影响最大化的新算法
一、概述
1.符号网络
符号网络(signed network)是指包含正、负两种关系的二维复杂网络,是对一般复杂网络描述能力的一种推广。
符号网络广泛存在于社会,生物等多种复杂系统中.例如,在社会系统中,”喜欢”,”尊重”和”表扬”属于正关系,而 “厌恶”,”轻视”和”责备”属于负关系;再如,在神经系统中,神经元之问的”相互促进”属于正关系,而”相互抑 制”属于负关系.符号网络社团结构具有社团内正关系稠密, 同时社团间负关系也稠密的特点.
2.本文的主要工作
- 我们正式定义了IC模型下签名网络中的正影响最大化问题。还提出了一套传播规则来模拟竞争影响力的传播。
- 我们提出一种算法,使用独立路径计算每个节点对之间的正激活概率。
- 为了避免模拟影响传播的耗时过程,我们定义了一个传播函数来估计种子集的影响范围。
- 提出了一种称为PIMSN(中间有“-”的代表问题)的算法,用于使用传播函数检测最佳种子集。
3.说明
- IM问题:影响最大化问题(influence maximization)
- PIM-SN问题: 符号网络中正影响最大化问题(competitive influence maximization in singned networks)
- 此类问题(PIM-SN)的大多数方法都是用蒙特卡洛模拟Monte-Carto simulation来估计每个候选种子集S的影响扩散。
- 我们提出了一套传播规则来模拟竞争影响力的传播。在模型中,负面链接比正面链接更重要,因为它们可以逆转影响。这种现象与在实际应用中传播的竞争影响是一致的。大多数现有方法并未考虑和利用负边缘的这种关键作用。为了避免在估计影响传播范围时避免进行蒙特卡洛模拟并减少计算时间,我们提出了一种传播函数来估计种子集的正影响传播。我们提出了一种基于传播路径的算法来计算每个节点对之间的激活概率。使用这种激活概率,我们提出一种算法,以顺序选择可以使影响增量最大化的节点来加入种子集。
二、PIM-SN问题和独立路径
1.问题形式化
a.定义1:PIM_SN
在线社交网络G=(V,E),E是有向边的集合,V是节点的集合。概率函数p:E→(0,1)p:E\\rightarrow(0,1)p:E→(0,1)为E中每条边的传播概率。对于每条边(u,v)∈E(u,v)\\in E(u,v)∈E,正或负的符号被表示为sign(u,v)sign(u,v)sign(u,v),且它的符号表示边(u,v)的符号。I+(S)I^+(S)I+(S)是种子集合按照符号网络影响传播规则传播而被正向影响的节点数目。符号网络中的正影响最大化是为了得到最优节点集S∗=argmaxI+(S)S⊂V,∣S∣=kS^*=\\underset{S\\subset V,|S|=k}{argmax I^+(S)}S∗=S⊂V,∣S∣=kargmaxI+(S)。
b.SIP(符号影响传播规则)
在一个符号网络G=(V,E)中,当节点v是一个正(或者负)激活状态,如果边(v,u)是正的,节点u被激活为正(或者负)激活状态的概率是p(v,u),或者保持处于非激活状态的概率为1-p(v,u);如果边(v,u)是负的,节点u被激活为负(或者正)激活状态的概率是p(v,u),或者保持处于非激活状态的概率为1-p(v,u)。
从定义可以看出,在这样一个符号网络中,当有用的影响通过负边缘传播时,它将变得有害。此外,有害影响在通过负边缘传播后将变得很有帮助。重要的是要利用这种负关系来有效地选择可以正向激活最大数量节点的种子。
2.路径传播概率
a.路径概率及独立路径
- 定义3:(路径概率)v到u的路径由一组边的序列e1,e2,e3,…,ele_1,e_2,e_3,…,e_le1,e2,e3,…,el组成,并且eie_iei上的概率为pip_ipi。v经过L激活u的概率为Pr(L)=∏i=1lpiP_r(L)=\\prod_{i=1}^{l}p_iPr(L)=∏i=1lpi。
- 定义4:(独立路径)如果两条路径L1和L2不相互重叠。也就是说,它们没有共同的边缘,我们称它们为相互独立的路径。
- 种子v正激活u的概率表示为a+(v,u),种子v负激活u的概率表示为a-(v,u)。
- 为了估计一个a+(v,u)和一个a-(v,u),我们需要找到从v到u的一组独立路径,并将它们的概率相加。由于有许多从v到u的独立路径,我们提出了一种算法(算法1)来获得一组具有最大概率的独立路径。
b.算法1
计算节点之间的传播概率的算法。
c.示例
算法1通过深度优先搜索从网络中的每个节点v开始搜索独立路径。在深度优先搜索的每个节点w上,算法选择w的一个传播概率最大的邻居作为路径中的下一个节点。为了确保构造的路径是独立的,每个节点只能加入一条路径。因此,只能选择未访问的节点并将其添加到新路径。当选择节点u时,取决于路径L的符号,从v到u的路径L的概率会加到a+(v,u)a^+(v,u)a+(v,u)或a−(v,u)a^-(v,u)a−(v,u)上。如果在路径上存在偶数(奇数个)的负边,则将从v到u的路径L称为一个正(负)的路径。令路径L的概率为Pr(L)P_r(L)Pr(L),如果路径L是正数,则将Pr(L)P_r(L)Pr(L)加到a+(v,u)a^+(v,u)a+(v,u);否则应将其添加到a−(v,u)a^-(v,u)a−(v,u)。
为了获得从节点a开始的独立路径,该算法首先选择概率最大的边(a,d)。然后,从节点d中选择概率最大的边(d,g)。由于无法从节点g选择边缘,因此第一条路径a→d→g在g处结束。除了路径a→d→g之外,可以类似地检测到其他两个独立的路径a→c→e和a→b→f。这些路径的概率分别为0.45=(0.9*0.5)、0.72和0.24。
三、传播函数及其正确性
1.传播函数
该传播函数用于估计由种子集传播的正影响。
G+(S,u)G^+(S,u)G+(S,u)和G−(S,u)G^-(S,u)G−(S,u)分别代表S激活u的正向和负向概率。
G+(S,u)=∑v∈SaV−S+v+(v,u)G^+(S,u)=\\underset{v\\in S}{\\sum}a_{V-S+v}^+(v,u)G+(S,u)=v∈S∑aV−S+v+(v,u)
G−(S,u)=∑v∈SaV−S+v−(v,u)G^-(S,u)=\\underset{v\\in S}{\\sum}a_{V-S+v}^-(v,u)G−(S,u)=v∈S∑aV−S+v−(v,u)
集合S的正传播函数可以被估计为:(等式7)
I+(S)=∑u∈VG+(S,u)I^+(S)=\\underset{u\\in V}{\\sum}G^+(S,u)I+(S)=u∈V∑G+(S,u)
我们的目标是使最优种子集的大小k满足:(等式8)
S∗=argmaxS⊂V,∣S∣=kI+(S)S^*=\\underset{S\\subset V,|S|=k}{argmax}I^+(S)S∗=S⊂V,∣S∣=kargmaxI+(S)
2.计算传播增量
本文的算法采用贪心策略来选择最佳种子集。该算法将种子集S初始化为一个空集。然后依次选择传播增量最大的节点,并将其添加到S。重复此种子选择过程,直到种子集的大小达到k为止。为了避免模拟影响扩散以选择最佳候选种子节点,我们基于传播函数定义了正影响传播增量。
定义5(正影响传播增量):S是部分种子集,s∈V\\Ss\\in V\\backslash Ss∈V\\S(V中减去S的部分)。添加x到S后的正影响传播增量被定义为:ΔS+(x)=I+(S∪{x})−I+(S)\\Delta^+_S(x)=I^+(S\\cup \\{x\\})-I^+(S)ΔS+(x)=I+(S∪{x})−I+(S)。
四、正向影响最大化
算法PIMSN首先通过调用Algorithm Comp-PP(算法1)计算节点对的激活概率a+(v,u)和a-(v,u)。基于上述定义的传播函数,算法PIMSN使用贪心策略选择传播增量最大的节点作为候选种子。
1.选择种子节点
- 算法初始化S为空。a+(v,u)和a-(v,u)分别表示在当前种子集合S下的激活概率为aV\\S+(v,u)a_{V\\backslash S}^+(v,u)aV\\S+(v,u)和aV\\S−(v,u)a_{V\\backslash S}^-(v,u)aV\\S−(v,u)
- 首先,所有节点对的正负激活概率a+(v,u)和a-(v,u)都可以由算法Comp-PP计算。使用变量G+(u)和G-(u)分别代表当前的种子集合S正和负激活u的概率G+(S,u)和G-(S,u)。由于种子集S最初为空,因此G+(u)和G-(u)的初始值是0。使用Δ+(x)\\Delta^+(x)Δ+(x)来表示ΔS+(x)\\Delta^+_S(x)ΔS+(x),将x添加到当前种子集S时正影响传播增量:
Δ+(x)=∑v∈Va+(x,u)−∑v∈Va−(x,u)\\Delta^+(x)=\\underset{v\\in V}{\\sum}a^+(x,u)-\\underset{v\\in V}{\\sum}a^-(x,u)Δ+(x)=v∈V∑a+(x,u)−v∈V∑a−(x,u) - 在每次迭代中节点x都是最大的正影响传播增量△^+ (x),它从集合V\\S中选择,并被加入到种子集合中。在x被加入到种子集S后,上述的变量也会随之更新。此时的正向传播增量是(等式17):
Δ+(v)=[1−G+(v)]⋅∑v∈Va+(x,u)−G−(v)∑v∈Va−(x,u)\\Delta^+(v)=[1-G^+(v)]\\cdot\\underset{v\\in V}{\\sum}a^+(x,u)-G^-(v)\\underset{v\\in V}{\\sum}a^-(x,u)Δ+(v)=[1−G+(v)]⋅v∈V∑a+(x,u)−G−(v)v∈V∑a−(x,u) - 在下一次迭代中,可以选择正传播增量最大的新种子。重复此迭代过程,直到种子集中的节点数达到k为止。
2.Pimsn算法框架
a.PIMSN
Positive influence maximization in signed networks:符号网络中的正影响最大化
b.算法2:
- 第一步首先将种子集合初始化为一个空集。
- 第二步是通过Comp-pp计算每个节点对的激活概率a+(v,u)和a-(v,u)。
- 第三步基于激活概率可以得到正影响传播增量。因为种子集合被初始化为空,所以G+(x)和G-(x)被初始化为0。
- 第四步,选择种子节点的过程被迭代k次,选择k个节点以形成种子集S。在每次迭代中,集合V\\S中的节点x拥有最大的增量Δ+(x)\\Delta^+(x)Δ+(x),然后它被选做一个新的种子候选节点。在将x加入到种子集合后,G+(x)、G-(x)、a+(v,u)和a-(v,u)也会进行相应的更新。基于更新后的值,正影响传播增量也会根据等式17重新计算。V\\S中拥有最大增量的节点被选做一个新的种子。
- 重复这个过程k次,种子集大小为k的集合构建成功。
算法2:
注:
对比实验
- 随机算法: 这是影响最大化的最常用方法之一。在该方法中,随机选择k个节点以构建种子集。在我们的实验中,这样的随机种子的选择过程被重复1000次,并且1000次种子集的平均扩展是算法的输出结果。
- MaxDegree [25]: 这是一种使用度中心性的启发式算法。 MaxDegree认为中心度最高的节点是最有影响力的节点。该算法将反复选择中心度最高的节点并将其添加到种子集中,直到种子节点的数量达到k为止。
- Greedy[24]: 此算法将种子集初始化为空种子集,并反复选择潜在的候选者加入种子节点。在每轮种子选择中,该方法选择影响扩散的边际增益最大的节点作为候选种子。节点的边际增益通过蒙特卡洛模拟估算。
- Meta heuristic(MH)[26]: Canh V. Pham提出了一种算法,用于解决在d跳内传播期间(d-PIMCN)的正影响最大化而负影响受到限制的问题。该方法将D-PIMCN问题视为0-1整数线性规划,并使用启发式优化对其进行求解。
- MIA-N [3]: Chen Wei提出了MIA-N算法,用于在具有两种对立关系的网络中最大化影响力。基于树形结构中的影响传播草图,MIA-N执行启发式优化以最大程度地发挥积极影响。
实验略