识别社交网络中有影响力的节点:基于邻居核心的投票方法
最近引入了基于投票等级的方法来寻找种子节点。 它根据投票方案选择一组分散器,其中每个节点的投票能力相同,每个节点获得来自邻居的投票。 但我们认为每个节点的投票能力应该是不同的,并且应该取决于它在网络中的拓扑位置。 在本文中,我们提出了一个基于核心的投票 k方法称为NCVote Rank,通过在投票时考虑邻居的核心价值来寻找散布者。
背景知识
1、MDD
混合度分解(MDD)利用K-shell的概念,在K-shell分解的每一次迭代中,根据节点的剩余和移除的邻域来生成节点的影响。 在这里方法,节点中心性为:
其中,
D
r
D_r
Dr是剩余的邻居数目,
D
e
D_e
De是使用的邻居的数目,
γ
\gamma
γ是一可调节参数,
γ
∈
[
0
,
1
]
\gamma \in [0,1]
γ∈[0,1]。 然而,它给被移除的节点提供了相同的值,而不管它们在网络中的位置如何,这导致了K-shell方法性能的适度改善。为了正确估计节点的扩展能力,Bae等人认为,一个有影响力的节点有更多的邻居居住在网络的核心,他们提出了核心中心性 或邻里核心(NC),考虑其邻居的K壳值,如下所示:
其中
K
s
(
u
)
Ks(u)
Ks(u)是顶点u的K_Shell值,
N
C
(
v
)
NC(v)
NC(v)是顶点v的NC(Neighborhood coreness)值,代表了所有邻居的K-Shell值之和。 通过同时考虑所有邻域的K-Shell中心性,邻域核心(NC)方法能够根据其扩展能力对节点进行适当的排序。提出了Extended Neighborhood Coreness (ENC) :
2、vote rank投票排序算法
设每条边都与一个元组
(
S
v
,
V
a
v
)
(S_v,Va_v)
(Sv,Vav)相关,其中
S
v
S_v
Sv是顶点v的投票成绩,
V
a
v
Va_v
Vav是v的投票能力。且有:
其中
N
(
v
)
N(v)
N(v)表示v的邻居集合。投票排名中心性包括四个阶段:
(1)初始化阶段:每个顶点v用元组
(
S
v
,
V
a
v
)
(S_v,Va_v)
(Sv,Vav)初始化为(0,1),即每个节点的投票分数为0,投票能力为1。
(2) 投票阶段:投票将在这个阶段进行,其中每个节点v的票数为其近邻的投票能力之和。 获得最大投票的节点可以选择这一轮的传播者,前提是该节点没有被选择。 所选节点的投票能力将被设置为零,这确保了该所选节点不会参与后续投票轮次。
(3) 更新阶段:为了从相距很远的位置选择传播者,目前所选传播者的相邻节点在下一次迭代中要降低其投票能力的值
V
a
v
=
V
a
v
−
δ
(
i
f
V
a
v
>
δ
,
否
则
为
0
)
Va_v = Va_v - \delta(if Va_v >\delta,否则为0)
Vav=Vav−δ(ifVav>δ,否则为0)。 其中
δ
=
1
k
\delta = \frac{1}{k}
δ=k1,k为图中节点度的平均值。
(4) 迭代阶段:重复步骤(2)和(3),直到c个节点被选择为传播者,其中c为常数。
投票排序算法与度中心性、聚类等级、H指数和K-shell等相比具有较高的准确性。 它根据投票方案选择一组分散器,其中每个节点得到一个相等的 来自其邻居的投票,因此节点的程度是要选择的一个重要标准。
3.wvote rank算法
对于节点v,设其邻居i的投票能力为
V
a
i
Va_{i}
Vai,v与i之间的权重为
ω
(
v
,
i
)
\omega(v,i)
ω(v,i),则投票成绩
S
v
S_v
Sv计算方法如下:
其中,传播者的选择以及迭代方法和vote rank算法一致,对于无权网络,设置v与其邻居间的权重
ω
(
v
,
i
)
=
1
\omega(v,i)=1
ω(v,i)=1即可:
提出的方法
四个阶段:
(1)初始化阶段:每个顶点v用元组
(
S
v
,
V
a
v
)
(S_v,Va_v)
(Sv,Vav)初始化为(0,1),即每个节点的投票分数为0,投票能力为1。
(2) 投票阶段:基于网络核心中的节点可以极大地影响信息扩散的概念。 我们将每个节点的投票能力与其邻域核心(NC)值相乘。每个节点v得到一个投票,作为其近邻的投票能力之和,有以下方程:
其中
θ
\theta
θ是介于0和1之间的控制参数,
N
C
(
i
)
NC(i)
NC(i)是节点
i
i
i规范化后的邻里核心值,而
i
i
i是节点v的近邻。 对于规范化,我们使用了标准分数。 列表中变量x的标准分数的方程为:
其中
x
m
i
n
和
x
m
a
x
x_{min}和x_{max}
xmin和xmax分别是列表x的最小值和最大值。
若
θ
=
1
\theta=1
θ=1,则有公式1:
投票得分等于其所有邻居的投票能力之和。 在这种情况下,NCVote Rank与基本Vote Rank相同,若
θ
=
0
\theta=0
θ=0,则有公式2:
在这里,节点v的投票分数(Sv)等于其直接邻居的投票能力和邻域核心度乘积之和。 以这种方式,节点的投票分数值可以在网络之间变化 它的所有邻居的投票能力之和以及它的直接邻居的投票能力和邻里核心性的乘积之和。 获得最大投票的节点可以被选择为传播者,前提上一轮是没有被选中。 此外,该节点通过将其投票能力设置为零,不会参与进一步的投票回合。
(3) 更新阶段:为了实现网络中信息的最大覆盖,应该从不同的位置选择传播者。 我们假设当一个节点被选择为传播者时,它会影响它的邻居多达两跳。
δ
\delta
δ会减少距离传播者距离为2以内的所有邻居的投票能力
V
a
i
V_{ai}
Vai值:
其中
δ
=
1
k
∗
d
\delta= \frac{1}{k*d}
δ=k∗d1,k是图中所有节点度的平均值,d是传播节点v和所有不超过两个距离单位邻居节点i之间的距离(d=1,2)。 因此,当一个节点被选择为传播者时,它的所有邻居到距离2的投票能力都按照公式2更新。
(4) 迭代阶段:重复步骤(2)和(3),直到c个节点被选择为传播者,其中c为常数。