1

图数据挖掘(二):网络的常见度量属性 - orion-orion

 1 year ago
source link: https://www.cnblogs.com/orion-orion/p/16850617.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

图数据挖掘(二):网络的常见度量属性 - orion-orion - 博客园

网络的度分布p(k)p(k)表示了一个随机选择的节点拥有度kk的概率。我们设度为kk的节点数目Nk=♯ nodes with degree kNk=♯ nodes with degree k,除以节点数量NN则可得到归一化后的概率质量分布:

P(k)=Nk/N(k∈N)P(k)=Nk/N(k∈N)

我们有:∑k∈NP(k)=1∑k∈NP(k)=1。
对于下面这个网络:

o_b9787859.png

其归一化后的度分布直方图可表示如下:

o_3385229d.png

2.1 图的路径

图的路径(path)指一个节点序列,使得序列中的每个节点都链接到序列中的下一个节点(注意:这里的术语不同教材不一样,有的教材把这里的路径定义为漫游(walk),而将术语“路径”保留给简单路径)。路径可以用以下方式进行表示:

Pn={i0,i1,i2,…,in}Pn={(i0,i1),(i1,i2),(i2,i3),…,(in−1,in)}Pn={i0,i1,i2,…,in}Pn={(i0,i1),(i1,i2),(i2,i3),…,(in−1,in)}

一个路径可以通过经过同一条边多次而和它自身相交。如下面这个图中更多路径ABDCDEG就和自身相交。

o_221102022051_%E8%B7%AF%E5%BE%84%E4%BE%8B%E5%AD%90.png

注意,在有向图中路径只能沿着边的方向。

2.2 路径的条数

路径的条数定义为节点uu和vv之间的路径数量。我们发现邻接矩阵的幂和路径的条数之间有着关系。

  • 长度 h=1h=1(这里的h可理解为跳数hops)的路径计数矩阵: 只需要考察uu和vv之间是否存在长度为11的链接,即
    H(1)uv=AuvHuv(1)=Auv
  • 长度 h=2h=2的路径计数矩阵: 需要考察uu和vv之间是否存在长度为22的路径,即对满足AukAkv=1AukAkv=1的kk进行计数。
    H(2)uv=∑k=1NAukAkv=[A2]uvHuv(2)=∑k=1NAukAkv=[A2]uv
  • 长度 hh的路径计数矩阵: 需要考察uu和vv之间是否存在长度为hh的路径,即对满足Auk1Ak1k2….Akh−1v=1Auk1Ak1k2….Akh−1v=1的所有⟨k1,k2,⋯,kh−1⟩⟨k1,k2,⋯,kh−1⟩序列进行计数。
    H(h)uv=[Ah]uvHuv(h)=[Ah]uv

上述结论对有向图和无向图都成立。上述定理解释了如果uu和vv之间存在最短路径,那么它的长度就是使AkuvAuvk非零的最小的kk。
进一步推论可知,在一个nn个节点的图中找到所有最短路径的一个简单方法是一个接一个地对图的邻接矩阵AA做连续的幂计算,知道第n−1n−1次,观察使得每一个元素首次变为正值的幂计算。这个思想在Folyd-Warshall最短路径算法中有着重要应用应用。

2.3 距离

图中两个节点之间的距离(distance)定义为两个点最短路径中的边数(如果两个点没有连通,距离通常定义为无穷大)。
如对下面这个图我们有BB、DD之间的距离HB,D=2HB,D=2,AA、XX之间的距离hA,X=∞hA,X=∞。

o_221102022750_%E8%B7%AF%E5%BE%84%E6%95%B0%E9%87%8F%E4%BE%8B%E5%AD%901.png

注意,在有向图中距离必须沿着边的方向。这导致有向图中的距离不具有对称性。比如下面这个图中我们就有hA,C≠hC,AhA,C≠hC,A。

o_221102022801_%E8%B7%AF%E5%BE%84%E6%95%B0%E9%87%8F%E4%BE%8B%E5%AD%902.png

我们定义两两节点之间距离的最大值为图的直径(diameter)。

2.4 平均路径长度

无向连通图(连通分量)或有向强连通图(强连通分量)的平均路径长度(average path length)定义为:

h¯=12Emax∑i,j≠ihijh¯=12Emax∑i,j≠ihij

这里hijhij是节点ii到jj的距离。Emax=n(n−1)2Emax=n(n−1)2,这里2Emax2Emax中的系数22可要可不要,不同教材定义方法不一样。
在计算平均路径长度时,我们通常只计算连通节点之间的距离(也即忽略长度为“无穷”的路径)

2.5 寻找最短路径

对于无权图,我们可以由宽度优先搜索(BFS)搜寻图的最短路径。

  • 从节点uu开始,将其标注为hu(u)=0hu(u)=0,并将其加入队列。
  • 当队列不为空时:
    • 将队首元素vv移出队列,将其未标注的邻居加入队列并标注为hu(w)=hu(v)+1hu(w)=hu(v)+1。
    • 循环往复。

o_221102023112_%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E4%BE%8B%E5%AD%90.png

对于带权图,我们当然就得寻求Dijkstra、Bellman-Ford等算法啦,此处不再赘述.

3 聚类系数

节点ii的聚类系数(clustering coefficient)可以直观地理解为节点ii的邻居有多大比例是互相连接的。设节点ii的度为kiki,则其聚类系数CiCi定义为

Ci=2eiki(ki−1)Ci=2eiki(ki−1)

这里eiei为节点ii邻居之间的边数,我们有Ci∈[0,1]Ci∈[0,1]。下面展示了聚类系数的一些实例:

o_221102023123_%E8%81%9A%E7%B1%BB%E7%B3%BB%E6%95%B0%E4%BE%8B%E5%AD%90.png

o_221102023339_%E8%81%9A%E7%B1%BB%E7%B3%BB%E6%95%B0%E4%BE%8B%E5%AD%902.png

图的平均聚类系数(average clustering coefficient)定义为:

C=1N∑iNCiC=1N∑iNCi

4 真实世界网络的属性

接下来我们来看一MSN收发信息网络(有向)的实例。

o_221102023453_MSN.png

该网络中245 million用户注册,180 million用户参与了聊天,拥有超过30 billion个回话。超过 255 billion条交互信息。
连通性

o_221102023739_MSN%E8%BF%9E%E9%80%9A%E6%80%A7.png

度分布

o_221102023804_MSN%E5%BA%A6%E5%88%86%E5%B8%83.png

其度分布高度倾斜,平均度为14.414.4。

log-log度分布

o_221102023829_MSN%E5%AF%B9%E6%95%B0%E5%8C%96%E5%BA%A6%E5%88%86%E5%B8%83.png

聚类系数

这里为了方便出图,我们定义横坐标为度kk,对应的纵坐标CkCk为度为kk的节点的聚类系数CiCi的平均值,即Ck=1Nk∑i:ki=kCiCk=1Nk∑i:ki=kCi。

o_221102024044_%E8%81%9A%E7%B1%BB%E7%B3%BB%E6%95%B0.png

整个网络的平均聚类系数为0.110.11。

距离分布

o_221102024141_%E7%9B%B4%E5%BE%84.png

其中平均路径长度为6.66.6,90%90%的节点可以在88跳之内到达。

[1] http://web.stanford.edu/class/cs224w/
[2] Easley D, Kleinberg J. Networks, crowds, and markets: Reasoning about a highly connected world[M]. Cambridge university press, 2010.
[3] Barabási A L. Network science[J]. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 2013, 371(1987): 20120375.
[4] 《图论概念梳理》

__EOF__


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK