网络科学导论笔记
文章目录
网络科学的应用包括: Internet 、WWW、电力与交通网络、生物网络、经济与金融网络、社会网络、科研与教育网络等。
1. 网络的图表示
1.1 邻接矩阵
图 G G G 的邻接矩阵 A = ( a i j ) N × N A=(a_{ij})_{N×N} A=(aij)N×N 是一个 N N N 阶方阵,第 i 行第 j 列上的元素 a i j a_{ij} aij ,定义如下:
(1)加权有向图
a i j = { w i j , 如果有从顶点 i 指向顶点 j 的权值为 w i j 的边 0 , 如果没有从顶点 i 指向顶点 j 的边 a_{i j}=\left\{\begin{array}{ll} w_{i j}, & \text { 如果有从顶点 } i \text { 指向顶点 } j \text { 的权值为 } w_{i j} \text { 的边 } \\ 0, & \text { 如果没有从顶点 } i \text { 指向顶点 } j \text { 的边 } \end{array}\right. aij={wij,0, 如果有从顶点 i 指向顶点 j 的权值为 wij 的边 如果没有从顶点 i 指向顶点 j 的边
A = [ 0 3 0 0 1 3 0 1 2 0 0 3 0 0 0 0 2 0 0 1 1 0 0 1 0 ] \boldsymbol{A}=\left[\begin{array}{lllll} 0 & 3 & 0 & 0 & 1 \\ 3 & 0 & 1 & 2 & 0 \\ 0 & 3& 0 & 0 & 0 \\ 0 & 2 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 \end{array}\right] A= 0300130320010000200110010
(2)加权无向图
a i j = { w i j , 如果顶点 i 和顶点 j 的有权值为 w i j 的边 0 , 顶点 i 和顶点 j 之间没有边 a_{i j}=\left\{\begin{array}{ll} w_{i j}, & \text { 如果顶点 } i \text { 和顶点 } j \text { 的有权值为 } w_{i j} \text { 的边 } \\ 0, & \text {顶点 } i \text { 和顶点 } j \text { 之间没有边 } \end{array}\right. aij={wij,0, 如果顶点 i 和顶点 j 的有权值为 wij 的边 顶点 i 和顶点 j 之间没有边
A = [ 0 3 0 0 1 3 0 1 2 0 0 1 0 0 0 0 2 0 0 1 1 0 0 1 0 ] \boldsymbol{A}=\left[\begin{array}{lllll} 0 & 3 & 0 & 0& 1 \\ 3 & 0 & 1 & 2 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 \end{array}\right] A= 0300130120010000200110010
(3)无权有向图
a
i
j
=
{
1
,
如果有从顶点
i
指向顶点
j
有边
0
,
如果没有从顶点
i
指向顶点
j
的边
a_{i j}=\left\{\begin{array}{ll} 1, & \text { 如果有从顶点 } i \text { 指向顶点 } j \text { 有边 } \\ 0, & \text { 如果没有从顶点 } i \text { 指向顶点 } j \text { 的边 } \end{array}\right.
aij={1,0, 如果有从顶点 i 指向顶点 j 有边 如果没有从顶点 i 指向顶点 j 的边
A = [ 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 ] \boldsymbol{A}=\left[\begin{array}{lllll} 0 & 1 & 0 & 1& 1 \\ 1 & 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 1& 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 \end{array}\right] A= 0100110110010001100110010
(4)无权无向图
a
i
j
=
{
1
,
如果顶点
i
和顶点
j
的有边
0
,
顶点
i
和顶点
j
之间没有边
a_{i j}=\left\{\begin{array}{ll} 1, & \text { 如果顶点 } i \text { 和顶点 } j \text { 的有边 } \\ 0, & \text {顶点 } i \text { 和顶点 } j \text { 之间没有边 } \end{array}\right.
aij={1,0, 如果顶点 i 和顶点 j 的有边 顶点 i 和顶点 j 之间没有边
A
=
[
0
1
0
0
1
1
0
1
1
0
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
]
\boldsymbol{A}=\left[\begin{array}{lllll} 0 & 1 & 0 & 0 & 1 \\ 1 & 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 \end{array}\right]
A=
0100110110010000100110010
1.2 邻接矩阵表示连通性
(1)如果两个节点 i 和 j 之间有一条边,即 a i j = 1 a_{ij}=1 aij=1,那么就存在一条长度为 1 的路径。
(2)如果两个节点 i 和 j 之间存在一条长度为 2 的路径,那么就意味着存在另一个节点 k,使得 a i k a k j = 1 a_{ik}a_{kj}=1 aikakj=1.
- 因此,两个节点之间长度为 2 的不同路径的数量为:
N i j ( 2 ) = ∑ i = 1 N a i k a i j = ( A 2 ) i j ∗ N_{i j}^{(2)}=\sum_{i=1}^{N} a_{i k} a_{i j}=\left(A^{2}\right)_{i j^{*}} Nij(2)=i=1∑Naikaij=(A2)ij∗
(3)因此,两个节点 i 和 j 之间存在长度为 r 的不同路径的数量为:
N i j ( r ) = ( A r ) i j N_{i j}^{(r)}=\left(\boldsymbol{A}^{r}\right)_{i j} Nij(r)=(Ar)ij
2. 网络基本的拓扑性质
2.1 节点的度和网络的稀疏性
(1)度与平均度
-
无向网络中节点 i i i 的度 k i k_i ki,定义为与节点直接相连的边的数目.
-
网络中所有节点的度的平均值称为网络的平均度(Average degree),记为 < k > <k> <k>。
给定网络 G G G 的邻接矩阵 A = ( a i j ) N × N A=(a_{ij})_{N×N} A=(aij)N×N,我们有:
k i = ∑ j = 1 N a i j = ∑ j = 1 N a j i . ⟨ k ⟩ = 1 N ∑ i = 1 N k i = 1 N ∑ i , j = 1 N a i j . \begin{array}{l} k_{i}=\sum_{j=1}^{N} a_{i j}=\sum_{j=1}^{N} a_{j i} . \\\\ \langle k\rangle=\frac{1}{N} \sum_{i=1}^{N} k_{i}=\frac{1}{N} \sum_{i, j=1}^{N} a_{i j} . \end{array} ki=∑j=1Naij=∑j=1Naji.⟨k⟩=N1∑i=1Nki=N1∑i,j=1Naij.
网络节点的度与网络边数 M 之间有如下关系:
2 M = N ⟨ k ⟩ = ∑ i = 1 N k i = ∑ i , j = 1 N a i j 2 M=N\langle k\rangle=\sum_{i=1}^{N} k_{i}=\sum_{i, j=1}^{N} a_{i j} 2M=N⟨k⟩=i=1∑Nki=i,j=1∑Naij
(2)入度与出度
有向网络中节点的度包括出度(Out-degree)和入度(In-degree)。
节点的出度和入度也可以通过邻接矩阵的元素来表示:
k
i
out
=
∑
j
=
1
N
a
i
j
,
k
i
in
=
∑
j
=
1
N
a
j
i
.
k_{i}^{\text {out }}=\sum_{j=1}^{N} a_{i j}, \quad k_{i}^{\text {in }}=\sum_{j=1}^{N} a_{j i} .
kiout =j=1∑Naij,kiin =j=1∑Naji.
网络的平均出度 ( k o u t ) (k^{out}) (kout)和平均入度 ( k i n ) (k^{in}) (kin)是相同
(3)网络的稀疏性和稠密化
一个包含 N N N 个节点的网络的密度(Density) ρ \rho ρ 定义为网络中实际存在的边数 M M M 与最大可能的边数之比。
- 因此,对于无向网络,我们有
ρ = M 1 2 N ( N − 1 ) . \rho=\frac{M}{\frac{1}{2} N(N-1)} . ρ=21N(N−1)M.
- 对于有向网络,上式分母中的1/2去掉即可。
实际的大规模网络的一个通有特征就是稀疏性:网络中实际存在的边数要远小于最大可能的边数。
- 如果当 N → ∞ N→\infty N→∞ 时网络密度趋于一个非零常数,就表明网络中实际存在的边数是与 N 2 N^2 N2 同阶的,那么该网络是稠密的。
- 而如果当 N → ∞ N→\infty N→∞ 时网络密度趋于零,就表明网络中实际存在的边数是比 N 2 N^2 N2 低阶的,那么该网络就是稀疏的.
实际网络的规模一般也都是随时间而演化的,而且许多实际网络中节点和连边的数量总体上在相当长的时间里都是呈现增加趋势的。那么:随着时间的演化,网络是变得越来越稀疏,还是越来越稠密?
研究表明,许多实际网络的演化服从超线性关系,也称为稠密化幂律(Densification power law):
M
(
t
)
∼
N
α
(
t
)
,
1
<
α
<
2
M(t) \sim N^{\alpha}(t), \quad 1<\alpha<2
M(t)∼Nα(t),1<α<2
因此,实际网络会随着时间的演化而变得越来越稠密;但与稠密的全耦合网络相比,实际网络仍然是稀疏的。
上述公式两边取对数得: ln M ( t ) ≈ α ( ln N ( t ) ) + C , 1 < α < 2 \ln M(t) \approx \alpha(\ln N(t))+C, \quad 1<\alpha<2 lnM(t)≈α(lnN(t))+C,1<α<2
其中
C
C
C 为一常数。这说明
l
n
(
M
(
t
)
)
ln(M(t))
ln(M(t)) 是
l
n
(
N
(
t
)
)
ln(N(t))
ln(N(t)) 的线性函数,也就是说,如果以
l
n
(
M
(
t
)
)
ln(M(t))
ln(M(t)) 为横轴、
l
n
(
M
(
t
)
)
ln(M(t))
ln(M(t)) 为纵轴,我们应该会看到一条斜率为 α 的直线。由于横轴和纵轴都采用了对数坐标,我们称对应的坐标系为双对数坐标系
。
2.3 平均路径长度
(1)无权无向图网络情形
网络中两个节点 i 和 j 之间的最短路径(Shortest path) 也称为 测地路径(Geodesicpath),是指连接这两个节点的边数最少的路径。节点 i 和 j 之间的距离 d i j d_{ij} dij 定义为连接这两个节点的最短路径上的边的数目,也称为两个节点之间的测地距离(Geodesicdistance)或跳跃距离(Hopdistance)。
- 网络的平均路径长度(Average path length) L L L 定义为任意两个节点之间的距离的平均值,即:
L = 1 1 2 N ( N − 1 ) ∑ i ≥ j d i j . L=\frac{1}{\frac{1}{2} N(N-1)} \sum_{i\ge j} d_{i j} . L=21N(N−1)1i≥j∑dij.
- 其中网络直径可以定义为:
D = max i , j d i j D=\max _{i, j} d_{i j} D=i,jmaxdij
(2)无权有向图情形
求解加权有向网络上两点之间最短路径的经典算法是Dijkstra算法。
2.4 聚类系数
(1)无权无向网络情形
在你的朋友关系网络中,你的两个朋友很可能彼此也是朋友,这种可能性的大小反映了你的朋友圈的紧密程度。我们可以用你的 聚类系数(Clustering coefficient)
来定量刻画你的任意两个朋友之间也互为朋友的概率。
研究聚类系数的意义在于:
-
描述一个图中的某节点与其相连节点之间聚集成团的程度的一个系数。
-
一个节点的局部聚类系数体现的是其邻节点也相互连通的可能性。
假设网络中的节点 i i i 的度为 k k k.,即它有 k k k 个直接有边相连的邻居节点。如果节点 i i i 的 k k k 个邻节点之间也都两两互为邻居,那么,在些邻节点之间就存在 k ( k − 1 ) / 2 k(k-1)/2 k(k−1)/2 条边,这是边数最多的一种情形。但是,在实际情形,节点 i i i 的 k k k 个邻节点之间未必都两两互为邻居。网络中一个度为 k i k_i ki 节点 i i i 的聚类系数 C C C 定义为
C i = E i ( k i ( k i − 1 ) ) / 2 = 2 E i k i ( k i − 1 ) , C_{i}=\frac{E_{i}}{\left(k_{i}\left(k_{i}-1\right)\right) / 2}=\frac{2 E_{i}}{k_{i}\left(k_{i}-1\right)}, Ci=(ki(ki−1))/2Ei=ki(ki−1)2Ei,
- 其中, E i E_i Ei 是节点 i i i 的 k k k 个邻节点之间实际存在的边数
如果我们从另一个角度来看:
C i = 包含节点 i 的三角形的数目 以节点 i 为中心的连通三元组的数目 = ∑ j ≠ i , k ≠ j , k ≠ i a i j a i k a j k ∑ j ≠ i , k ≠ j , k ≠ i a i j a i k . C_{i}=\frac{\text { 包含节点 } i \text { 的三角形的数目 }}{\text { 以节点 } i \text { 为中心的连通三元组的数目 }}=\frac{\sum_{j \neq i, k \neq j, k \neq i} a_{i j} a_{i k} a_{j k}}{\sum_{j \neq i, k \neq j, k \neq i} a_{i j} a_{i k}} . Ci= 以节点 i 为中心的连通三元组的数目 包含节点 i 的三角形的数目 =∑j=i,k=j,k=iaijaik∑j=i,k=j,k=iaijaikajk.
也可以定义为:
C i = E i 1 2 k i ( k i − 1 ) = 1 k i ( k i − 1 ) ∑ j , k = 1 N a i j a j k a k i , C_{i}=\frac{ E_{i}}{\frac{1}{2} k_{i}\left(k_{i}-1\right)}=\frac{1}{k_{i}\left(k_{i}-1\right)} \sum_{j, k=1}^{N} a_{i j} a_{j k} a_{k i}, Ci=21ki(ki−1)Ei=ki(ki−1)1j,k=1∑Naijajkaki,
一个网络的聚类系数
C
C
C 定义为网络中所有节点的聚类系数的平均值,即:
C = 1 N ∑ i = 1 N C i . C=\frac{1}{N} \sum_{i=1}^{N} C_{i} . C=N1i=1∑NCi.
举个例子:
对于节点 1 1 1 有 E i = 3 , k i = 5 E_i=3,k_i=5 Ei=3,ki=5,于是有:
C 1 = 2 E 1 k 1 ( k 1 − 1 ) = 3 10 , C_{1}=\frac{2 E_{1}}{k_{1}\left(k_{1}-1\right)}=\frac{3}{10}, C1=k1(k1−1)2E1=103,
(2)有权网络情形
给定一个加权网络 G G G 及其邻接矩阵 A = ( a i j ) A=(a_{ij}) A=(aij) 和非负的权值矩阵 W = ( w i j ) W=(w_{ij}) W=(wij) 。聚类系数有:
C ~ i = 1 k i ( k i − 1 ) ∑ j , k w i j k a i j a i k a j k \tilde{C}_{i}=\frac{1}{k_{i}\left(k_{i}-1\right)} \sum_{j, k} w_{i j k} a_{i j} a_{i k} a_{j k} C~i=ki(ki−1)1j,k∑wijkaijaikajk
w i j k w_{ijk} wijk的限制条件:
-
当节点 i i i、 j j j 和 k k k 不构成一个三角形时,因为 a i j a j k a k i = 0 a_{ij}a_{jk}a_{ki}=0 aijajkaki=0, w i j k w_{ijk} wijk 可以取任意值。
-
为了保证 C ~ i ∈ [ 0 , 1 ] \tilde{C}_{i} \in[0,1] C~i∈[0,1] ,应该有 ω i j k ∈ [ 0 , 1 ] \omega_{i j k} \in[0,1] ωijk∈[0,1]
-
尽管有上述限制条件, ω i j \omega_{ij} ωij 的取法也是不唯一的。下面介绍几种取法:
① 取法1:把 ω i j k \omega_{ijk} ωijk取为节点 i i i 与它的两个邻节点 j j j 和 k k k 之间的两条边的权值的归一化的平均值,即:
ω i j k = 1 ⟨ w i ⟩ w i j + w i k 2 , \omega_{i j k}=\frac{1}{\left\langle w_{i}\right\rangle} \frac{w_{i j}+w_{i k}}{2}, ωijk=⟨wi⟩12wij+wik,
其中 < w > <w> <w> 是以节点 i i i 为一个端点的所有边的权值的平均值,即:
⟨ w i ⟩ = 1 k i ∑ j w i j \left\langle w_{i}\right\rangle=\frac{1}{k_{i}} \sum_{j} w_{i j} ⟨wi⟩=ki1j∑wij
代值可得:
C ~ i ( 1 ) = 1 k i ( k i − 1 ) ∑ j , k w i j + w i k 2 ⟨ w i ⟩ a i j a i k a j k . \tilde{C}_{i}^{(1)}=\frac{1}{k_{i}\left(k_{i}-1\right)} \sum_{j, k} \frac{w_{i j}+w_{i k}}{2\left\langle w_{i}\right\rangle} a_{i j} a_{i k} a_{j k} . C~i(1)=ki(ki−1)1j,k∑2⟨wi⟩wij+wikaijaikajk.
这一定义考虑了节点:与其邻节点之间的边的权值的影响,但是没有考虑节点i的两个邻节点之间的边的权值的影响。
② 取法2:把 w i j k w_{ijk} wijk 取为节点 i i i 与它的两个邻节点 j j j 和 k k k 组成的三角形的三条边的归一化权值的几何平均,即:
ω i j k = ( w ^ i j w ^ i k w ^ j k ) 1 / 3 \omega_{i j k}=\left(\hat{w}_{i j} \hat{w}_{i k} \hat{w}_{j k}\right)^{1 / 3} ωijk=(w^ijw^ikw^jk)1/3
其中 w ^ i j ∈ [ 0 , 1 ] \hat{w}_{i j} \in[0,1] w^ij∈[0,1] 为如下的归一化权值:
w ^ i j = w i j max k , l w k l . \hat{w}_{i j}=\frac{w_{i j}}{\max _{k, l} w_{k l}} . w^ij=maxk,lwklwij.
代入得到聚类系数为:
C ~ i ( 2 ) = 1 k i ( k i − 1 ) ∑ i , k ( w ^ i j w ^ i k w ^ j k ) 1 / 3 a i j a i k a j k . \tilde{C}_{i}^{(2)}=\frac{1}{k_{i}\left(k_{i}-1\right)} \sum_{i, k}\left(\hat{w}_{i j} \hat{w}_{i k} \hat{w}_{j k}\right)^{1 / 3} a_{i j} a_{i k} a_{j k} \text {. } C~i(2)=ki(ki−1)1i,k∑(w^ijw^ikw^jk)1/3aijaikajk.
如果把两个节点之间没有边等价地定义为两个节点之间的边的权值为零,上式可以等价为:
C ~ i ( 2 ) = 1 k i ( k i − 1 ) ∑ j , k ( w ^ i j w ^ i k w ^ j k ) 1 / 3 . \tilde{C}_{i}^{(2)}=\frac{1}{k_{i}\left(k_{i}-1\right)} \sum_{j, k}\left(\hat{w}_{i j} \hat{w}_{i k} \hat{w}_{j k}\right)^{1 / 3} . C~i(2)=ki(ki−1)1j,k∑(w^ijw^ikw^jk)1/3.
2.5 度分布
度分布的概念:
无向网络的度分布(Degree distribution) P ( k ) P(k) P(k) 定义为网络中一个随机选择的节点的度为 k k k 的概率。
有向网络的出度分布(Out-degree distribution) P ( k o u t ) P(k^{out}) P(kout) 定义为网络中随机选取的一个节点的出度为 k o u t k^{out} kout 的概率。
有向网络的入度分布(In-degree distribution) P ( k i n ) P(k^{in}) P(kin) 定义为网络中随机选取的一个节点的入度为 k i n k^{in} kin 的概率。
举个例子:
2.6 幂律分布
度分布和入度分布都服从幂律分布
P ( k ) ∼ k − γ , P(k) \sim k^{-\gamma} \text {, } P(k)∼k−γ,
- 其中 g a m m a > 0 gamma>0 gamma>0 为幂指数,通常取值在 2 2 2 与 3 3 3 之间
- 意味着大部分个体的取值都比较小,但是会有少数个体的取值非常大。
要验证是否存在比例常数 C 和幂指数 γ \gamma γ ,使得近似地有:
P ( k ) = C k − γ . P(k)=C k^{-\gamma} . P(k)=Ck−γ.
可以对上式两边取对数,从而有:
ln P ( k ) = ln C − γ ln k , \ln P(k)=\ln C-\gamma \ln k, lnP(k)=lnC−γlnk,
这说明 l n P ( k ) lnP(k) lnP(k) 是 l n k lnk lnk 的线性函数,也就是说,如果以 l n k lnk lnk 为横轴、 l n P ( k ) lnP(k) lnP(k) 为纵轴我们应该会看到一条斜率为 γ \gamma γ 的直线, l n C lnC lnC 为纵轴的截距.
累计度分布
如果直接在双对数坐标系的度分布图中判断是否存在幂律,会在某些度值处(特别是尾部的一些地方)有明显的类似于噪声扰动的偏差。
常见的光滑化的处理方法是绘制 累积度分布(Cumulative degree distribution)
P(k),就是网络中随机选取的一个节点的度不小于k的概率
,即有
P k = ∑ k ′ = k ∞ P ( k ′ ) P_{k}=\sum_{k^{\prime}=k}^{\infty} P\left(k^{\prime}\right) Pk=k′=k∑∞P(k′)
如果一个网络的度分布为 幂律分布
,那么累积度分布函数近似符合幂指数为
γ
\gamma
γ 的幂律:
P k = C ∑ k ′ = k ∞ k ′ − γ ≃ C ∫ k ∞ k ′ − γ d k ′ = C γ − 1 k − ( γ − 1 ) P_{k}=C \sum_{k^{\prime}=k}^{\infty} k^{\prime-\gamma} \simeq C \int_{k}^{\infty} k^{\prime-\gamma} d k^{\prime}=\frac{C}{\gamma-1} k^{-(\gamma-1)} Pk=Ck′=k∑∞k′−γ≃C∫k∞k′−γdk′=γ−1Ck−(γ−1)
采用如下的极大似然公式
直接估计幂指数:
γ = 1 + N ~ [ ∑ i ln k i k min − 0.5 ] − 1 \gamma=1+\tilde{N}\left[\sum_{i} \ln \frac{k_{i}}{k_{\min }-0.5}\right]^{-1} γ=1+N~[i∑lnkmin−0.5ki]−1
- 这里 k m i n k_{min} kmin 是使得幂律成立的度的最小值, N ~ \tilde{N} N~ 是度不小于 k m i n k_{min} kmin 的节点数
3. 度相关关系和社团结构
3.1 度相关性与同配性
4. 节点的相似性与重要性
寻找网络中的关键节点是网络科学的重要研究内容之,这里将介绍无向网络中点重要性排序的几个常用指标,包括度值
、介数
、接近数
和特征向量
。有向网络中节点重要性排序的两个经典算法——HITS
算法和PageRank
算法。
4.1 无向网络的重要性指标
(1)度中心性
在社会网络分析中,常用”中心性(Centrality)”来表示一节点位置的重要性。最直接的度量是度中心性(Degree centrality)
,即一个节点的度越大就意味着这个节点越重要。
一个包含 N N N 个节点的网络中,节点最大可能的度值为 N − 1 N-1 N−1 ,通常为便于比较而对中心性指标作归一化处理,度为k的节点的归一化的度中心性值定义为:
D C i = k i N − 1 = ∑ j = 1 N a i j N − 1 D C_{i}=\frac{k_{i}}{N-1}=\frac{\sum_{j=1}^{N} a_{i j} }{N-1} DCi=N−1ki=N−1∑j=1Naij
(2)介数中心性
如下图,从度中心性来看,节点A、B和C都比节点H重要,但是节点H是最繁忙的。
以经过某个节点的最短路径的数目来刻画节点重要性的指标就称为介数中心性(Betweeness centrality)
,简称介数(BC)
。
B C i = ∑ s ≠ i ≠ t n s t i g s t B C_{i}=\sum_{s \neq i \neq t} \frac{n_{s t}^{i}}{g_{s t}} BCi=s=i=t∑gstnsti
- 其中 g s t {g_{s t}} gst 为从节点 s s s 到节点的 t t t 最短路径的数目, n s t i n_{s t}^{i} nsti 为从节点 s s s 到节点 t t t 的 g s t {g_{s t}} gst 条最短路径中经过节点i的最短路径的数目。(如果 n s t i n_{s t}^{i} nsti = g s t {g_{s t}} gst =0,那么定义 n s t i n_{s t}^{i} nsti / g s t {g_{s t}} gst=0)。
节点介数的最大可能值是:
( N − 1 ) ( N − 2 ) 2 = N 2 − 3 N + 2 2 . \frac{(N-1)(N-2)}{2}=\frac{N^{2}-3 N+2}{2} . 2(N−1)(N−2)=2N2−3N+2.
基于上式,一个包含
N
N
N 个节点的网络中的节点
i
i
i 的归一化介数定义为
B
C
i
=
2
N
2
−
3
N
+
2
∑
s
≠
i
≠
i
n
s
t
i
g
s
t
B C_{i}=\frac{2}{N^{2}-3 N+2} \sum_{s \neq i \neq i} \frac{n_{s t}^{i}}{g_{s t}}
BCi=N2−3N+22s=i=i∑gstnsti
或者可以写成:
B C i = 1 N 2 ∑ s , t n s t i g s t B C_{i}=\frac{1}{N^{2}} \sum_{s, t} \frac{n_{s t}^{i}}{g_{s t}} BCi=N21s,t∑gstnsti
(3)接近中心性
对于网络中的每一个节点,可以计算该节点 i i i 到网络中所有节点的距离的平均值,记为 d i d_i di 即有:
d i = 1 N ∑ j = 1 N d i j , d_{i}=\frac{1}{N} \sum_{j=1}^{N} d_{i j} \text {, } di=N1j=1∑Ndij,
- 其中 d i j d_{ij} dij 是节点 i i i 到节点 j j j 的距离。
平均路径的计算公式为:
L
=
1
N
∑
i
=
1
N
d
i
.
L=\frac{1}{N} \sum_{i=1}^{N} d_{i} .
L=N1i=1∑Ndi.
d
i
d_i
di 值的相对大小也在某种程度上反映了节点i在网络中的相对重要性:
d
i
d_i
di 值越小意味着节点
i
i
i 更接近其他节点。我们把
d
i
d_i
di 的倒数定义为节点
i
i
i 的接近中心性(Closeness centrality)
,简称接近数
,用记号
C
C
i
CC_i
CCi 来表示:
C C i = 1 d i = N ∑ j = 1 N d i j C C_{i}=\frac{1}{d_{i}}=\frac{N}{\sum_{j=1}^{N} d_{i j}} CCi=di1=∑j=1NdijN
(4)特征向量中心性
特征向量中心性(Eigenvector rcentrality)
的基本想法是:一个节点的重要性既取决于其邻居节点的数量(即该节点的度),也取决于其邻居节点的重要性。
记 x i x_i xi 为节点 i i i 的重要性度量值,那么,应该有:
x i = c ∑ j = 1 N a i j x j x_{i}=c \sum_{j=1}^{N} a_{i j} x_{j} xi=cj=1∑Naijxj
- 其中 c c c 为一比例常数, A = ( a i j ) A=(a_{ij}) A=(aij) 是网络的邻接矩阵,计 x = [ x 1 x 2 ⋯ x N ] T x=[x_1 x_2 \cdots x_N]^T x=[x1x2⋯xN]T
因此上式可以写成矩阵形式:
x = c A x \boldsymbol{x}=c \boldsymbol{A} \boldsymbol{x} x=cAx
上式意味着
x
x
x 是矩阵
A
A
A 与特征值
c
−
1
c^{-1}
c−1 对应的特征向量,故此称为特征向量中心性
。
计算向量 x x x 的一个基本方法就是给定初值 x ( 0 ) x(0) x(0) ,然后采用如下选代算法:
x ( k ) = c A x ( k − 1 ) , k = 1 , 2 , … \boldsymbol{x}(k)=c \boldsymbol{A} \boldsymbol{x}(k-1), \quad k=1,2, \ldots x(k)=cAx(k−1),k=1,2,…
4.2 权威值和枢纽值:HITS算法
在考虑有向网络中节点的重要性时,边的
HITS算法的基本思想是:每个网页的重要性有两种刻画指标 —— 权威性(Authority)
和 枢纽性(Hub)
。
步骤:
(1)初始步:设定网络中所有节点的权威值和框纽值的初始值 x i ( 0 ) , y i ( 0 ) , i = 1 , 2 , … N x_i(0),y_i(0),i=1, 2, …N xi(0),yi(0),i=1,2,…N
(2)迭代过程:在第 k k k步 ( k > = 1 ) (k>=1) (k>=1)进行如下3种操作:
① 权威值校正规则:每一个节点的权威值校正为指向它的节点的枢纽值之和,即:
x i ′ ( k ) = ∑ i = 1 N a j i y j ( k − 1 ) , i = 1 , 2 , … , N ; x_{i}^{\prime}(k)=\sum_{i=1}^{N} a_{j i} y_{j}(k-1), \quad i=1,2, \ldots, N ; xi′(k)=i=1∑Najiyj(k−1),i=1,2,…,N;
② 枢纽值校正规则:每一个节点的枢纽值校正为它所指向的节点的权威值之和,即:
y i ′ ( k ) = ∑ j = 1 N a i j x j ′ ( k ) , i = 1 , 2 , … , N ; y_{i}^{\prime}(k)=\sum_{j=1}^{N} a_{i j} x_{j}^{\prime}(k), \quad i=1,2, \ldots, N ; yi′(k)=j=1∑Naijxj′(k),i=1,2,…,N;
③ 归一化:
x i ( k ) = x i ′ ( k ) ∥ x ′ ( k ) ∥ , y i ( k ) = y i ′ ( k ) ∥ y ′ ( k ) ∥ , i = 1 , 2 , … , N . x_{i}(k)=\frac{x_{i}^{\prime}(k)}{\left\|x^{\prime}(k)\right\|}, \quad y_{i}(k)=\frac{y_{i}^{\prime}(k)}{\left\|y^{\prime}(k)\right\|}, \quad i=1,2, \ldots, N . xi(k)=∥x′(k)∥xi′(k),yi(k)=∥y′(k)∥yi′(k),i=1,2,…,N.
4.3 PR值:PageRank算法
PageRank算法
的基本想法是:一个节点的重要性取决于指向它的其他节点的数量和质量。针对一般的有向网络,基本的PageRank算法
可叙述如下:
(1)初始步:给定所有节点的初始 PangeRank 值 (简称PR值)
P
R
i
(
0
)
,
i
=
1
,
2
,
…
N
.
PR_i(0), i = 1,2,…N.
PRi(0),i=1,2,…N.,满足
∑
i
=
1
N
P
R
i
(
0
)
=
1
\sum_{i=1}^{N} P R_{i}(0)=1
∑i=1NPRi(0)=1
(2)把每个节点在第 k − 1 k-1 k−1 步时的 P R PR PR值平分给它所指向的节点:
P R i ( k ) = ∑ j = 1 N a j i P R j ( k − 1 ) k j out P R_{i}(k)=\sum_{j=1}^{N} a_{j i} \frac{P R_{j}(k-1)}{k_{j}^{\text {out }}} PRi(k)=j=1∑Najikjout PRj(k−1)
但是,基本的PageRank算法可能不停地循环而无法收敛.
针对一般的有向网络,相应有如下的修正的随机行走规则:
完全随机地选择一个初始节点。如果当前所在节,点的出度大于零,那么以概率s(0<s<1)在指出去的边中随机选择一条边并沿着该边到达下一个节点,以概率1-3在整个网络上完全随机选择一个节点作为下一步要到达的点。如果当前所在节点的出度等于零,那么完全随机选择一个节点作为下一步要到达的节点。
基于以上算法,修正的PageRank算法
如下:
(1)初始步:给定所有节点的初始 PangeRank 值 (简称PR值) P R i ( 0 ) , i = 1 , 2 , … N . PR_i(0), i = 1,2,…N. PRi(0),i=1,2,…N.,满足 ∑ i = 1 N P R i ( 0 ) = 1 \sum_{i=1}^{N} P R_{i}(0)=1 ∑i=1NPRi(0)=1
(2)修正的PageRank校正规则(简称PageRank校正规则):
P R i ( k ) = s ∑ j = 1 N a ˉ j i P R j ( k − 1 ) + ( 1 − s ) 1 N , i = 1 , 2 , … , N P R_{i}(k)=s \sum_{j=1}^{N} \bar{a}_{j i} P R_{j}(k-1)+(1-s) \frac{1}{N}, \quad i=1,2, \ldots, N PRi(k)=sj=1∑NaˉjiPRj(k−1)+(1−s)N1,i=1,2,…,N
4.4 节点的相似性
(1)基于局部信息的节点相似性指标
其中 Γ ( x ) \Gamma(x) Γ(x) 为节点 x x x 的邻居节点的集合
(2)基于全局信息的节点相似性指标
① 局部路径(Local path, LP)
指标。它在共同邻居指标的基础上考虑了三阶邻居的贡献,定义如下:
S = A 2 + α A 3 , S=A^{2}+\alpha A^{3}, S=A2+αA3,
其中 α \alpha α 为可调节参数, A A A 为网络的邻接矩阵,给出了节点 x x x 和 y y y 之间长度为 n n n 的路径数。当a=0时,LP指标就等于共同邻居(CN)指标。
② Katz指标
。它考虑的是所有的路径数,且对越短的路径赋予越大的权重,定义为
s x y = ∑ l = 1 ∞ β l ( A l ) x y , s_{x y}=\sum_{l=1}^{\infty} \beta^{l}\left(A^{l}\right)_{x y}, sxy=l=1∑∞βl(Al)xy,
其中 β \beta β 为权重衰减因子。对应的相似性矩阵如下:
S = β A + β 2 A 2 + β 3 A 3 + ⋯ = ( I − β A ) − 1 − I . S=\beta A+\beta^{2} A^{2}+\beta^{3} A^{3}+\cdots=(I-\beta A)^{-1}-I . S=βA+β2A2+β3A3+⋯=(I−βA)−1−I.