作者:王佳鑫
本文约3500字,建议阅读10分钟介绍一篇收录在《IEEE TRANSACTIONS ON INFORMATION THEORY》的论文。
在上一篇《原创 | 结构熵理论及其应用(一)》中我们详细讲述了结构熵的研究背景、网络一维和二维结构信息的基本定理。在此基础上,本文我们将重点讲述高维结构信息、编码树、最小结构熵等核心定理。
前一篇中讲到一维结构信息通常定义为图的整个度分布的熵。具体来说,它考虑了整个图中每个节点的度分布情况,而不进行任何划分,一维结构的主要作用为非结构化数据构建自然网络。当没有对图进行任何划分时,图的结构信息熵达到最大,因为所有节点的度分布都被考虑在内,反映了整个网络的复杂性和多样性。接着,当我们对网络进行划分时,每个模块内部的度分布相对较少,熵值也相对较低,因此划分后的二维结构信息通常小于或等于不划分时的一维结构信息。那二位以上的高维信息如何定义和计算呢?
一、高维结构信息与编码树
现实世界的网络通常具有层次结构,使得网络的模块(modules)可以由多个子模块(submodules)组成,这导致二维结构信息自然扩展到高维情况。为了定义高维结构信息,我们需要引入图的分区树/编码树。
首先考虑二维编码树的情况。对于二维情况下的图G=(V,E) 和分区P=,我们通过高度为 2的分区树 T 来解释分区 P。分区树 T 是一种二叉树结构,用来表示图 G 的分区,如下图1所示。树的叶节点对应于分区 P 中的每一个子集,内部节点表示这些子集的组合关系。分区树的根节点代表整个图G,其子节点代表一级分区,叶节点代表具体的模块或节点。因此,这个高度为2的分区树 T 清晰地展示了图 G 的两个层次:整体层次(根节点)和分区层次(第二层节点)。
图1 高度为2的编码树
现在,让我们考虑如何将这个概念扩展到高维情况:对于更复杂的网络结构,我们可以构造更高的分区树。每一层代表网络的一个抽象层次。随着我们从根向叶子移动,每一层都提供更细粒度的网络结构信息。中间层的节点可以表示子模块,这些子模块本身又可以由更小的子模块组成。树的高度反映了网络的层次深度。每个非叶子节点可以看作是其子节点的一个聚合或抽象。
总结来说,编码树 T 是对 V 的分层分区进行编码的树,编码树 T 本质上是图结构的描述,T 须满足:
T 中的每个节点 α 与节点子集关联,特别地,T 的根节点 λ 与 V 关联,T 中的任意叶节点 γ 与 V 中的单个节点关联。
将 α 的高度表示为 h(α),令且,其中 α- 是 α 的父节点。
是编码树的高度。
对于每个叶子节点,叶子节点的总数恰好是|V|。
对于根节点,它包含整个顶点集V。
二、利用编码树计算图的结构信息
由上可知编码树 T 可以很好地捕捉图的层次结构和模块化特性。通过构建分区树 T,我们将图 G 分解成多个子集,每个子集对应树中的一个节点。树 T 的每个节点 α 关联一个子集,其结构信息定位为,因此总的结构信息是所有非根节点结构信息的总和。我们现在讲述如何计算和。
对于每个节点,如果,则其结构信息计算如下:
其中表示从中的节点到外的节点的边数(或边权重之和),表示子集的体积,即中所有节点度数的总和,表示父节点子集的体积。表示与其父节点子集之间的连接强度,相对于图中总边数进行归一化,这个比值可以看作是与外部子集之间关联的概率,相当于信息熵中的概率分布。表示在父节点子集中所占的比重。信息熵的一个基本性质是:对于一个事件X,其信息量可以表示为。在这里,X是子集,其信息量。
接着,将分区树中所有非根节点的结构信息累加,得到:
连通图的K维结构信息:通过找到最小树的结构信息,可以得到最优的结构信息度量,从而最精确地反映图的K维结构信息。设G是一个连通网络,我们定义G的K维结构信息如下:
其中,𝑇是高度为𝐾的所有分区树的集合。
为什么最小树的结构信息代表K维结构信息?
最小化不确定性和复杂性
- 最小化不确定性:最小树的结构信息通过最小化各层次划分的不确定性,能够最准确地描述图的层次结构。这种最小化过程相当于找到一个最优的分层划分,使得图的整体结构信息损失最小。
- 层次复杂性:最小树的结构信息捕捉了图的最重要的层次结构,而忽略了不必要的复杂性。这种最优划分能够更有效地描述图的模块化和社区结构。
信息熵的一个重要特性是其最小化过程能够找到最优的概率分布,反映系统的实际复杂性。应用到图的分区树中,最小树的结构信息实际上反映了图在给定层次划分下的最优复杂性度量。
非连通图的K维结构信息:对于每个连通分量,计算其K 维结构信息,是连通分量的体积,图𝐺的体积是所有节点度数的总和。对所有连通分量的 K 维结构信息进行加权平均,权重是每个连通分量的体积。
三、编码树的优化操作
优化编码树的目的是为了最小化图的结构信息,从而更准确地描述图的层次结构和模块化特性。以下是一些常见的优化操作,包括节点合并、分裂、迁移、删除、调整等。
1. 合并操作(Merging)
合并操作是将两个或多个相邻的子节点合并成一个节点。这种操作可以减少树的高度,简化树结构,同时在某些情况下可以减少整体结构信息。具体步骤如下:
选择两个或多个需要合并的相邻子节点。
计算合并后的节点的度数和体积。
更新树结构,重新计算相关节点的结构信息。
示例:
假设我们有一个3维编码树 𝑇:
图2 原始图
更新后树的结构:
图3 合并图
2. 分裂操作(Splitting)
分裂操作是将一个节点分裂成两个或多个子节点。这种操作在某些情况下可以更准确地捕捉局部结构,减少信息损失。具体步骤如下:
选择一个需要分裂的节点。
将该节点分裂成两个或多个子节点。
更新树结构,重新计算相关节点的结构信息。
示例:在上述树结构中,假设我们要分裂 𝑌4:将 𝑌4分裂成两个子节点 𝑍2和 𝑍3,𝑍2包含节点 {E},𝑍3包含节点 {F}。
更新后树的结构:
图4 分裂图
3. 迁移操作(Reassignment)
迁移操作是将一个子节点或叶节点从一个父节点迁移到另一个父节点。这种操作在调整树结构时可以更好地反映实际的网络模块化特性。具体步骤如下:
选择一个需要迁移的子节点或叶节点。
将该节点从当前父节点下迁移到目标父节点下。
更新树结构,重新计算相关节点的结构信息。
示例:在上述树结构中,假设我们要将节点 𝐷 从 𝑍1迁移到 𝑌3,更新树结构
图5 迁移图
4. 删除操作(Drop)
在这个阶段中,算法探索所有可能的删除操作以减少树的高度。具体步骤如下:
(1)当编码树的高度大于D时,执行以下操作:
对于每个节点𝑣𝑡,计算执行DROP操作后的结构熵变化,选择能够最小化增加结构熵的删除操作。
删除节点 𝑣𝑡,并将其子节点连接到其父节点。
(2)重复上述步骤,直到树的高度不大于D。
(3)由于DROP操作可能导致某些叶节点具有不同的高度,接下来的任务是调整叶节点的高度,使得所有叶节点具有相同的高度。
示例:我们在图4分裂图上进行删除操作,当前树的高度为4,目标是将树的高度减少到3。假设删除𝑍2,𝑍3最小化了结构熵的增加。更新后的树结构:
图6 删除图
5. 调整操作(SINGUP)
在这个阶段中,使用SINGUP操作同时修改所有叶节点的高度,使其达到指定的高度D,而不会增加图划分的结构熵。具体步骤如下:
对于每个叶节点 𝑣𝑖,判断其深度是否小于D。如果是,则重复添加父节点 𝑣𝑖′,直到𝑣𝑖的深度达到D。
通过这些操作,确保所有叶节点的高度均为D。
四、网络的动态复杂性
图 𝐺 的 𝐾 维结构信息衡量的是图在𝐾维结构上的不确定性和复杂性。这个度量可以理解为描述图的层次结构、模块化特性和其他复杂性的一个重要指标。而动态复杂性是对网络在动态行为和演化过程中的复杂性的一种度量,即图𝐺 的交互(网络中节点之间的交互方式和模式)、通信(网络中信息传递和通信的方式)、操作(网络中不同节点和模块的操作方式和相互影响)和演化(网络随着时间和环境变化的演化过程)的𝐾 维复杂性。因此,给定网络 𝐺 和自然数 𝐾,我们定义 𝐺 的 𝐾 维动态复杂性如下:
五、图的K维结构信息的基本属性
(1)非负性
K维结构信息总是非负的。这意味着图的复杂性度量不能为负值,复杂性最小可以为零,这种情况下图结构是完全确定的,没有不确定性。
(2)单调性
随着维度 𝐾 的增加,图的结构信息不会减少。这是因为更高维度的划分树可以捕捉更多的结构信息和细节,从而增加整体的不确定性和复杂性。
(3)子图不等式
对于图 𝐺 的任意子图 𝐻 和任意 𝐾,有:
子图的结构信息包含在整个图的结构信息中,一个子图的复杂性和不确定性不能超过整个图。
(4)图的同构性
若两个图𝐺和𝐻是同构的,即𝐺和𝐻具有相同的结构,则它们的K维结构信息相同:
(5)极值
对于一个完全连通的图𝐾𝑛(完全图),其K维结构信息达到最小值:
这是因为在完全图中,每个节点都与所有其他节点相连,结构完全确定,没有不确定性。
对于一个稀疏图或无连通性的图(如空图),其K维结构信息达到极大值,这取决于图的节点数和维度,达到极大值,当图的结构最复杂、不确定性最大时。
(6)可加性
对于一个由多个连通分量组成的图 𝐺,其K维结构信息可以分解为各个连通分量的K维结构信息的加权和。
到这里结构熵的相关基础理论和推导已经结束,下一章节我们将专门讲述这一两年时间中多篇顶会对结构熵的应用。
参考文献:
[1] Li A, Pan Y. Structural information and dynamical complexity of networks[J]. IEEE Transactions on Information Theory, 2016, 62(6): 3290-3339.
编辑:黄继彦
作者简介
王佳鑫,南京大学信息管理学院博士生。
数据派研究部介绍
数据派研究部成立于2017年初,以兴趣为核心划分多个组别,各组既遵循研究部整体的知识分享和实践项目规划,又各具特色:
算法模型组:积极组队参加kaggle等比赛,原创手把手教系列文章;
调研分析组:通过专访等方式调研大数据的应用,探索数据产品之美;
系统平台组:追踪大数据&人工智能系统平台技术前沿,对话专家;
自然语言处理组:重于实践,积极参加比赛及策划各类文本分析项目;
制造业大数据组:秉工业强国之梦,产学研政结合,挖掘数据价值;
数据可视化组:将信息与艺术融合,探索数据之美,学用可视化讲故事;
网络爬虫组:爬取网络信息,配合其他各组开发创意项目。
点击文末“阅读原文”,报名数据派研究部志愿者,总有一组适合你~
转载须知
如需转载,请在开篇显著位置注明作者和出处(转自:数据派THUID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。
未经许可的转载以及改编者,我们将依法追究其法律责任。
关于我们
数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。
新浪微博:@数据派THU
微信视频号:数据派THU
今日头条:数据派THU
点击“阅读原文”拥抱组织