有关信息论和 error-control coding 的简单介绍

    科技2022-08-18  99

    信息论


    有关信息论和 error-control coding 的简单介绍

    当一件事情可能有多种可能情况时,这件事情对某人而言,具体是哪种情况的不确定性,叫做熵。而,信息,是消除该人对该事情不确定性的事物(知识)。本问将简单介绍当年香农是如何定义熵的,为什么熵有单位以及各种各样的信息在 comminication channel 上的应用。


    一。熵是如何定义的?

    下面这段内容摘自 https://www.zhihu.com/question/22178202 返朴 的回答。 香农的信息熵本质上是对我们司空见惯的“不确定现象”的数学化度量。譬如说,如果天气预报说“今天中午下雨的可能性是百分之九十”,我们就会不约而同想到出门带伞;如果预报说“有百分之五十的可能性下雨”,我们就会犹豫是否带伞,因为雨伞无用时确是累赘之物。显然,第一则天气预报中,下雨这件事的不确定性程度较小,而第二则关于下雨的不确定度就大多了。所以,事件对某一观察者而言的不确定性越大,熵就约大。想要消除该不确定性所需的信息就越大。

    信息是一个物理量,像质量温度那样的物理量。当年定义质量温度都是先选择一个参照物,定义该参照物的质量为1千克或者温度为0摄氏度,然后再看所需测量的物体的质量和温度,相当于是多少个该参照物。所以,我们测量信息,也需要先选定一个参照物,定义为 1 比特 (或者1纳特),然后再看所需测量的物体的信息(因为信息是消除事件的不确定性的物理量,所以这里即所需测量的事件的不确定性),相当于是多少个该参照物的信息(该参照事件的不确定性)。

    二。信息熵具有下面几个性质

    1. 我们相信当所有的基本事件机会均等,即都有同样的概率1/n时,其不确定度最大。

    对于一般的不确定事件,我们怎样数学地刻画它的不确定程度呢?设想有n个“基本事件”,各自出现的概率分别为p1, p2, …, pn,则它们构成一个样本空间,可以简记为所谓的“概率数组” (p1, p2, …, pn)。样本空间最简单的例子是我们上面提到的抛硬币游戏,它只有两个基本事件:抛硬币结果是“正面朝上”或“反面朝上”,其中每个事件的概率均为 1/2,其对应的样本空间为 (1/2, 1/2)。如果铸币厂别出心裁地将硬币做成两面不对称,使得抛硬币时正面朝上的概率增加到7/10,而反面朝上的概率减少到3/10,则对应的样本空间就是 (7/10, 3/10)。如果我们用符号 H(1/2, 1/2) 来表示第一个样本空间的不确定度,用数 H(7/10, 3/10) 代表第二个样本空间的不确定度,那么直觉马上告诉我们:数 H(1/2, 1/2) 大于数 H(7/10, 3/10),也就是前者比后者更加不确定。

    2. H(1/n,1/n, … 1/n) 是自然数 n 的严格递增函数

    很好理解,可能的选择越多,越不确定,即不确定性越大。

    3. 如果一个不确定事件分解成几个持续事件,则原先事件的不确定度等于持续事件不确定度的加权和。

    4. 对固定的自然数n,不确定度函数 H 是 (p1, p2, …, pn) 的一个连续函数。

    香农证明了,满足性质 2,3,4 的函数,应该具有下述表现形式。 H(p1, p2, …, pn)

    = -C(p1 ln p1 + p2 ln p2 + … + pn ln pn), 具体推导过程以后有时间再修改。

    这里加一句,熵用来表示存储或者通讯一个(随机)符号所需要的平均比特长度。熵是对于一个特定的随机变量(概率分布)来说的。所以才会考虑,在什么情况下熵的取值最大或者最小。不确定性越大,熵就越大,克服该不确定性所需的信息量就越大; 不确定性越小,熵就越小,克服该不确定性所需的信息量就越小。

    三。 如何理解 mutual information (平均互信息度) ?

    以下内容来自 https://blog.csdn.net/BigData_Mining/article/details/81279612 在此转述一遍。

    1. 公式上

    公式上,两个离散随机变量 X X X Y Y Y 的 互信息 定义为: I ( X , Y ) = ∑ i , j p ( x i , y j ) log ⁡ p ( x i , y j ) p ( x i ) p ( y j ) I(X,Y) = \sum_{i,j} p(x_i,y_j)\log\frac{p(x_i,y_j)}{p(x_i)p(y_j)} I(X,Y)=i,jp(xi,yj)logp(xi)p(yj)p(xi,yj) 其中, p ( x i , y j ) p(x_i,y_j) p(xi,yj) 是随机变量 X X X Y Y Y 的联合概率分布函数, p ( x i ) p(x_i) p(xi) 是随机变量 X X X 的概率分布函数, p ( y j ) p(y_j) p(yj) 是随机变量 Y Y Y 的概率分布函数。 连续的情形,只需把上面公式的求和改为双重积分就可以。 I ( X , Y ) = ∬ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) d x d y I(X,Y) = \iint_{x,y} p(x,y)\log\frac{p(x,y)}{p(x)p(y)} dxdy I(X,Y)=x,yp(x,y)logp(x)p(y)p(x,y)dxdy 其中, p ( x , y ) p(x,y) p(x,y) 是随机变量 X X X Y Y Y 的联合概率密度函数, p ( x ) p(x) p(x), p ( y ) p(y) p(y) 分别是 X X X, Y Y Y 自己的概率密度函数。 从公式可以看出,互信息是对称的,同时,它也是非负的。其非负性可以通过香农的一个辅助定理来证明。有兴趣者可参考 essentials of error control coding 这本书,在此不做介绍。 如果公式中的 l o g log log 是以2为底数的话,互信息的单位是 bit / 比特。

    2. 直观上

    直观上来说,互信息反映的是,随机变量 X X X 和 随机变量 Y Y Y 之间的依赖程度。 (严格来说,X 对 Y 的依赖度,跟 Y 对 X 的依赖度,是不大一样的。但这里 互信息却具有对称性?我觉得是因为,依赖程度这个说法本身不太严密)。 在随机变量 X X X 和 随机变量 Y Y Y 独立的时候, I ( X , Y ) I(X,Y) I(X,Y) 取值为 0。 再者,注意到 I ( X , Y ) = ∑ i , j p ( x i , y j ) log ⁡ p ( x i , y j ) − ∑ i , j p ( x i , y j ) log ⁡ p ( x i ) p ( y j ) = − H ( X , Y ) + H ( X ) + H ( Y ) I(X,Y) = \sum_{i,j} p(x_i,y_j) \log p(x_i,y_j) - \sum_{i,j} p(x_i,y_j) \log p(x_i)p(y_j)\newline = -H(X,Y) + H(X) + H(Y) I(X,Y)=i,jp(xi,yj)logp(xi,yj)i,jp(xi,yj)logp(xi)p(yj)=H(X,Y)+H(X)+H(Y) 同时, I ( X , Y ) = ∑ i , j p ( x i , y j ) log ⁡ p ( x i / y j ) p ( x i ) = ∑ i , j p ( x i , y j ) log ⁡ p ( x i / y j ) − ∑ i , j p ( x i , y j ) log ⁡ p ( x i ) = − H ( X / Y ) − ∑ i p ( x i ) log ⁡ p ( x i ) = − H ( X / Y ) + H ( X ) I(X,Y) = \sum_{i,j} p(x_i,y_j) \log \frac{p(x_i/y_j)}{p(x_i)} \newline = \sum_{i,j}p(x_i,y_j) \log p(x_i/y_j) - \sum_{i,j} p(x_i,y_j) \log p(x_i) \newline = - H(X/Y) - \sum_{i} p(x_i) \log p(x_i) = -H(X/Y) + H(X) I(X,Y)=i,jp(xi,yj)logp(xi)p(xi/yj)=i,jp(xi,yj)logp(xi/yj)i,jp(xi,yj)logp(xi)=H(X/Y)ip(xi)logp(xi)=H(X/Y)+H(X) 从上面这个推导可以看出,X 和 Y 之间的互信息,是在完全习得有关 Y 的信息 (消除由于 Y 的不确定性而导致的熵),之后,该信息对于消除 X 的不确定性的量化值。 H ( X ) : H(X): H(X): 随机变量 X X X 的不确定性; H ( X / Y ) : H(X/Y): H(X/Y): 利用可以完全消除随检变量 Y Y Y的不确定性的信息,来update随机变量 X X X的不确定性。 I ( X , Y ) = H ( X ) − H ( X / Y ) : I(X,Y) = H(X) - H(X/Y): I(X,Y)=H(X)H(X/Y): 可以同时消除随机变量 X X X和随机变量 Y Y Y的不确定性的那部分信息。 有一点不太清楚,就是 H ( X , Y ) H(X,Y) H(X,Y) H ( X / Y ) H(X/Y) H(X/Y) 为什么是这样定义的? 插一句,熵是随机变量的不确定度。

    3. 平均互信息度的物理意义

    3.1 观察者站在输入端

    I ( X , Y ) = H ( X ) − H ( X / Y ) I(X,Y) = H(X) - H(X/Y) I(X,Y)=H(X)H(X/Y) H ( X ) : H(X): H(X): 输入信号 X X X的不确定度。 H ( X / Y ) : H(X/Y): H(X/Y): 观察到随机变量 Y Y Y之后,对随机变量 X X X仍然存在的不确定度。 I ( X , Y ) : I(X,Y): I(X,Y): 理想的情况,输出信号应该跟输入信号是一样的, 这里是错的,不要求输出信号跟输入信号一致,只是说,最好能相互确定。

    H ( X ) = H ( Y ) H(X)=H(Y) H(X)=H(Y), H ( X / Y ) = 0 H(X/Y)=0 H(X/Y)=0。从而 I ( X , Y ) = H ( X ) I(X,Y)=H(X) I(X,Y)=H(X) 这里之所以不一样,是因为 channel 的影响。我们是希望 H ( X / Y ) H(X/Y) H(X/Y) 取值为0的。但现实生活中,因为一些因素的影响, H ( X / Y ) H(X/Y) H(X/Y) 不是0,是在 channel 中损失的信息。

    3.2 观察者站在输出端

    I ( X , Y ) = H ( Y ) − H ( Y / X ) I(X,Y) = H(Y) - H(Y/X) I(X,Y)=H(Y)H(Y/X) H ( Y ) : H(Y): H(Y): 输出信号 Y Y Y的不确定度。 H ( Y / X ) : H(Y/X): H(Y/X): 发出随机变量 X X X之后,对随机变量 Y Y Y仍然存在的不确定度。理想情况,希望 H ( Y / X ) H(Y/X) H(Y/X)取值为0。之所以取值不为0,可理解为因为通道所产生的噪音熵。

    3.3 观察者站在 channel 上

    H ( X , Y ) : H(X,Y): H(X,Y): 整个系统所具有的不确定度。这个具体是什么意义呢? I ( X , Y ) : I(X,Y): I(X,Y): 通讯前后整个系统的不确定性的减少量。把X和Y看作是两个变量。通讯之前整个系统的不确定度是 H ( X ) + H ( Y ) H(X)+H(Y) H(X)+H(Y)。通讯之后整个系统的不确定性减少,因为观察到的一些信息。整个系统不确定性减少的量为 I ( X , Y ) I(X,Y) I(X,Y)

    通过上面的分析可以知道。信息的作用是减少不确定性。熵是不确定性的度量。 从一个事件获得另外一个事件的平均互信息需要消除不确定度,一旦消除不确定度,就获得了信息。

    4. 平均互信息度的性质

    4.1 平均互信息度非负

    4.2 平均互信息度对称

    4.3 平均互信息度是凸函数

    平均互信息量是p(xi)和p(yj /xi)的函数,即I(X;Y)=f [p(xi), p(yj /xi)];

    若固定信道,调整信源, 则平均互信息量I(X;Y)是p(xi)的函数,即I(X;Y)=f [p(xi)];

    若固定信源,调整信道, 则平均互信息量I(X;Y)是p(yj /xi)的函数,即I(X;Y)=f [p (yj /xi)]。

    平均互信息量I(X;Y)是输入信源概率分布p(xi)的上凸函数(concave function; or convext cap function)。

    平均互信息量I(X;Y)是输入转移概率分布p(yj /xi)的下凸函数(convext function; or convext cup function)。

    4.4 平均互信息度的极值性

    I ( X , Y ) ≤ H ( X ) I(X,Y) \leq H(X) I(X,Y)H(X), 同时, I ( Y , X ) ≤ H ( Y ) I(Y,X) \leq H(Y) I(Y,X)H(Y)。 因为 I ( X , Y ) I(X,Y) I(X,Y) 是从 Y Y Y获得的有关 X X X的不确定度,而 I ( Y , X ) I(Y,X) I(Y,X)是从 X X X获得的有关 Y Y Y的不确定度。有关一个随机变量的不确定度,有一个取值范围。其最大值是该随机变量的熵。

    5 如何理解信息不增原理 ?

    好像这个还蛮重要的,留待以后再补充。

    6 互信息度与其他量的关系

    I ( X ; Y ) = H ( X ) + H ( Y ) − H ( X , Y ) = H ( X , Y ) − H ( X / Y ) − H ( Y / X ) I(X;Y) = H(X)+H(Y)-H(X,Y)=H(X,Y)-H(X/Y)-H(Y/X) I(X;Y)=H(X)+H(Y)H(X,Y)=H(X,Y)H(X/Y)H(Y/X) 这里, H ( X , Y ) H(X,Y) H(X,Y) X X X Y Y Y的联合熵, H ( X / Y ) H(X/Y) H(X/Y), H ( Y / X ) H(Y/X) H(Y/X) 是条件熵。

    以下内容摘自 http://blog.foool.net/2012/09/信息论基础/

    “香农同学在1948 年年发表的论文”A Mathematical Theory of Communication” 堪称信息论的奠基之作,经典的信息论主要讲的是信息在有噪声信道中传输这个工程问题。这个理论最基本的一个贡献就是香农信源编码理论,使用了比特数来代表不确定事件的熵;另一个重要贡献是香农噪声信道编码理论,阐明了在噪声信道上的可靠通信是可能的,只要通信速率低于一个特定阈值即可,这个阈值称为信道容量。在实际系统中,信道容量可以通过适当的编码解密方法达到。”

    “编码理论关心的是如何找到确切的方法,称为编码,增加效率、减少数据在噪声信道中传输的错误率,以达到香农证明的对于该信道最大可能的通信速率。这些编码可以粗略地细分为数据压缩(信源编码)和纠错技术(信道编码)。在纠错技术中,花费了很多年才找到编码方法证实香农限是可以达到的。第三类信息论编码是加密算法。”

    “互信息量用来度量通过观察一个随机变量可以获得另外一个随机变量信息的信息量。互信息量在通信中有重要作用,比如接受方收到一个信息,那么他可以以多大的概率肯定发送方发送的就是这个消息呢?这就可以用互信息量来表示。”

    以下内容摘自 http://blog.foool.net/2012/09/信息论基础/

    “编码理论是信息论最直接也是最重要的应用。进一步可以分为信源编码理论和信道编码理论。利用数据的统计描述,信息论量化了需要描述的数据大小,也就是源信息熵。源编码即对数据进行压缩,包括无损压缩和有损压缩;信道编码常称为纠错编码,和源编码相反,通过添加冗余在噪声信道中有效的传输信息。”

    四。 如何理解 information rate ?

    待添加

    五。 如何理解 channel capacity ?

    待添加

    六。 如何理解 error-correcting codes ?

    待添加

    七。 如何理解 信息与压缩 ?

    以下内容摘选自 http://www.ruanyifeng.com/blog/2019/08/information-theory.html “”“ 很显然,不均匀分布时,某个词出现的概率越高,编码长度就会越短。

    从信息的角度看,如果信息内容存在大量冗余,重复内容越多,可以压缩的余地就越大。日常生活的经验也是如此,一篇文章翻来覆去都是讲同样的内容,摘要就会很短。反倒是,每句话意思都不一样的文章,很难提炼出摘要。

    图片也是如此,单调的图片有好的压缩效果,细节丰富的图片很难压缩。

    由于信息量的多少与概率分布相关,所以在信息论里面,信息被定义成不确定性的相关概念:概率分布越分散,不确定性越高,信息量越大;反之,信息量越小。 ”“”

    八。 信息熵

    熵,传递一个符号所需的平均编码长度,(单位是比特),其实就是信息量的度量。熵越大,表示所需的二进制位越多,即可能发生的结果越多,不确定性也就越多。

    Processed: 0.018, SQL: 9