基于深度自编码器的复杂网络节点影响力最大化方法与流程

文档序号:15388057发布日期:2018-09-08 00:48阅读:496来源:国知局
本发明属于复杂网络
技术领域
,涉及选择网络中最具有影响力节点的方法,具体是一种基于深度自编码器的复杂网络节点影响力最大化方法,用于发现复杂网络中重要的节点。
背景技术
:自然世界中的个体及其相互关系可以抽象为复杂网络,网络中的节点可以表示自然世界中的个体,网络的边代表个体间的关系。复杂网络渗透到各个领域中,深入研究复杂网络,可以揭示隐藏在自然、生物和人类社会中的共同规律。然而,复杂网络的节点连接关系非常复杂,研究具有重要影响力的节点对信息传播和扩散起着至关重要的作用,发现这些节点可以帮助人们更好的理解网络结构及其信息传播特性。影响力最大化问题近年来已经成为复杂网络领域的研究热点。问题可以简单的描述为:给定一个复杂网络,从中找出一小部分点集,使得产生的影响达到最大。现有技术无法挖掘复杂网络中节点的影响力特征,在选择节点过程中存在一定的盲目性,而且现有技术大多数是基于贪心算法,时间复杂度非常高,不适用于大规模网络。技术实现要素:本发明的目的在于针对上述已有技术的不足,提出一种既能得到影响力节点,还能得到节点影响力特征的基于深度自编码器的学习的复杂网络节点影响力最大化方法。以找出网络中节点的影响力特征,获得最大范围的影响力传播。本发明是一种基于深度自编码器的复杂网络节点影响力最大化方法,其特征在于,包括有如下步骤:(1)构建复杂网络数据:将真实世界的复杂网络抽象成拓扑图g=(v,e),其中,g表示一个复杂网络拓扑图,v={v1,v2,…,v|v|}表示网络中节点的集合,|v|表示网络中的节点数目,e={eij|vi,vj∈e}表示网络中边的集合;(2)确定复杂网络各节点的初始影响力:使用权重级联传播模型定义拓扑图g各节点的初始影响力;(3)估计两层范围内影响力传播值:在权重级联传播模型下,应用lie方程得到拓扑图g复杂网络中各节点的两层范围内影响力传播范围估计值,两层范围内影响力传播估计值由初始激活节点数σ0(s),第一层影响力估计值σ1(s),第二层影响力估计值σ2(s)之和构成;(4)构建影响力近似矩阵:根据拓扑图g复杂网络中各节点的两层范围内影响力传播范围估计值,构建影响力近似矩阵m:m=[mij]|v|×|v|其中,mij为复杂网络中单个节点的两层影响力传播范围估计值,s={vi∪vj|vi,vj∈v},m为|v|×|v|大小的矩阵;(5)构建编解码模型:编解码模型由编码器和解码器构成,具有层次结构,每一层是由多个神经元构成,各个层之间的神经元相互连接,解码器和编码器为全连接对称结构,并定义编解码的目标函数,经过逐层贪心训练,训练完成后,编码器的最后一层神经元和解码器的第一层神经元视为复杂网络的影响力特征;(6)训练编解码模型,优化编解码模型的目标函数,得到复杂网络各节点的影响力特征:将影响力近似矩阵输入到编解码模型中,使用adadelta算法优化编解码模型的目标函数,使得影响力近似矩阵中的每一个元素xi与经过解码器解码的x′i的差距尽量小,最终得到一个n×m的网络影响力特征矩阵,n表示网络中的节点个数,m表示单个节点的影响力特征维数;(7)选取拓扑图g复杂网络的影响力节点集合:从m维特征中,根据其数值大小,选择复杂网络中最具有影响力的前k个节点,该前k个节点集合使得在权重级联传播模型下,网络的影响力传播范围达到最大,完成基于深度自编码器的复杂网络节点影响力最大化。本发明基于深度自编码器的学习网络影响力特征,并通过特征找出网络中小部分节点,使得网络的影响力传播达到最大。本发明与现有技术相比具有如下优点:第一,本发明提出了一个无监督的方法用于解决影响力最大化问题,它能够挖掘出复杂网络中隐藏的深层影响力特征。通过这些特征,可以找出复杂网络中具有潜在影响力的节点;第二,本发明利用两层传播范围估计网络节点的影响力传播作为深度自动编码器的输入特征,避免了现有技术蒙特卡洛模拟方式的繁重计算量。通过构建影响力近似矩阵m,能够有效的提取复杂网络的影响力特征;第三,本发明利用编解码模型得到的节点深层影响力特征,相对于初始的复杂网络节点特征,不仅大大降低了特征维数,而且抽象出节点内在的影响力特征,能够迅速找到复杂网络中具有较大影响力的节点;第四,在不同大小规模的真实复杂网络中进行模拟实验,结果表明本发明选择的节点能够引起大范围的影响力传播,对比与现有技术,耗时较少。附图说明图1为本发明的实现结构流程图;图2为本发明与现有方法在wiki-vote网络的影响力传播比较曲线图;图3为本发明与现有方法在hamsterster网络的影响力传播比较曲线图。具体实施方式下面结合附图和实施例对本发明详细说明实施例1复杂网络是由真实世界中的各类复杂系统抽象出来的,研究复杂网络能够帮助理解网络中个体间的深层关系,而复杂网络中的影响力分析在复杂网络中有着至关重要的地位。现有技术无法挖掘复杂网络中节点的影响力特征,在选择节点过程中存在一定的盲目性,而且大多数是基于贪心算法,时间复杂度非常高,不适用于大规模网络数据处理和挖掘复杂网络节点的影响力特征。本发明对此展开研究,提出一种基于深度自编码器的复杂网络节点影响力最大化方法。参照图1,本发明的实现步骤如下:(1)构建复杂网络数据:将真实世界的复杂网络抽象为拓扑图g=(v,e),其中,g表示一个复杂网络拓扑图,v={v1,v2,…,v|v|}表示网络中节点的集合,|v|表示网络中的节点数目,e={eij|vi,vj∈e}表示网络中边的集合。比如,拓扑图中的节点对应于真实复杂网络中的个体,边表示个体间的关系;实验时,复杂网络数据也可以来自公开数据集。(2)确定复杂网络各节点的初始影响力:使用权重级联传播模型定义拓扑图g各节点的初始影响力;在某种程度上该影响力可以表征复杂网络个体的重要程度,此外,该拓扑图是由复杂网络抽象得到的。权重级联传播模型步骤如下:(2a)在t时刻,网络中的节点u被激活;(2b)在t+1时刻,节点u以概率p尝试去激活它周围的邻居节点v;(2c)重复步骤(2a)和(2b),并且每个被激活的节点仅有一次机会去激活它的邻居节点;(2d)若没有更多的节点被激活,则传播结束;(2e)输出网络中所有被激活的节点个数作为最终的影响力传播结果。(3)得到两层范围内影响力传播估计值:在权重级联传播模型下,应用lie方程得到拓扑图g复杂网络中各节点的两层范围内影响力传播范围估计值,两层范围内影响力传播估计值由初始激活节点数σ0(s),第一层影响力估计值σ1(s),第二层影响力估计值σ2(s)之和构成,该lie方程考虑了节点两层的影响力传播范围,相较于其它基于节点的一层影响力传播范围估计技术方法,本发明能够更加准确的描述复杂网络节点的影响力特征。(4)构建影响力近似矩阵:根据拓扑图g复杂网络中各节点的两层范围内影响力传播范围估计值,构建影响力近似矩阵m:m=[mij]|v|×|v|其中,mij为复杂网络中单个节点的两层影响力传播范围估计值,s={vi∪vj|vi,vj∈v},m为|v|×|v|大小的矩阵;得到拓扑图g复杂网络中各节点的影响力近似矩阵m,其中矩阵中m的每一行可视为拓扑图g中每一个节点的影响力初始特征,该影响力近似矩阵为对称矩阵,在计算时,只需计算矩阵的左下角或者右上角部分,剩余部分可由其镜像得到。(5)构建编解码模型:编解码模型由编码器和解码器两部分构成,具有层次结构,每一层是由多个神经元构成,各个层之间的神经元相互连接,解码器和编码器为全连接对称结构,编码器的最后一层神经元和解码器的第一层神经元是等效的,并定义编解码模型的目标函数,经过逐层贪心训练,训练完成后,编码器的最后一层神经元和解码器的第一层神经元视为复杂网络的影响力特征。(6)训练编解码模型,优化编解码模型的目标函数,得到复杂网络各节点的影响力特征:将影响力近似矩阵输入到编解码模型中,使用adadelta算法优化编解码模型的目标函数,使得影响力近似矩阵中的每一个元素xi与经过解码器解码的x′i的差距尽量小,最终得到一个n×m的网络影响力特征矩阵,n表示复杂网络中的节点个数,m表示单个节点的影响力特征维数;由于通过训练编解码模型的得到的节点特征维数m远远小于复杂网络中的节点个数n,有利于下一步选择具有影响力节点的技术实现。(7)根据复杂网络节点的影响力特征,选取拓扑图g复杂网络的影响力节点集合:从节点的m维特征中,依据节点特征的数值大小,选择复杂网络中最具有影响力的前k个节点,使得该前k个节点集合在权重级联传播模型下,网络的影响力传播范围达到最大,影响力最大节点集合即选择了种子节点,完成基于深度自编码器的复杂网络节点影响力最大化。本发明的技术方案是:将真实世界中的复杂网络抽象成图,并构造基于两层影响力传播范围的近似矩阵,获得节点影响力的初步特征,再利用提出的编解码模型挖掘出深层的影响力特征,最后根据特征选择网络中具有影响力的个体,从而获得大范围的影响力传播结果。实施例2基于深度自编码器的复杂网络节点影响力最大化方法同实施例1,本发明步骤3中所述的得到两层范围内影响力传播估计值,需要设置复杂网络各节点的两层影响力传播范围方程用于估计复杂网络节点的两层影响力传播范围,其影响力估计值由下方lie方程计算:其中,为节点v的邻居节点集合,s表示节点集合,k表示节点的个数,表示集合s中所有节点的邻居节点,表示集合s在两层影响力传播范围内的节点集合。可见,本发明的两层范围内影响力传播估计值即初始激活节点数σ0(s),第一层影响力估计值σ1(s),第二层影响力估计值σ2(s)的三者之和。本发明利用两层传播范围估计网络节点的影响力传播作为深度自动编码器的输入特征,避免了现有技术蒙特卡洛模拟方式的繁重计算量。通过构建影响力近似矩阵m,能够有效的提取复杂网络的影响力特征。实施例3基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-2,本发明步骤5中所述的构建编解码模型,具体包括如下步骤:(5a)构造编码器:使用relu函数f(x)=max(0,x)作为编码器的激活函数,将影响力近似矩阵m输入到编码器方程中,以单个元素xi,为例,计算获得节点影响力的深层特征z,方法如下:z=f(wxi+b)其中,w和b分别为编码器中的权重和偏置。(5b)构造解码器:使用relu函数f(x)=max(0,x)作为解码器的激活函数,将5a)中获得的节点影响力深层特征z输入到解码器,通过激活函数获得重构的影响力近似矩阵中的元素x′i:x′i=f(w′z+b′)其中,w′和b′分别为解码器中的权重和偏置。(5c)对编解码模型进行逐层贪心训练,训练完成后,得到编解码模型,其中编码器的最后一层神经元和解码器的第一层神经元视为拓扑图复杂网络的影响力特征。本发明不仅找出了最大影响力节点,还得到了节点的影响力特征,相对于初始的复杂网络节点特征,不仅大大降低了特征维数,而且抽象出了节点内在的影响力特征,能够迅速的找到复杂网络中具有较大影响力的节点。实施例4基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-3,步骤(5c)所述的逐层贪心训练的步骤如下:(5ca)将影响力近似矩阵m输入只包含一个隐藏层的编解码模型中,训练得到一个影响力特征表示。(5cb)将(5ca)得到的影响力特征表示输入下一个仅包含一个隐藏层的编解码模型,训练得到一个更深层的影响力特征表示。(5cc)依据设定的网络层数,不断重复(5cb),训练得到最终的影响力特征表示。本发明通过逐层贪心训练方法,解决了深层结构优化训练的梯度弥散和局部极值问题,有效地挖掘出复杂网络中节点的影响力特征。实施例5基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-4,步骤7中所述的使用adadelta算法优化编解码模型的目标函数,其中解码模型的目标函数的公式如下:其中,θ1={w,b}为编码器的参数,w编码器的权重,b为编码器的偏置,θ2={w′,b′}为解码器的参数,w′编码器的权重,b′为编码器的偏置。损失函数l使用kl散度,表示如下:其中dkl(p||q)描述了p和q之间的概率分布差异,可作为编解码模型的损失函数l,p表示为影响力近似矩阵的概率分布,q表示为经过编解码模型重构的影响力近似矩阵的概率分布,|v|为复杂网络中的节点个数。实施例6基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-5,步骤7中所述的选取拓扑图g复杂网络的影响力节点集合,具体包括有如下步骤:(7a)依据节点特征的数值大小对每一个节点的特征表示进行降序排序,选择前k个节点,在权重级联模型下,计算这些节点的影响力值。(7b)对于这些特征表示,取其最大的影响力值作为最终的影响力传播结果,而对应的节点,则作为最终的选择节点,最终选择的这些节点使网络的影响力传播范围达到最大,完成基于深度自编码器的复杂网络节点影响力最大化。本发明从复杂网络中抽象出节点的影响力特征,由于特征维数低,能够迅速找出复杂网络中具有重要影响力的节点。实施例7基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-6,将本发明用于供电网络中,可以利用本发明发现电网这个复杂网络中重要的节点,这些重要节点也就是本发明中具有较大影响力的节点,这些节点可能连接了电网中大部分的电力设施,针对这些重要节点加以保护,可以加强供电网络的稳定性,有利于避免大规模的电力事故。在生物复杂网络中,当大规模传染病来临时,利用本发明能够找到生物网络中易于受到病毒攻击的个体,对这些个体加强监控免疫,从而避免传染病的大规模爆发。又例如,寻找小部分有影响力的个体是市场营销中的关键问题之一,在有限的经费下,选择小部分个体来推广产品,从达到病毒式营销的效果。此外,影响力分析在“推荐系统”,“广告投放”,“舆情预警”等多个邻域中也得到了广泛应用。因此,挖掘复杂网络中具有影响力的节点具有十分重要的现实意义。在社会网络中,舆论的扩散常常不利于控制,利用本发明找到网络中具有重要影响力的个体对其重点监视管理,在一定程度上,可以有效的引导社会舆论,引导人们的意向,加强主流媒体的吸引力和号召力。本发明构造了一个编解码模型,其包含了众多的非线性单元,可以学习到节点的深层非线性影响力特征。实验结果表明,在不同网络规模的数据集下,本发明较现有技术,选择的节点能够造成更大范围的影响力传播。下面给出一个更加具体的例子,对本发明进一步说明实施例8基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-7,步骤1,将真实世界的复杂网络抽象成拓扑图g=(v,e),简称图。其中,v={v1,v2,…,v|v|}表示网络中节点的集合,|v|表示网络中的节点数目,e={eij|vi,vj∈e}表示网络中边的集合。图g中的节点对应于真实网络中的个体,边表示个体间的关系。步骤2,确定传播模型及其相关参数。(2a)确定并初始化影响力最大化问题的权重级联传播模型,设置模型中的激活概率p。(2b)根据网络规模大小,设置编解码模型的层数,以及各层的节点数。步骤3,构建影响力传播近似矩阵m。(3a)使用两层影响力传播范围估计方程lie计算近似的影响力传播值:它由初始激活节点数σ0(s),第一层影响力估计值σ1(s),第二层影响力估计值σ2(s)构成。其中,为节点v的邻居节点集合,s表示种子节点集合,k表示种子节点的个数,表示集合s中所有节点的邻居节点,表示集合s在两层影响力传播范围内的节点集合。(3b)根据lie方程,构建影响力近似矩阵m:m=[mij]|v|×|v|其中,s={vi∪vj|vi,vj∈v},m为|v|×|v|大小的矩阵。步骤4,构建编解码模型。编解码模型能够根据网络的原始输入自动学习网络的深层特征,它由编码器和解码器构成;(4a)构造编码器:采用随机的方式初始化编码器中的权重w和偏置b,使用relu函数f(x)=max(0,x)作为编码器的激活函数,将第4步中获得的影响力近似矩阵m输入到编码器方程中,以单个节点xi,为例,计算获得影响力的深层特征z,方式如下:z=f(wxi+b)。(4b)构造解码器:随机初始化解码器中的权重w′和偏置b′,使用relu函数f(x)=max(0,x)作为解码器的激活函数,将(4a)中获得的影响力特征z输入到解码器方程,获得x′ix′i=f(w′z+b′)。步骤5,优化损失函数。使用adadelta算法,优化如下目标函数,使得xi与x′i的差距尽量小:其中,θ1={w,b},θ2={w′,b′},选择kl散度作为损失函数l,kl散度表示如下:其中dkl(p||q)描述了p和q之间的概率分布差异,可作为编解码模型的损失函数l,p表示为影响力近似矩阵的概率分布,q表示为经过编解码模型重构的影响力近似矩阵的概率分布,|v|为复杂网络中的节点个数。步骤6,堆叠编解码模型。将步骤4中的单层编解码模型进行堆叠,逐层地贪心训练。(6a)将步骤3获得的影响力近似矩阵m输入只包含一个隐藏层的编解码模型中,使用步骤4、5的方法训练得到一个影响力特征表示;(6b)将(6a)得到的影响力特征表示输入下一个仅包含一个隐藏层的编解码模型,训练得到一个更深层的影响力特征表示;(6c)依据设定的网络层数,不断重复(6b),训练得到最终的影响力特征表示,一个大小为n×m的网络深层影响力特征表示矩阵,其中,n表示网络中的节点个数,m表示单个节点的影响力特征维数。步骤7,选择种子节点即影响力节点集合。(7a)依据数值大小对每一个特征表示进行降序排序,选择前k个节点,在权重级联模型下,计算这些节点的影响力值;(7b)对这些特征表示,取其最大的影响力值作为最终的影响力传播结果,而对应的节点,则作为本发明最终选择的节点。本发明提出的无监督方法用于解决复杂网络中影响力最大化问题,能够挖掘出复杂网络中隐藏的深层影响力特征。通过这些特征,可以找出复杂网络中具有潜在影响力的个体。本发明的效果可以通过以下仿真进一步说明:实施例9基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-8。1.仿真条件本实例在intel(r)xeon(r)cpue5-2620v3@2.40ghz24个核心,128g内存,采用nvidiateslak40cgpu加速神经网络训练,python3.6运行平台上,完成本发明方法的仿真实验。2.仿真实验内容1、选取现实世界中2个不同规模大小的复杂网络作为实验对象,网络规模如下表所示:表1.复杂网络结构参数网络名称节点数边数平均度数wiki-vote8892,9146.556hamsterster2,4262,42613.7102、设置图编码模型中每层神经元个数,具体设置如下:表2.编解码模型中每层神经元个数网络名称每层神经元个数wiki-vote889-500-250-100hamsterster2,426-1,000-400-2003、仿真实验内容本发明的基于深度自编码器的复杂网络节点影响力最大化方法简称为ima,与现有技术celf、pagerank、degree、random作为对比,在本例中表1所示的网络数据集中进行实验,结果如图2、3所示。图2是本发明与现有方法在wiki-vote网络的影响力传播比较曲线图,y轴表示网络中最终的激活节点个数,即复杂网络中的影响力传播值,x轴表示最初选择的节点数目k。图中圆圈表示本发明的方法ima,实心点、三角形、星号、菱形分别为现有技术celf、pagerank、degree、random方法。图2描绘了不同方法选取不同个数的网络节点,在wiki-vote网络上的影响力传播曲线。当选择的最具有影响力节点数目k小于5时,除了random以外,这些方法的表现几乎没有区别,但是随着k的增加,各种方法间的差距不断拉开。当k从1增加到15时,本发明ima在wiki-vote网络上始终具有优异的表现,此外,在大多数情况下,本发明与目前最好的技术celf相比得到的结果几乎一致,但是本发明的运行效率要远远高于celf,计算复杂度低。实施例10基于深度自编码器的复杂网络节点影响力最大化方法同实施例1-8,仿真条件和仿真内容同实施例9。图3是本发明与现有方法在hamsterster网络的影响力传播比较曲线图,y轴表示网络中最终的激活节点个数,即复杂网络中的影响力传播值,x轴表示最初选择的节点数目k。图中粗圆圈表示本发明的方法ima,实心点、三角形、星号、菱形分别为现有技术celf、pagerank、degree、random方法。图3展示了本发明在hamsterster网络中的仿真结果,当最具有影响力节点数目k从1增加到20时,本发明ima与celf在所有情况下都具有非常优异的表现。当k等于2时,ima得到的结果要优于celf,当k等于17时,celf要更胜一筹,参见图中的两个局部放大图。同时,degree选择的节点的影响力要明显劣于本发明ima以及celf、pagerank算法。本发明ima运行于gpu上,而其他现有技术运行于cpu,因此不能直接比较它们的运行时间。但从另一个角度分析,由于贪心算法的局限性,celf只能够一个一个的找出具有潜在影响力的节点,而无法根据节点本身的特征去寻找,因此寻找过程非常耗时而且不利于并行化。本发明ima通过构建两层影响力近似传播矩阵,并通过编解码模型提取出复杂网络的节点影响力特征,还得益于深度学习gpu的加速计算技术,能够迅速地提取出网络节点的深层影响力特征,具有非常优异的计算效率。简而言之,本发明公开的基于深度自编码器的复杂网络节点影响力最大化方法,解决了复杂网络影响力最大化问题。其实现步骤为:(1)构建复杂网络数据;(2)确定复杂网络各节点的初始影响力;(3)估计两层范围内影响力传播值;(4)构建复杂网络影响力近似矩阵;(5)构建编解码模型;(6)训练编解码模型,优化编解码模型的目标函数,得到复杂网络各节点的影响力特征;(7)选择复杂网络的影响力节点集合,选择最大的前k个节点作为种子节点。本发明不同于其他技术贪心地选择节点,本发明使用深度自动编码器通过无监督的方法,能够有效地挖掘出复杂网络节点的深层影响力特征,并找到具有潜在影响力的节点集合,所选择的节点能够引起大范围的影响力传播。本发明可应用于各类复杂网络,如电力网络、生物网络、社会网络,解决“推荐系统”,“广告投放”,“舆情预警”等问题。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1