图数据挖掘:网络的常见度量属性

1 度分布

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

P(k)=Nk/N(kN)

我们有:kNP(k)=1
对于下面这个网络:

迁移学习和多任务学习之间的区别

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

迁移学习和多任务学习之间的区别

2 路径

2.1 图的路径

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

Pn={i0,i1,i2,,in}Pn={(i0,i1),(i1,i2),(i2,i3),,(in1,in)}

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

迁移学习和多任务学习之间的区别

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

2.2 路径的条数

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

  • 长度 h=1(这里的h可理解为跳数hops)的路径计数矩阵: 只需要考察uv之间是否存在长度为1的链接,即

    Huv(1)=Auv

  • 长度 h=2的路径计数矩阵: 需要考察uv之间是否存在长度为2的路径,即对满足AukAkv=1k进行计数。

    Huv(2)=k=1NAukAkv=[A2]uv

  • 长度 h的路径计数矩阵: 需要考察uv之间是否存在长度为h的路径,即对满足Auk1Ak1k2.Akh1v=1的所有k1,k2,,kh1序列进行计数。

    Huv(h)=[Ah]uv

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

2.3 距离

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

迁移学习和多任务学习之间的区别

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

迁移学习和多任务学习之间的区别

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

2.4 平均路径长度

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

h¯=12Emaxi,jihij

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

2.5 寻找最短路径

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

  • 从节点u开始,将其标注为hu(u)=0,并将其加入队列。
  • 当队列不为空时:
    • 将队首元素v移出队列,将其未标注的邻居加入队列并标注为hu(w)=hu(v)+1
    • 循环往复。
迁移学习和多任务学习之间的区别

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

3 节点中心性

节点i的中心性(centrality)可以用于度量节点i的重要程度。节点的中心性有许多种类,下面我们介绍介数中心性(betweeness centrality)和接近中心性(closeness centrality)。

3.1 介数中心性

介数中心性基于这样一个思想:如果一个节点在许多其它节点之间的最短路径上,那么这个节点就是重要的。于是我们可以将节点i的介数中心性定义为:

cv=svt#( shortest paths betwen s and t that contain v)#( shortest paths between s and t)

以下面这个图为例:
迁移学习和多任务学习之间的区别

cA=cB=cE=0cC=3(A-C-B,A-C-D,A-C-D-E)cD=3(A-C-D-E,B-D-E,C-D-E)

3.2 接近中心性

接近中心性基于这样一个思想:如果一个节点到其它所有节点的最短路径长度都很小,那么这个节点就是重要的。于是我们可以将节点i的接近中心性定义为:

cv=1uv shortest path length between u and v

还是以上面那个图为例,在该图中有:

cA=1/(2+1+2+3)=1/8(A-C-B,A-C,A-C-D,A-C-D-E)cD=1/(2+1+1+1)=1/5(D-C-A,D-B,D-C,D-E)

4 聚类系数

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

Ci=2eiki(ki1)

这里ei为节点i邻居之间的边数,我们有Ci[0,1]。下面展示了聚类系数的一些实例:
迁移学习和多任务学习之间的区别

迁移学习和多任务学习之间的区别

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

C=1NiNCi

5 真实世界网络的属性

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

迁移学习和多任务学习之间的区别

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

迁移学习和多任务学习之间的区别

度分布
迁移学习和多任务学习之间的区别

其度分布高度倾斜,平均度为14.4

log-log度分布

迁移学习和多任务学习之间的区别

聚类系数

这里为了方便出图,我们定义横坐标为度k,对应的纵坐标Ck为度为k的节点的聚类系数Ci的平均值,即Ck=1Nki:ki=kCi

迁移学习和多任务学习之间的区别

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

距离分布

迁移学习和多任务学习之间的区别

其中平均路径长度为6.690%的节点可以在8跳之内到达。

参考

[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] 《图论概念梳理》

posted @   orion-orion  阅读(1129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示