基于结构相似性的影响力节点识别
众所周知,复杂网络中的有影响力节点的识别很重要。本文是基于PageRank方法以及节点的结构相似性(通过kullback-Liebler散度计算 )提出的PageRank改进算法。实验部分利用SIR模型进行验证。
1、背景知识
1.1、K–L divergence(k-l 散度)
k-l 散度是概率论和信息论中的一个基本概念,度量两个概率
之间差异的非对称方法。对于两个概率P和Q,它们之间的k-l散度定义为:
其中P和Q都有着相同的组成元素,n为上述的两个可能性组成的元素个数。
1.2、pagerank算法
pagerank通过在网络上随机行走来识别网站的重要性。Pagerank假定网页的重要性是由与之相连的网页的数量和质量决定的。 最初,每个节点(即页面)具有相同的PR值。 然后每个节点将PR值均匀地分配给其邻居,节点vi在t步骤的PR值为:
其中n是网络中的节点数,
k
j
o
u
t
k_j^{out}
kjout是节点
v
j
v_j
vj的出度。 当所有节点的PR值达到稳态时,迭代将停止。 s是系数,它指的是到达某一页并在任何时候继续向后浏览的概率。
2、提出的方法
2.1 结构相似性
本文将每个节点的结构特征抽象为概率分布。 采用K-L散度来量化每一对节点之间的差异。 K-L散度值越小,其局部结构越相似。
2.1.1 概率集的生成
节点i的结构用 L i ( N , D ) L_i(N, D) Li(N,D)表示,其中N表示节点i的局部节点集合(节点及其邻居节点),D表示N中节点的度。整个复杂网络中所有节点的最大度表示为 D m a x D_{max} Dmax, P i P_i Pi表示节点i的概率分布,用来计算k-l散度值。每个概率分布的维度相同,这里我们将节点概率分布的维度定义为 m = D m a x + 1 m=D_{max}+1 m=Dmax+1,概率分布则定义为:
节点i及其邻居的度之和则通过下面的公式得到:
当节点的度小于最大的度
D
m
a
x
D_{max}
Dmax时,剩下的概率分布则等于0。
p
(
i
,
k
)
p(i, k)
p(i,k)定义如下:
举个栗子,下图中
D
m
a
x
=
3
D_{max}=3
Dmax=3,所以节点的概率分布维度为4,节点2的邻居为1,4,5,
N
=
[
2
,
1
,
4
,
5
]
,
D
=
[
3
,
2
,
3
,
1
,
D
l
(
2
)
=
3
+
2
+
3
+
1
=
9
]
,
p
=
[
3
9
,
2
9
,
3
9
,
1
9
]
N = [2,1,4,5], D=[3,2,3,1,D_{l}(2)=3+2+3+1=9],p=[\frac{3}{9},\frac{2}{9},\frac{3}{9},\frac{1}{9}]
N=[2,1,4,5],D=[3,2,3,1,Dl(2)=3+2+3+1=9],p=[93,92,93,91]。
2.1.2 使用改进的PageRank进行影响力的排序
首先对刚刚得到的p进行降序排列,得到:
继续上面的例子,则2号节点的下一步操作为:
所有节点的概率分布表格如下:
由于概率分布中可能出现0,这里统一规定当分母为0时统一用
1
0
−
8
10^{-8}
10−8代替。k-l 散度在这里的计算d方法为:
其中
m
′
=
m
i
n
(
D
(
i
)
,
D
(
j
)
)
+
1
m^{'}=min(D(i), D(j))+1
m′=min(D(i),D(j))+1。每两个节点之间的k-l散度代表了该两个节点之间的结构差异,该值越小,则两个节点之间的相似度越高。通过计算两两节点之间的k-l散度值,我们将会得到矩阵R:
由于k-l散度是非对称性的,然而在无权网络中每对节点的值应当是对称的,故将每对节点的关联值定义为:
之后每对节点的相似性即可定义为:
得到相似性矩阵为:
节点之间的结构相似性越高,相邻节点之间的转换概率越高。放上示例图中每个节点的概率分布,小伙伴们可自己动手验证一下。目前为止,我们便得到了PageRank算法中用到的转换矩阵。接下来用pagerank算法计算即可。