《结构信息论》——结构信息论Ⅰ:信息处理的数学原理

信息处理的数学定义:

给定一个系统S,对于S的信息处理就是在S中区分规律和噪音。

一个基本任务就是:

从一个可观察的数据系统中编码出“规律”。

1 香农的信息论

给定一个概率分布p = (p1, p2, · · · , pn),则香农熵定义为:
在这里插入图片描述
其中 p_i 表示 i 被选中的概率,而− log2 p_i 表示 i 自己的信息量。那么求和就可以得到概率分布 p 的信息量的期望(或者说不确定性大小)。

香农的信息论是当前信息技术的理论基础,尤其在通信领域起着基石的重要作用,如下所示:

  • 它确定了信息压缩的下界——即熵;
  • 它确定了端到端的传输速率——信道容量;
  • 香农熵提出无损的信息传输是可能的。

然而香农熵在如今的信息处理或者说人工智能领域表现就不足了。主要原因为如今信息处理的对象变为真实世界的数据,真实世界的数据往往由规律和噪音组成,且是结构化的数据(图或网络)。香农信息论无法对这样的数据对象的信息处理提供理论支持,因此需要一个新的理论来支持新的信息处理。

2 挑战

  • 如何来理解信息?由上面可知,H ( p ) 是对一个概率分布的不确定性的度量。而信息就是被消除的不确定性的量(也就是信息量)。一个事件x=x的信息量为 I(x) = - log p(x);
  • 那么这就表明熵是一个对于一个事务的静态度量;而信息则是动态度量,因为还需要有一个随机选择的动作。
  • 进而提出一系列问题:信息和计算有什么关系?编码和解码在信息处理中的作用?如何应用到逻辑推理和直觉推理?如何在一个图上定义信息?如何编码一个图等等。

3 结构信息论

香农的信息论主要是针对概率分布,给出了对依据概率分布p生成的符号进行编码所需要的比特数在平均意义上的下界。然而其无法处理结构对象(图或网络)的信息,例如找出最优的通信网络结构。原因以下:

  • 如果一定要将香农熵应用于图,那么一个办法是解构图,依据图的一些性质——如度分布、距离分布等来计算出一个概率分布p,然后再用于香农熵的计算,从而得出这个图的熵。然而这种方式抛弃了图结构的一些有趣的性质,例如图中结点之间的交互和通信状态。那么这样就提出了一个问题:如何度量一个图中的信息?

2003年Brooks(图灵机获得者)提出半个世纪计算机科学重大挑战问题之一:如何度量结构信息?

已经有一些成果表明如何来编码一个图中的信息量

  1. Rashevsky, 1955:给定一个用于n个结点的图G,对于每个结点i,令 n_i 为结点 i 自同构群轨道上结点的数量,从而计算出这个图的一个概率分布,进而应用香农熵:
    在这里插入图片描述
  2. Raychaudhury et al, 1984:思路类似,都是从图中找一个分布。这里用的是任意两个结点之间的距离(最短路径),最终得出一个概率分布。
  3. Gibbs Entropy
  4. Shannon’s Entropy for Graph Models
  5. Von Neumann Entropy:用拉普拉斯矩阵的特征值的分布作为图的分布。图卷积神经网络也是采用拉普拉斯矩阵来进行消息传递计算的。

接下来我们来看一下香农熵的一个直观理解

  • 哈夫曼编码。给定一个字母表 ∑ = {1, 2, … , n} 以及一个概率分布 p = (p1, p2, … , pn),并且 i 发生的概率对应 p_i。用二进制的字符串α_i来编码字母表∑,那么这些二进制串以概率分布p计算的长度就为:
    在这里插入图片描述
    如果我们用一个二叉树T来表示这些码字,就可以得到一个编码树。而这棵编码树如果能够使得上式最小,这棵树就是哈夫曼树。直观来看,如果p_i越大,在这棵树上对应α_i的长度就越小;p_i越小,α_i就越大。哈夫曼树的构造可以通过贪心算法来实现。

而这和香农熵有什么关系呢?如果我们计算香农熵,会惊奇的发现 H( p ) 的值就是L的最小值,也就是说 H( p )给出了哈夫曼最优编码长度的一个紧确下界。

  • 小白鼠测试有毒药水这个例子也可以说明香农熵的应用。
    在这里插入图片描述
    而对于图如何来找到一个对应的编码呢?现有的一些图编码方法都是有损编码,无法编码嵌入在图中的信息。

因此这里提出编码树的概念。编码树类似于社会的层谱划分,从中央到省市再到地方,以一种树的结构来划分整个社会的体系。
在这里插入图片描述
那么依照这种思想,我们就定义了如何用编码树的方式来在一个图上进行结点划分。定义如下。

令G=(V, E)为一个无向连通图。那么我们定义图G的编码树T具有以下性质:

  1. 对于编码树T的根节点,我们将其记为 λ,那么我们就令T_λ = V,即树的根节点表示图G的所有结点的一个划分;
  2. 这里定义了编码树T中的任意一个节点α的后继节点的标记规则。α的直接后继节点定义为αˆ⟨j⟩,j∈1,2,…,n,节点编号从左到右依次递增;且每个节点(除了叶子节点)至少有两个直接后继(因为编码树T实际上是一个结点划分树,每个节点的后继代表对当前节点的一个划分,如果只有一个后继,那等于没有划分,就没有意义),所以定义αˆ⟨i⟩ < L αˆ⟨j⟩, 当且仅当 i < j;
  3. 这里定义了直接前驱的概念。对于T中的任意一个节点α,都对应着图G中的一个结点划分Tα ,即有Tα ⊂ V。假如有两个节点α 和 β,那么我们用α ⊂ β去表示α 是 β 的一个初始部分(即β由α划分而来)。那么我们就可以定义α−为,对于T中的任何节点α != λ,我们使用α−表示α的最长初始部分(也就是直接前驱,或者说父节点)。
  4. 这里定义了编码树T的高度。对于T中任意一个节点α,我们用h(α)表示其高度;并且有h(λ)=0,且对于任意的其他节点α != λ,都有h(α) = h(α−) + 1;
  5. 这里定义了节点划分的实质含义。对于编码树T中的任意一个节点α,如果对于所有的β满足 β− = α (也就是说α是父节点,β是α的子节点),那么Tα是Tβ的一个联合。因此就有Tα = ∪(β−=α) Tβ。(也可以反过来理解,每一个Tβ都是由Tα划分得来的)
  6. 对于叶子节点α,Tα表示只有一个元素{v},v是图G结点集V中的某个结点;
  7. 这里定义了标签码字的概念。编码树T中的每个节点α都对应一个节点划分Tα,而Tα是图G节点集V的一个子集,假设令Tα=X;那么我们就说α是X的一个码字,X是α的一个标签;
  8. 对于图G中的每一个结点v,都有一个对应的叶子节点α ∈ T,且有Tα = {v};那么也就表明 v 存在一个唯一的码字α;
  9. T中的每一个叶子节点都是V中唯一一个结点v的码字(一一对应)。

从而我们可以根据编码树T来定义图G由T确定的结构熵 ,如下式:
在这里插入图片描述
其中m表示图G中的边数,g_a表示从T_a结点集、连到T_a之外的边的个数(即割边数),那么g_a/2m就代表了在图G中随机游走进入T_a的概率。而V_a代表T_a中所有结点的度之和,V_a-则代表α父节点所表示的结点集中度之和。那么− log2(Vα/Vα−)就表示α相对于其父节点的不确定性。

那么整体H^T(G)就确定了在图G中进行随机游走可以访问的到的结点的码字的信息量。(也就是确定所有结点在编码树T中对应的叶子节点)

举一个例子来说明编码树和对应的结构熵计算。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果我们取遍图G所有的编码树,然后选择最小的结构熵,那么这个结构熵就被称为图G的结构熵,如下式。此时的编码树T是图G的实质结构
在这里插入图片描述
进一步我们可以定义K维结构熵,很简单,这里对编码树T的高度做了一个限制。即此时T取遍图G的所有高度不超过K的编码树,选取其中最小熵。
在这里插入图片描述

融合算子。
在这里插入图片描述
联合算子。
在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唯与痴想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值