[发明专利]基于社交网络层级结构的影响最大化种子集建立方法有效
申请号: | 201811037119.0 | 申请日: | 2018-09-06 |
公开(公告)号: | CN109508415B | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 李侃;李玲玲 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06Q50/00 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 鲍文娟 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 社交 网络 层级 结构 影响 最大化 种子 建立 方法 | ||
1.基于社交网络层级结构的影响力最大化种子集建立方法,其特征在于:包括以下步骤:
步骤1、输入社交网络的节点和边、目标种子节点数以及传播概率;其中,信源节点包含在节点内;
其中,信源节点,记为vs;种子节点数最大值,记为K;传播概率,记为pp;网络记为G(V,E),其中,V表示节点的集合,E表示边的集合,节点的个数记为n=|V|;
步骤2、遍历所有节点,求两个节点之间的一阶邻近度和二阶邻近度,然后计算其他节点相对于信源节点的紧密程度,最后将计算好的节点紧密程度按照降序排列,具体为以下三个子步骤:
步骤2.1、遍历所有节点,求一阶邻近度和二阶邻近度,具体地,分别根据公式(1)和(2)求一阶邻近度和二阶邻近度:
其中,S1ij表示节点vi和节点vj之间的一阶邻近度,S2ij表示节点vi和节点vj之间的二阶邻近度;Aij表示节点vi和节点vj之间是否存在边,如果存在,则Aij=1,否则,Aij=0;di表示节点vi的度数;N(i)和N(j)分别表示节点vi和vj的邻居节点集合;
步骤2.2、计算其他节点相对于信源节点的紧密程度,具体根据公式(3)计算:
其中,其他节点是指除信源节点vs以外的网络节点;紧密程度,记为表示在t步之内从节点vi游走到节点vs的概率,初始化当vi=vs时,否则,其中t的取值范围为从1到T的整数,T表示从节点vi游走到信源节点vs的最长步数;当vi=vs时,Qij=0,否则,Qij=pij;
其中,pij表示节点vi和vj之间的转移概率,具体根据公式(4)计算:
pij=αS1ij+(1-α)S2ij (4)
其中,α(α∈[0,1])表示一阶邻近度和二阶邻近度的调参因子;
pij相对应的矩阵P就叫做转移矩阵;Q等同于除Qsi=0之外的转移矩阵P;
步骤2.3、将计算好的节点紧密程度按照降序排列,将排序后的节点序列记为L;
步骤3、初始化层级数为1,另各层级的断点为-1,层级结构的稳定性为0,然后计算所有层级之内,前x个节点的紧密程度的不一致性的最小值,具体为:
层级数记为M,各层级的断点记为gMx,层级结构的稳定性记为FLM,x的取值范围为从1到n的整数;根据公式(5),计算前M个层级之内,前x个节点的紧密程度的不一致性的最小值f1x:
f1x=min{f0,x′+cost(x′+1,x)},x′=0,…,x-1 (5)
其中f0,x′=0,cost(x′,x)表示拟合从第x′个节点到第x个节点这部分顺序的最小残差,它由公式(6)计算得到:
其中,z=x,...,x,y(z)表示第z个节点的拟合函数,Lz表示第z个节点的紧密程度,y(z)由公式(7)计算得到:
y(z)=ωz+b (7)
其中,ω和b分别表示拟合函数的一阶系数和常数项,分别由公式(8)(9)计算得到:
其中h表示拟合函数采样的节点数,h=x-x′+1;
步骤4、将层级数M自增1,计算M个层级之内,前x个节点的紧密程度不一致性的最小值fMx,各层级的断点gMx以及层级结构稳定性FLM,fMx,gMx和FLM分别由公式(10)、(11)和(12)计算得到:
fMx=min{fM-1,x′+cost(x′+1,x)},x′=M-1,…,x-1 (10)
其中,和分别表示M层中,处于同一层级的节点之间的边数,及处于不同层级的节点之间的边数,argmin表示取得不一致最小值时的节点序号x′,将其作为前M个层级内,前x个节点的断点;
步骤5、判断层级数为M时,网络结构稳定性是否比层级数为M-1的网络结构稳定性高,若比前一次高,则记录更新的层级划分结果,重复步骤四;否则,停止迭代,层级划分完成,此时划分好的网络层级为level1,...,levelm,...,levelM,进行步骤六;
步骤6、初始化每个层级的种子节点集合以及整个网络的种子节点集为空集初始化在前m个层级中,挖掘第k个种子节点的影响程度R[m,k],即,当m=0时,R[0,k]=0,当k=0时,R[m,0]=0;初始化在前m个层级中,挖掘第k个种子节点所在层级的符号函数s[m,k],即,当m=0时,s[0,k]=0;当k=1时,进行步骤7;
其中,每个层级的种子节点集合以及整个网络的种子节点集分别记为I1,...,Im,...,IM和I;m的取值范围为从0到M的整数,k的取值范围为从0到K的整数;
步骤7、计算在前m个层级中,挖掘第k个种子节点的影响程度R[m,k],计算在前m个层级中,挖掘第k个种子节点所在层级的符号函数s[m,k]记为atm;在atm层中,寻找使影响程度增加最大的那个节点vmax作为第k个种子节点,添加到种子集和I中,具体为:
步骤7.1、分别用公式(13)和公式(14)计算在前m个层级中,挖掘第k个种子节点的影响程度R[m,k],计算在前m个层级中,挖掘第k个种子节点所在层级的符号函数s[m,k];
R[m,k]=max{R[m-1,k],R[M,k-1]+ΔRm},Rm[m,0]=0,Rm[0,k]=0 (13)
其中,ΔRm表示在m层中,影响程度的最大增量,由公式(15)计算得到:
ΔRm=max{Rm(Ik-1∪{j})-Rm(Ik-1)|j∈levelm} (15)
其中j表示层级levelm中的一个节点,Ik-1表示在第k-1步中,m层所对应的种子节点集合,Rm表示m层所对应的种子节点集合的影响比例,由公式(16)计算得到:
其中,Ik表示第k步,m层所对应的种子节点集合;σ(Ik)表示集合Ik所期望影响的节点个数,它由公式(17)计算得到:
其中,NB(Ik)表示集合Ik的一跳域;r(v)表示网络中与集合Ik中的节点有边连接,且在集合Ik中的节点个数;NB(Ik)和r(v)分别由公式(18)和(19)计算得到:
r(v)=|{u|u∈Ik,uv∈E}| (19)
当m从0自增到M之后,即可得到第k个种子节点所在的层级s[M,k],记为atm=s[M,k];
步骤7.2、在atm层中,寻找使影响程度增加最大的那个节点vmax作为第k个种子节点,添加到种子集和I中;
其中,vmax由公式(20)计算得到;
添加vmax到种子集和I中时,分别由公式(21)和(22)进行操作:
I=I∪{vmax} (22)
步骤8、k自增1,判断k是否不大于K,如果是,则重复步骤7;否则,进行步骤9;
步骤9、输出每个层级的种子节点集合I1,...,Im,...,IM以及整个网络的种子节点集I。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811037119.0/1.html,转载请声明来源钻瓜专利网。