信息论 (英語:information theory )是应用数学 、電子學 和计算机科学 的一个分支,涉及信息 的量化、存储和通信等。信息论是由克劳德·香农发展,用来找出信号处理与通信 操作的基本限制,如数据压缩 、可靠的存储和数据传输 等。自创立以来,它已拓展应用到许多其他领域,包括统计推断、自然语言处理、密码学 、神经生物学 、进化论和分子编码的功能、生态学 的模式选择、热物理、量子计算、语言学 、剽窃检测、模式识别 、异常检测和其他形式的数据分析 。
熵是信息的一个关键度量,通常用一条消息中需要存储或传输一个符号 的平均比特数来表示。熵衡量了预测随机变量 的值时涉及到的不确定度的量。例如,指定擲硬幣的结果(两个等可能的结果)比指定掷骰子的结果(六个等可能的结果)所提供的信息量更少(熵更少)。
信息论将信息的传递作为一种统计现象来考虑,给出了估算通信信道容量的方法。信息传输和信息压缩是信息论研究中的两大领域。这两个方面又由信道编码定理、信源-信道隔离定理相互联系。
信息论的基本内容的应用包括无损数据压缩(如ZIP文件)、有损数据压缩(如MP3和JPEG)、信道编码(如数字用户线路(DSL ))。这个领域处在数学 、统计学 、计算机科学 、物理学 、神经科学 和電機工程學 的交叉点上。信息论对航海家深空探测任务的成败、光盘的发明、手机 的可行性、互联网 的发展、语言学 和人类感知的研究、对黑洞 的了解,以及许多其他领域都影响深远。信息论的重要子领域有信源编码 、信道编码、算法复杂性理论、算法信息论、資訊理論安全性和信息度量等。
简述 信息论的主要内容可以类比人类最广泛的交流手段——语言来阐述。
一种简洁的语言(以英语 为例)通常有两个重要特点: 首先,最常用的词(比如"a"、"the"、"I")应该比不太常用的词(比如"benefit"、"generation"、"mediocre")要短一些;其次,如果句子的某一部分被漏听或者由于噪声干扰(比如一辆车辆疾驰而过)而被误听,听者应该仍然可以抓住句子的大概意思。而如果把电子通信系统比作一种语言的话,这种健壮性(robustness )是不可或缺的。将健壮性引入通信是通过信道编码完成的。信源编码和信道编码是信息论的基本研究课题。
注意这些内容同消息的重要性之间是毫不相干的。例如,像“多谢;常来”这样的客套话與像“救命”这样的紧急请求在说起来、或者写起来所花的时间是差不多的,然而明显后者更重要,也更有实在意义。信息论却不考虑一段消息的重要性或内在意义,因为这些是数据的质量的问题而不是数据量(数据的长度)和可读性方面上的问题,后者只是由概率 这一因素单独决定的。
信息的度量
信息熵 美國數學家克劳德·香农被称为“信息论之父”。人们通常将香农于1948年10月发表于《贝尔系统技术学报 》上的论文《通信的数学理论》作为现代信息论研究的开端。这一文章部分基于哈里·奈奎斯特和拉尔夫·哈特利 於1920年代先後發表的研究成果。在该文中,香农给出了信息熵的定义:
H ( X ) = E X [ I ( x ) ] = ∑ x ∈ X p ( x ) log 2 ( 1 p ( x ) ) {\displaystyle H(X)=\mathbb {E} _{X}[I(x)]=\sum _{x\in {\mathcal {X}}}^{}p(x)\log _{2}\left({\frac {1}{p(x)}}\right)} 其中X {\displaystyle {\mathcal {X}}} 為有限个事件x的集合,X {\displaystyle X} 是定义在X {\displaystyle {\mathcal {X}}} 上的随机变量。信息熵是随机事件不确定性的度量。
信息熵与物理学中的热力学熵有着紧密的联系:
S ( X ) = k B H ( X ) {\displaystyle S(X)=k_{B}H(X)} 其中S(X)為熱力學熵,H(X)為信息熵,k B {\displaystyle k_{B}} 為波茲曼常數。 事實上這個關係也就是廣義的波茲曼熵公式,或是在正則系綜內的熱力學熵表示式。如此可知,玻尔兹曼与吉布斯在统计物理学中对熵的工作,啟發了信息論的熵。
信息熵是信源編碼定理中,壓縮率的下限。若編碼所用的資訊量少於信息熵,則一定有資訊的損失。香农在大數定律和渐进均分性 的基础上定義了典型集 和典型序列。典型集是典型序列的集合。因為一个独立同分布的X {\displaystyle X} 序列属于由X {\displaystyle X} 定义的典型集的機率大約為1,所以只需要将屬於典型集的无记忆X {\displaystyle X} 信源序列编为唯一可译碼,其他序列隨意編碼,就可以達到幾乎無損失的壓縮。
例子 設有一個三個面的骰子,三面分別寫有1 , 2 , 3 {\displaystyle 1,2,3} ,X {\displaystyle X} 為擲得的數,擲得各面的概率為
P ( X = 1 ) = 1 / 5 , P ( X = 2 ) = 2 / 5 , P ( X = 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}}} 則
H ( X ) = 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 )由熵的定義出發,計算聯合分布的熵:
H ( X , Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log ( 1 p ( x , y ) ) . {\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 ) {\displaystyle p(y|x)} 計算:
H ( Y | X ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log ( 1 p ( y | x ) ) . {\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).} 由貝氏定理,有p ( x , y ) = p ( y | x ) p ( x ) {\displaystyle p(x,y)=p(y|x)p(x)} ,代入聯合熵的定義,可以分離出條件熵,於是得到聯合熵與條件熵的關係式:
H ( X , Y ) = H ( X ) + H ( Y | X ) = H ( Y ) + H ( X | Y ) = H ( Y , X ) . {\displaystyle H(X,Y)=H(X)+H(Y|X)=H(Y)+H(X|Y)=H(Y,X).}
链式法則 可以再對聯合熵與條件熵的關係做推廣,假設現在有n {\displaystyle n} 個隨機變量X i , i = 1 , 2 , . . . , n {\displaystyle X_{i},i=1,2,...,n} ,重複分離出條件熵,有:
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 ) + ∑ i = 2 n H ( X i | X 1 , . . . , X i − 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}}.} 其直觀意義如下:假如接收一段數列{ X 1 , X 2 , . . . , X n } {\displaystyle \{X_{1},X_{2},...,X_{n}\}} ,且先收到X 1 {\displaystyle X_{1}} ,再來是X 2 {\displaystyle X_{2}} ,依此類推。那麼收到X 1 {\displaystyle X_{1}} 後總訊息量為H ( X 1 ) {\displaystyle H(X_{1})} ,收到X 2 {\displaystyle X_{2}} 後總訊息量為H ( X 1 ) + H ( X 2 | X 1 ) {\displaystyle H(X_{1})+H(X_{2}|X_{1})} ,直到收到X n {\displaystyle X_{n}} 後,總訊息量應為H ( X 1 , . . . , X n ) {\displaystyle H(X_{1},...,X_{n})} ,於是這個接收過程給出了链式法則。
互信息 互信息(Mutual Information )是另一有用的信息度量,它是指两个事件集合之间的相关性。两个事件X {\displaystyle X} 和Y {\displaystyle Y} 的互信息定义为:
I ( X ; Y ) = H ( X ) − H ( X | Y ) = H ( X ) + H ( Y ) − H ( X , Y ) = H ( Y ) − H ( Y | X ) = I ( Y ; X ) . {\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 {\displaystyle Y} 包含X {\displaystyle X} 的多少資訊。在尚未得到Y {\displaystyle Y} 之前,對X {\displaystyle X} 的不確定性是H ( X ) {\displaystyle H(X)} ,得到Y {\displaystyle Y} 後,不確定性是H ( X | Y ) {\displaystyle H(X|Y)} 。所以一旦得到Y {\displaystyle Y} ,就消除了H ( X ) − H ( X | Y ) {\displaystyle H(X)-H(X|Y)} 的不確定量,這就是Y {\displaystyle Y} 對X {\displaystyle X} 的資訊量。
如果X , Y {\displaystyle X,Y} 互為獨立,則H ( X , Y ) = H ( X ) + H ( Y ) {\displaystyle H(X,Y)=H(X)+H(Y)} ,於是I ( X ; Y ) = 0 {\displaystyle I(X;Y)=0} 。
又因為H ( X | Y ) ≤ H ( X ) {\displaystyle H(X|Y)\leq H(X)} ,所以
I ( X ; Y ) ≤ min ( H ( X ) , H ( Y ) ) , {\displaystyle I(X;Y)\leq \min(H(X),H(Y)),} 其中等號成立條件為Y = g ( X ) {\displaystyle Y=g(X)} ,g {\displaystyle g} 是一個雙射函數。
互信息与G检验 以及皮尔森卡方檢定有着密切的联系。
应用