信息论

/ 计算数学 / 0 条评论 / 70浏览

信息论(英语:information theory)是应用数学、电子学和计算机科学的一个分支,涉及信息的量化、存储和通信等。信息论是由克劳德·香农发展,用来找出信号处理与通信操作的基本限制,如数据压缩、可靠的存储和数据传输等。自创立以来,它已拓展应用到许多其他领域,包括统计推断、自然语言处理、密码学、神经生物学[1]、进化论[2]和分子编码的功能[3]、生态学的模式选择[4]、热物理[5]、量子计算、语言学、剽窃检测[6]、模式识别、异常检测和其他形式的数据分析。[7]

熵是信息的一个关键度量,通常用一条消息中需要存储或传输一个符号的平均比特数来表示。熵衡量了预测随机变量的值时涉及到的不确定度的量。例如,指定掷硬币的结果(两个等可能的结果)比指定掷骰子的结果(六个等可能的结果)所提供的信息量更少(熵更少)。

信息论将信息的传递作为一种统计现象来考虑,给出了估算通信信道容量的方法。信息传输和信息压缩是信息论研究中的两大领域。这两个方面又由信道编码定理、信源-信道隔离定理相互联系。

信息论的基本内容的应用包括无损数据压缩(如ZIP文件)、有损数据压缩(如MP3和JPEG)、信道编码(如数字用户线路(DSL))。这个领域处在数学、统计学、计算机科学、物理学、神经科学和电机工程学的交叉点上。信息论对航海家深空探测任务的成败、光盘的发明、手机的可行性、互联网的发展、语言学和人类感知的研究、对黑洞的了解,以及许多其他领域都影响深远。信息论的重要子领域有信源编码、信道编码、算法复杂性理论、算法信息论、信息论安全性和信息度量等。

目录 1 简述 2 信息的度量 2.1 信息熵 2.1.1 例子 2.2 联合熵与条件熵 2.2.1 链式法则 2.3 互信息 3 应用 4 参考文献 5 外部链接 简述 信息论的主要内容可以类比人类最广泛的交流手段——语言来阐述。

一种简洁的语言(以英语为例)通常有两个重要特点: 首先,最常用的词(比如"a"、"the"、"I")应该比不太常用的词(比如"benefit"、"generation"、"mediocre")要短一些;其次,如果句子的某一部分被漏听或者由于噪声干扰(比如一辆车辆疾驰而过)而被误听,听者应该仍然可以抓住句子的大概意思。而如果把电子通信系统比作一种语言的话,这种健壮性(robustness)是不可或缺的。将健壮性引入通信是通过信道编码完成的。信源编码和信道编码是信息论的基本研究课题。

注意这些内容同消息的重要性之间是毫不相干的。例如,像“多谢;常来”这样的客套话与像“救命”这样的紧急请求在说起来、或者写起来所花的时间是差不多的,然而明显后者更重要,也更有实在意义。信息论却不考虑一段消息的重要性或内在意义,因为这些是数据的质量的问题而不是数据量(数据的长度)和可读性方面上的问题,后者只是由概率这一因素单独决定的。

信息的度量 信息熵 美国数学家克劳德·香农被称为“信息论之父”。人们通常将香农于1948年10月发表于《贝尔系统技术学报》上的论文《通信的数学理论》作为现代信息论研究的开端。这一文章部分基于哈里·奈奎斯特和拉尔夫·哈特利于1920年代先后发表的研究成果。在该文中,香农给出了信息熵的定义:

� ( � )

� � [ � ( � ) ]

∑ � ∈ � � ( � ) log 2 ⁡ ( 1 � ( � ) ) {\displaystyle H(X)=\mathbb {E} _{X}[I(x)]=\sum _{x\in {\mathcal {X}}}^{}p(x)\log _{2}\left({\frac {1}{p(x)}}\right)} 其中 � {\mathcal {X}}为有限个事件x的集合, � X是定义在 � {\mathcal {X}}上的随机变量。信息熵是随机事件不确定性的度量。

信息熵与物理学中的热力学熵有着紧密的联系:

� ( � )

� � � ( � ) {\displaystyle S(X)=k_{B}H(X)} 其中S(X)为热力学熵,H(X)为信息熵, � � k_{B}为波兹曼常数。 事实上这个关系也就是广义的波兹曼熵公式,或是在正则系综内的热力学熵表示式。如此可知,玻尔兹曼与吉布斯在统计物理学中对熵的工作,启发了信息论的熵。

信息熵是信源编码定理中,压缩率的下限。若编码所用的信息量少于信息熵,则一定有信息的损失。香农在大数定律和渐进均分性的基础上定义了典型集和典型序列。典型集是典型序列的集合。因为一个独立同分布的 � X序列属于由 � X定义的典型集的概率大约为1,所以只需要将属于典型集的无记忆 � X信源序列编为唯一可译码,其他序列随意编码,就可以达到几乎无损失的压缩。

例子 设有一个三个面的骰子,三面分别写有 1 , 2 , 3 {\displaystyle 1,2,3}, � X为掷得的数,掷得各面的概率为

� ( �

1 )

1 / 5 , � ( �

2 )

2 / 5 , � ( �

3 )

2 / 5 , {\displaystyle {\begin{aligned}\mathbb {P} (X=1)&=1/5,\\mathbb {P} (X=2)&=2/5,\\mathbb {P} (X=3)&=2/5,\end{aligned}}} 则

� ( � )

1 5 log 2 ⁡ ( 5 ) + 2 5 log 2 ⁡ ( 5 2 ) + 2 5 log 2 ⁡ ( 5 2 ) ≈ 1.522. {\displaystyle H(X)={\frac {1}{5}}\log _{2}(5)+{\frac {2}{5}}\log _{2}\left({\frac {5}{2}}\right)+{\frac {2}{5}}\log _{2}\left({\frac {5}{2}}\right)\approx 1.522.} 联合熵与条件熵 联合熵(Joint Entropy)由熵的定义出发,计算联合分布的熵:

� ( � , � )

∑ � ∈ � ∑ � ∈ � � ( � , � ) log ⁡ ( 1 � ( � , � ) ) . {\displaystyle H(X,Y)=\sum _{x\in {\mathcal {X}}}\sum _{y\in {\mathcal {Y}}}^{}p(x,y)\log \left({\frac {1}{p(x,y)}}\right).} 条件熵(Conditional Entropy),顾名思义,是以条件概率 � ( � | � ) p(y|x)计算:

� ( � | � )

∑ � ∈ � ∑ � ∈ � � ( � , � ) log ⁡ ( 1 � ( � | � ) ) . {\displaystyle H(Y|X)=\sum _{x\in {\mathcal {X}}}\sum _{y\in {\mathcal {Y}}}^{}p(x,y)\log \left({\frac {1}{p(y|x)}}\right).} 由贝叶斯理论,有 � ( � , � )

� ( � | � ) � ( � ) {\displaystyle p(x,y)=p(y|x)p(x)},代入联合熵的定义,可以分离出条件熵,于是得到联合熵与条件熵的关系式:

� ( � , � )

� ( � ) + � ( � | � )

� ( � ) + � ( � | � )

� ( � , � ) . {\displaystyle H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y)=H(Y,X).} 链式法则 可以再对联合熵与条件熵的关系做推广,假设现在有 � n个随机变量 � � , �

1 , 2 , . . . , � {\displaystyle X_{i},i=1,2,...,n},重复分离出条件熵,有:

� ( � 1 , � 2 , . . . , � � )

� ( � 1 ) + � ( � 2 , . . . , � � | � 1 )

� ( � 1 ) + � ( � 2 | � 1 ) + � ( � 3 , . . . , � � | � 1 , � 2 )

� ( � 1 ) + ∑ �

2 � � ( � � | � 1 , . . . , � � − 1 ) . {\displaystyle {\begin{aligned}H(X_{1},X_{2},...,X_{n})&=H(X_{1})+H(X_{2},...,X_{n}|X_{1})\&=H(X_{1})+H(X_{2}|X_{1})+H(X_{3},...,X_{n}|X_{1},X_{2})\&=H(X_{1})+\sum {i=2}^{n}H(X{i}|X_{1},...,X_{i-1})\end{aligned}}.} 其直观意义如下:假如接收一段数列 { � 1 , � 2 , . . . , � � } {\displaystyle {X_{1},X_{2},...,X_{n}}},且先收到 � 1 X_1,再来是 � 2 X_2,依此类推。那么收到 � 1 X_1后总信息量为 � ( � 1 ) {\displaystyle H(X_{1})},收到 � 2 X_2后总信息量为 � ( � 1 ) + � ( � 2 | � 1 ) {\displaystyle H(X_{1})+H(X_{2}|X_{1})},直到收到 � � X_{n}后,总信息量应为 � ( � 1 , . . . , � � ) {\displaystyle H(X_{1},...,X_{n})},于是这个接收过程给出了链式法则。

互信息 互信息(Mutual Information)是另一有用的信息度量,它是指两个事件集合之间的相关性。两个事件 � X和 � Y的互信息定义为:

� ( � ; � )

� ( � ) − � ( � | � )

� ( � ) + � ( � ) − � ( � , � )

� ( � ) − � ( � | � )

� ( � ; � ) . {\displaystyle I(X;Y)=H(X)-H(X|Y)=H(X)+H(Y)-H(X,Y)=H(Y)-H(Y|X)=I(Y;X).} 其意义为, � Y包含 � X的多少信息。在尚未得到 � Y之前,对 � X的不确定性是 � ( � ) {\displaystyle H(X)},得到 � Y后,不确定性是 � ( � | � ) {\displaystyle H(X|Y)}。所以一旦得到 � Y,就消除了 � ( � ) − � ( � | � ) {\displaystyle H(X)-H(X|Y)}的不确定量,这就是 � Y对 � X的信息量。

如果 � , � X,Y互为独立,则 � ( � , � )

� ( � ) + � ( � ) {\displaystyle H(X,Y)=H(X)+H(Y)},于是 � ( � ; � )

0 I(X;Y)=0。

又因为 � ( � | � ) ≤ � ( � ) {\displaystyle H(X|Y)\leq H(X)},所以

� ( � ; � ) ≤ min ( � ( � ) , � ( � ) ) , {\displaystyle I(X;Y)\leq \min(H(X),H(Y)),} 其中等号成立条件为 �

� ( � ) {\displaystyle Y=g(X)}, � g是一个双射函数。

互信息与G检验以及皮尔森卡方检验有着密切的联系。

应用 信息论被广泛应用在:

编码理论 密码学 数据传输 数据压缩 检测理论 估计理论 数据加密