题目: Influence maximization in social networks using graph embedding and graph neural network
期刊: Information Sciences 2022
论文地址:Influence maximization in social networks using graph embedding and graph neural network
本文提出了一种利用图嵌入和图神经网络来进行影响力预测的模型SGNN。具体来讲,作者将影响力最大化考虑成一个伪回归任务:首先利用struc2vec得到节点的嵌入表示,然后将嵌入表示输入到GNN中得到节点的最终表示,然后将最终表示输入到一个回归器中对影响力进行预测。模型训练时,回归标签为节点的影响力(通过SIR模型得到每个节点的传播规模)。
在社交网络中,节点表示用户,节点之间的边表示用户之间存在某种联系,如关注。为社交网络的影响力最大化任务确定初始种子节点是网络科学领域的热门研究课题之一。形式上,影响力最大化任务可以表述为:给定一个社交网络图 G G G和一个非负的较小整数 k k k,需要找到 k k k个节点的集合 S S S,通过初始激活它们,在一定的影响力传播模型下(如前面讲的独立级联模型和线性阈值模型),可以使整体影响力传播规模最大化。
影响力最大化任务的公式化定义为:
其中 S S S表示种子节点集合, σ G , M ( S ) \sigma_{G,M}(S) σG,M(S)表示受影响的节点数目,也就是被激活的节点数目。
病毒式营销是影响力最大化的一种应用,例如企业希望通过扩散级联的方式从最初选择的有影响力的种子节点接触到大量用户。基于口口相传的概念,利用用户之间的相互信任,来自有影响力节点的信息可以最大程度地传递给网络中的其它节点。Kempe等证明了在经典扩散模型下获得影响力最大化问题的最优解是一个NP-hard优化问题。多年来,人们在影响力最大化领域做了大量的工作,基于节点中心和基于贪心的方法是目前比较主流的方法。基于节点中心的方法根据特定的拓扑特征及其在网络中的相对位置为每个节点分配一个分数,该方法计算成本低,但其结果是针对特定网络的,不能有效推广到其他网络。基于贪心的方法通常更准确,性能有理论上的保证,但计算量较大,不能推广到大型网络。
本文提出了一种解决影响力最大化问题的新思路:将其考虑成伪回归任务。首先,利用struc2vec得到图中每个节点的嵌入表示,这些嵌入表示将作为节点的特征向量;其次,节点的特征向量被输入到GNN中做回归任务,回归标签为节点的影响力(通过SIR模型得到每个节点的传播规模)。最后,在测试集上进行预测,通过选择影响力最靠前的 k k k个节点来形成种子集合。
回归任务中每个节点需要标签,为此,利用SIR信息扩散模型计算每个节点的影响力,对于选定的信息扩散模型(IDM),计算得到的标签集合可以表示为:
大多数现实生活中的网络,比如在线社交网络,都在不断发展,规模庞大,通常难以处理和分析。有些网络还关联特定的节点属性,但并非所有网络都是如此。为了解决这一难题,本文使用节点嵌入技术为每个网络生成节点属性。具体来讲,采用struc2vec来为网络中的每个节点生成低维向量。这些向量的维数选择为128,以更好地捕捉网络细节,同时降低网络处理的计算成本。设 S S S是使用维数 d d d的struc2vec为图G生成的节点嵌入,最终得到的嵌入如下:
其中 S v S_v Sv表示节点v
的嵌入向量表示。
利用GNN得到节点的最终表示后,利用一个回归器来预测节点的影响力:
其中 s v s_v sv为节点的初始嵌入表示, h v h_v hv是利用GNN得到节点表示, β \beta β为参数。损失函数采用MSE,然后反向传播求导并更新模型参数。
为了选出最优的模型,本文利用BA(Barabasi-Albert)模型生成了两组网络:训练网络 D t r a i n D^{train} Dtrain和测试网络 D t e s t D^{test} Dtest,每组网络中都含有多个网络。
本文提出的SGNN模型的整体框架可以描述如下:
具体来讲,对训练集中的每一个网络,首先利用前面提到的方法训练出一个SGNN模型,然后利用该SGNN模型去对测试集中的每一个网络进行测试:每一个SGNN对某个测试网络进行测试时都需选定多个 k k k来进行多次测试。其中, F ( t c ) [ i ] [ j ] F(t_c)[i][j] F(tc)[i][j]表示利用第 i i i个训练集网络训练得到的SGNN在第 j j j个测试集网络上得到的预测指标,具体计算公式为:
即最终被影响的节点数除以总的节点数。需要注意的是,上述指标是在多个 k k k下求和的结果。
得到了多组测试结果后,利用以下公式选出最优的训练网络:
得到最优训练网络后,再走一遍上述流程,训练出一个最佳的SGNN。
得到最佳模型后,按照下述流程对目标网络进行测试:
具体来讲,首先利用struc2vec得到目标网络的节点嵌入表示,接着将这些表示输入到前面得到的最佳SGNN中以得到所有节点的影响力预测值,然后选出影响力排名前 k k k的节点作为初始种子节点进行影响力传播,最终得到各种测试指标。
训练集:利用BA模型生成六个合成网络。
测试集:6个基于BA模型的合成网络和8个现实生活中的社交网络。
这部分算是重点。
(2)种子集合中节点间的平均距离(Ls)
其中 D u v D_{uv} Duv表示seed set中任意两个节点间的距离, k k k为seed set大小。一般来讲,Ls值越高种子集就越好,因为Ls越高意味着这些节点邻域的重叠较小。
(3)Kendall的tau系数
根据节点在网络中的影响对它们进行排序,可以创建一个列表 (例如通过SIR模型得到排序列表)。评估任何影响力最大化算法的实用性的一种方法是将此通用节点列表与该影响力最大化算法得到的列表进行比较。如果这些列表是相似的,那么提出的算法被认为是可行的。Kendall tau值可以衡量两个有影响力节点列表之间的相似性。其中,如果任意两个节点的先后顺序相同,则 k c k_c kc加1,反之 k d k_d kd加1。最终得到的指标为一个-1到1的小数,-1表示绝对不相似,1表示绝对相似。
实验结果不再详细描述。