图的结构熵
What Is The Problem ?
衡量图的熵值有好多种方式,比如吉布斯熵、香农熵、冯·诺依曼熵等。
如果我们通过一个网络模型去优化得到一个图模型,那么这个图模型的熵可以这么算:
H
S
=
−
∑
G
∈
S
p
(
G
)
l
o
g
p
(
G
)
H_S=-\sum_{G\in S}p(G)logp(G)
HS=−∑G∈Sp(G)logp(G), 称为:网络模型的结构熵(Structural Entropy of Models of Networks)
其中: p ( G ) p(G) p(G) 是图 G G G (更准确地说,是指同构集合)的概率; S S S 是一个同构集合的集合,即 S S S 中的元素(是一个同构集合)都是同构 (isomorphic) 的,需要注意的是,一个空间中的所有同构集合构成空间的一个分划 (partition).
这样,不难理解 H s H_s Hs 的计算分为以下步骤:
- 去结构化: 定义 G G G 的概率分布,可以用度 (degree) 的概率分布,也可以用距离的概率分布等
- 香农信息: I = H ( p ) I=H(p) I=H(p)
- 图的信息:就是 I I I.
那么问题来了,这个衡量方式 (metric) 有很多问题:
- 去结构化:丢失了图的结构信息!
- 香农信息:从一个简单的数字 I I I 上,我们能够得到的信息是很有限的
如何解决呢?
At The Beginning
Graph
在解决问题前,我们先规定好一些假定。
- 图是结构化的,但是有噪音
- 图是演化(迭代优化)来的
- 图的演化(迭代优化)由一些准则 (rules)控制
- 图的演化(迭代优化)也会带有随机变动 (random variations)
Goals
我们要解决的目标是:
- 如何表示图的演化(迭代优化)的随机性?
- 图是由 rules 和 random variations 联合作用生成的,如何确切地提取由 rules 控制生成的部分?
- 我们可以区分这两个部分吗?即分别由 rules 和 random variations 生成了两个部分。
Structural Entropy
原论文中的内容很多,很复杂,这里删繁就简,就其中的精华的主体的部分做一个简单的总结。
One-Dimensional
连通无向等权重
我们从一维开始。给定一个图,每个节点是一维的,共有 n n n 个节点。先讨论最简单的情况:连通无向等权重图:连通图 + 无向边 + 所有边等权重。
在图上进行一个随机游走(Random Walk),这就是一个马尔可夫链了。因为等权重,这个马尔可夫链的转移概率就是均分的。有一个定理是这样的:对于连通无向图来说,这个马尔可夫链必定存在一个稳定的分布。我们就假设到达这个稳定分布就好了,不考虑过渡分布。
这个稳定分布是什么呢?通过细致平稳条件很容易就能证明:
p i = d i 2 m , i = 1 , 2 , . . . , n p_{i}=\frac{d_{i}}{2 m}, i={1, 2, ..., n} pi=2mdi,i=1,2,...,n
自然地,可以想到用熵来表示这个结构信息。
H 1 ( G ) = H ( p ) = H ( d 1 2 m , … , d n 2 m ) = − ∑ i = 1 n d i 2 m ⋅ log 2 d i 2 m . \begin{aligned} \mathcal{H}^{1}(G) &=H(\mathbf{p})=H\left(\frac{d_{1}}{2 m}, \ldots, \frac{d_{n}}{2 m}\right) \\ &=-\sum_{i=1}^{n} \frac{d_{i}}{2 m} \cdot \log _{2} \frac{d_{i}}{2 m} . \end{aligned} H1(G)=H(p)=H(2md1,…,2mdn)=−i=1∑n2mdi⋅log22mdi.
i i i 是节点下标, m m m 是边的数量, d i d_i di 是节点的度。
这个公式也叫 位置熵 (positioning entropy).
连通无向带权重
接下来扩展到带权值的情况,其实很简单,只需要改变一下 d i d_i di 与 m m m
对于节点 u u u : d u = ∑ v ∈ N ( u ) w ( ( u , v ) ) d_{u}=\sum_{v \in N(u)} w((u, v)) du=∑v∈N(u)w((u,v)) ,这里 w ( ⋅ , ⋅ ) w(·,·) w(⋅,⋅) 是边的权重, N ( u ) N(u) N(u) 是邻居。
对于总和 m m m : V o l ( G ) = ∑ v ∈ V d v Vol(G) = \sum_{v\in V}d_v Vol(G)=∑v∈Vdv
这个时候的 p i p_i pi : p u = d u vol ( G ) p_{u}=\frac{d_{u}}{\operatorname{vol}(G)} pu=vol(G)du
所以总的来说变化不大:
H 1 ( G ) = H ( p ) = H ( d 1 vol ( G ) , … , d n vol ( G ) ) = − ∑ i = 1 n d i vol ( G ) log 2 d i vol ( G ) \begin{aligned} \mathcal{H}^{1}(G) &=H(\mathbf{p})=H\left(\frac{d_{1}}{\operatorname{vol}(G)}, \ldots, \frac{d_{n}}{\operatorname{vol}(G)}\right) \\ &=-\sum_{i=1}^{n} \frac{d_{i}}{\operatorname{vol}(G)} \log _{2} \frac{d_{i}}{\operatorname{vol}(G)} \end{aligned} H1(G)=H(p)=H(vol(G)d1,…,vol(G)dn)=−i=1∑nvol(G)dilog2vol(G)di
连通有向
简单起见,用等权重的情况说明,带权重情况下的推导与上述同理。
其实直接上公式就能明白: H 1 ( G ) : = − ∑ v ∈ V d v i n m log 2 d v i n m \mathcal{H}^{1}(G):=-\sum_{v \in V} \frac{d_{v}^{i n}}{m} \log _{2} \frac{d_{v}^{i n}}{m} H1(G):=−∑v∈Vmdvinlog2mdvin,这里的新符号是入度。
不连通
简单起见,用无向的情况说明,其他的推导与上述同理。
这个时候的结构熵,是所有连通子图的结构熵的加权平均:
H 1 ( G ) = 1 Vol ( G ) ∑ j = 1 L Vol ( G j ) ⋅ H 1 ( G j ) \mathcal{H}^{1}(G)=\frac{1}{\operatorname{Vol}(G)} \sum_{j=1}^{L} \operatorname{Vol}\left(G_{j}\right) \cdot \mathcal{H}^{1}\left(G_{j}\right) H1(G)=Vol(G)1∑j=1LVol(Gj)⋅H1(Gj)
Two-Dimensional
简单起见,我们不再讨论不连通的情况。即:下述都是连通的。
等权值
我们基于划分去搞,设图的划分为 P = { X 1 , X 2 , ⋯ , X L } \mathcal{P}=\left\{X_{1}, X_{2}, \cdots, X_{L}\right\} P={X1,X2,⋯,XL},这个集合的每个元素叫做一个 module 或 community. 则:
H P ( G ) = ∑ j = 1 L V j 2 m ⋅ H ( d 1 ( j ) V j , … , d n j ( j ) V j ) − ∑ j = 1 L g j 2 m log 2 V j 2 m = − ∑ j = 1 L V j 2 m ∑ i = 1 n j d i ( j ) V j log 2 d i ( j ) V j − ∑ j = 1 L g j 2 m log 2 V j 2 m , \begin{aligned} \mathcal{H}^{\mathcal{P}}(G) &=\sum_{j=1}^{L} \frac{V_{j}}{2 m} \cdot H\left(\frac{d_{1}^{(j)}}{V_{j}}, \ldots, \frac{d_{n_{j}}^{(j)}}{V_{j}}\right)-\sum_{j=1}^{L} \frac{g_{j}}{2 m} \log _{2} \frac{V_{j}}{2 m} \\ &=-\sum_{j=1}^{L} \frac{V_{j}}{2 m} \sum_{i=1}^{n_{j}} \frac{d_{i}^{(j)}}{V_{j}} \log _{2} \frac{d_{i}^{(j)}}{V_{j}}-\sum_{j=1}^{L} \frac{g_{j}}{2 m} \log _{2} \frac{V_{j}}{2 m}, \end{aligned} HP(G)=j=1∑L2mVj⋅H(Vjd1(j),…,Vjdnj(j))−j=1∑L2mgjlog22mVj=−j=1∑L2mVji=1∑njVjdi(j)log2Vjdi(j)−j=1∑L2mgjlog22mVj,
V j V_j Vj 是 X j X_j Xj 的节点数量, g j g_j gj 是恰有一个端点在 X j X_j Xj 而另一个端点不在的边的数量。
这个公式的前一项是 inner 的,表示划分内部的熵值;后一项是 inter 的,表示划分之间的熵值。
带权值
同理,
H P ( G ) = ∑ j = 1 L V j vol ( G ) ⋅ H ( d 1 ( j ) V j , … , d n j ( j ) V j ) − ∑ j = 1 L g j vol ( G ) log 2 V j vol ( G ) = − ∑ j = 1 L V j vol ( G ) ∑ i = 1 n j d i ( j ) V j log 2 d i ( j ) V j − ∑ j = 1 L g j vol ( G ) log 2 V j vol ( G ) \begin{aligned} \mathcal{H}^{\mathcal{P}}(G)=& \sum_{j=1}^{L} \frac{V_{j}}{\operatorname{vol}(G)} \cdot H\left(\frac{d_{1}^{(j)}}{V_{j}}, \ldots, \frac{d_{n_{j}}^{(j)}}{V_{j}}\right) \\ &-\sum_{j=1}^{L} \frac{g_{j}}{\operatorname{vol}(G)} \log _{2} \frac{V_{j}}{\operatorname{vol}(G)} \\=&-\sum_{j=1}^{L} \frac{V_{j}}{\operatorname{vol}(G)} \sum_{i=1}^{n_{j}} \frac{d_{i}^{(j)}}{V_{j}} \log _{2} \frac{d_{i}^{(j)}}{V_{j}} \\ &-\sum_{j=1}^{L} \frac{g_{j}}{\operatorname{vol}(G)} \log _{2} \frac{V_{j}}{\operatorname{vol}(G)} \end{aligned} HP(G)==j=1∑Lvol(G)Vj⋅H(Vjd1(j),…,Vjdnj(j))−j=1∑Lvol(G)gjlog2vol(G)Vj−j=1∑Lvol(G)Vji=1∑njVjdi(j)log2Vjdi(j)−j=1∑Lvol(G)gjlog2vol(G)Vj
有向
同理,
H P ( G ) : = − ∑ j = 1 L vol ( V j ) m ∑ v ∈ V j d v in vol ( V j ) log 2 d v in vol ( V j ) − ∑ v ∈ V j g j m log 2 vol ( V j ) m \begin{aligned} \mathcal{H}^{\mathcal{P}}(G):=&-\sum_{j=1}^{L} \frac{\operatorname{vol}\left(V_{j}\right)}{m} \sum_{v \in V_{j}} \frac{d_{v}^{\text {in }}}{\operatorname{vol}\left(V_{j}\right)} \log _{2} \frac{d_{v}^{\text {in }}}{\operatorname{vol}\left(V_{j}\right)} \\ &-\sum_{v \in V_{j}} \frac{g_{j}}{m} \log _{2} \frac{\operatorname{vol}\left(V_{j}\right)}{m} \end{aligned} HP(G):=−j=1∑Lmvol(Vj)v∈Vj∑vol(Vj)dvin log2vol(Vj)dvin −v∈Vj∑mgjlog2mvol(Vj)
一般形式
H 2 ( G ) = min P { H P ( G ) } \mathcal{H}^{2}(G)=\min _{\mathcal{P}}\left\{\mathcal{H}^{\mathcal{P}}(G)\right\} H2(G)=minP{HP(G)}
规范化形式
τ ( G ) = H 2 ( G ) H 1 ( G ) \tau(G)=\frac{\mathcal{H}^{2}(G)}{\mathcal{H}^{1}(G)} τ(G)=H1(G)H2(G)
High-Dimensional
还是基于划分,但是,一般的,我们采取这样的划分方式:
- 用树对图做划分,称为划分树
- 树的高度不要高于维度
首先,我们做个划分,一般是从根的 successor 做划分,一直划分下去,直至满足层数要求。我们可以把这样一个通过划分得到的树的路径看作是一个 Random Walk 的路径,并不妨假设他是马尔可夫链的平稳分布状态,OK,那么把上面说的泛化到高维就好了。
然后,假设我们在其中一个划分的元素 (即一个 module/community) T \mathcal{T} T 上:
H T ( G ; α ) = − g α 2 m log 2 V α V α − H^{\mathcal{T}}(G ; \alpha)=-\frac{g_{\alpha}}{2 m} \log _{2} \frac{V_{\alpha}}{V_{\alpha^{-}}} HT(G;α)=−2mgαlog2Vα−Vα,其中, α ∈ T \alpha \in \mathcal{T} α∈T 并且 α ≠ λ \alpha \neq \lambda α=λ, λ \lambda λ 表示树的根部, α − \alpha^- α− 表示 α \alpha α 的 predecessor.
规定, T α = ∪ β − = α T β T_{\alpha}=\cup_{\beta^{-}=\alpha} T_{\beta} Tα=∪β−=αTβ ( β \beta β 表示节点), T β T_{\beta} Tβ 表示和 β \beta β 有关联的 V V V 的子集。那么这里的:
V α V_{\alpha} Vα 表示 T α T_{\alpha} Tα 的 V o l Vol Vol (Volume). g α g_{\alpha} gα 表示从 T α T_{\alpha} Tα 内节点到 T α T_{\alpha} Tα 外节点的边的数量。
所以,对于一个划分树来说, H T ( G ) = ∑ α ∈ T , α ≠ λ H T ( G ; α ) \mathcal{H}^{\mathcal{T}}(G)=\sum_{\alpha \in \mathcal{T}, \alpha \neq \lambda} H^{\mathcal{T}}(G ; \alpha) HT(G)=∑α∈T,α=λHT(G;α)
最终, H K ( G ) = min T { H T ( G ) } \mathcal{H}^{K}(G)=\min _{\mathcal{T}}\left\{\mathcal{H}^{\mathcal{T}}(G)\right\} HK(G)=minT{HT(G)}, 这就是高维情况下的图的结构熵。
如果带权重的话,就是: H T ( G ) = − ∑ α ∈ T , α ≠ λ g α vol ( V ) log vol ( α ) vol ( α − ) \mathcal{H}^{\mathcal{T}}(G)=-\sum_{\alpha \in \mathcal{T}, \alpha \neq \lambda} \frac{g_{\alpha}}{\operatorname{vol}(V)} \log \frac{\operatorname{vol}(\alpha)}{\operatorname{vol}\left(\alpha^{-}\right)} HT(G)=−∑α∈T,α=λvol(V)gαlogvol(α−)vol(α)
Structural Information
给定一个图 G G G, 一个自然数 K K K,一个高度为 K K K 的划分树 T \mathcal{T} T ,一个正数 δ ≤ 1 \delta\le1 δ≤1
则结构化信息为: I K ( G ) = H K ( G ) \mathcal{I^K}(G)=H^K(G) IK(G)=HK(G)
Knowledge Tree 定义为 : T = a r g m i n T H T ( G ) \mathcal{T}=argmin_{\mathcal{T}}\mathcal{H}^{\mathcal{T}}(G) T=argminTHT(G)
δ − \delta- δ−Knowledge Tree T \mathcal{T} T 定义为: H T ( G ) ≤ 1 δ ⋅ H K ( G ) \mathcal{H}^{\mathcal{T}}(G) \leq \frac{1}{\delta} \cdot \mathcal{H}^{K}(G) HT(G)≤δ1⋅HK(G)
Reference
Structural Information and Dynamical Complexity of Networks
本文探讨了图的结构熵的概念,包括一维、二维及高维情况下的计算方法。从连通无向等权重图开始,逐步扩展到带权重、有向图以及不连通图的结构熵计算。同时,介绍了结构信息的定义,并提到了结构化信息在图的随机性和规则性分析中的作用。

1189

被折叠的 条评论
为什么被折叠?



