信息论

資訊科技主题 信息论（英語：information theory）是应用数学、電子學和计算机科学的一个分支，涉及信息的量化、存储和通信等。信息论是由克劳德·香农发展，用来找出信号处理与通信操作的基本限制，如数据压缩、可靠的存储和数据传输等。自创立以来，它已拓展应用到许多其他领域，包括统计推断、自然语言处理、密码学、神经生物学、进化论和分子编码的功能、生态学的模式选择、热物理、量子计算、语言学、剽窃检测、模式识别、异常检测和其他形式的数据分析。 熵是信息的一个关键度量，通常用一条消息中需要存储或传输一个符号（英语：Symbol rate）的平均比特数来表示。熵衡量了预测随机变量的值时涉及到的不确定度的量。例如，指定擲硬幣的结果（两个等可能的结果）比指定掷骰子的结果（六个等可能的结果）所提供的信息量更少（熵更少）。 信息论将信息的传递作为一种统计现象来考虑，给出了估算通信信道容量的方法。信息传输和信息压缩是信息论研究中的两大领域。这两个方面又由信道编码定理、信源－信道隔离定理相互联系。 信息论的基本内容的应用包括无损数据压缩（如ZIP文件）、有损数据压缩（如MP3和JPEG）、信道编码（如数字用户线路（DSL））。这个领域处在数学、统计学、计算机科学、物理学、神经科学和電機工程學的交叉点上。信息论对航海家深空探测任务的成败、光盘的发明、手机的可行性、互联网的发展、语言学和人类感知的研究、对黑洞的了解，以及许多其他领域都影响深远。信息论的重要子领域有信源编码、信道编码、算法复杂性理论、算法信息论、資訊理論安全性和信息度量等。 信息论的主要内容可以类比人类最广泛的交流手段——语言来阐述。 一种简洁的语言（以英语为例）通常有两个重要特点： 首先，最常用的词（比如"a"、"the"、"I"）应该比不太常用的词（比如"benefit"、"generation"、"mediocre"）要短一些；其次，如果句子的某一部分被漏听或者由于噪声干扰（比如一辆车辆疾驰而过）而被误听，听者应该仍然可以抓住句子的大概意思。而如果把电子通信系统比作一种语言的话，这种健壮性（robustness）是不可或缺的。将健壮性引入通信是通过信道编码完成的。信源编码和信道编码是信息论的基本研究课题。 注意这些内容同消息的重要性之间是毫不相干的。例如，像“多谢；常来”这样的客套话與像“救命”这样的紧急请求在说起来、或者写起来所花的时间是差不多的，然而明显后者更重要，也更有实在意义。信息论却不考虑一段消息的重要性或内在意义，因为这些是数据的质量的问题而不是数据量（数据的长度）和可读性方面上的问题，后者只是由概率这一因素单独决定的。 美國數學家克劳德·香农被称为“信息论之父”。人们通常将香农于1948年10月发表于《贝尔系统技术学报（英语：Bell System Technical Journal）》上的论文《通信的数学理论（英语：A Mathematical Theory of Communication）》作为现代信息论研究的开端。这一文章部分基于哈里·奈奎斯特和拉尔夫·哈特利（英语：Ralph Hartley）於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}} 為波茲曼常數。 事實上這個關係也就是廣義的波茲曼熵公式，或是在正則系綜內的熱力學熵表示式。如此可知，玻尔兹曼与吉布斯在统计物理学中对熵的工作，啟發了信息論的熵。 信息熵是信源編碼定理中，壓縮率的下限。若編碼所用的資訊量少於信息熵，則一定有資訊的損失。香农在大數定律和渐进均分性（英语：Asymptotic equipartition property）的基础上定義了典型集（英语：Typical set）和典型序列。典型集是典型序列的集合。因為一个独立同分布的 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检验（英语：G-test）以及皮尔森卡方檢定有着密切的联系。 信息论被广泛应用在： 編碼理論 密码学 数据传输 数据压缩 检测理论 估计理论 数据加密 F. Rieke, D. Warland, R Ruyter van Steveninck, W Bialek. Spikes: Exploring the Neural Code. The MIT press. 1997. ISBN 978-0262681087.  cf. Huelsenbeck, J. P., F. Ronquist, R. Nielsen and J. P. Bollback (2001) Bayesian inference of phylogeny and its impact on evolutionary biology, Science 294:2310-2314 Rando Allikmets, Wyeth W. Wasserman, Amy Hutchinson, Philip Smallwood, Jeremy Nathans, Peter K. Rogan, Thomas D. Schneider （页面存档备份，存于互联网档案馆）, Michael Dean (1998) Organization of the ABCR gene: analysis of promoter and splice junction sequences, Gene 215:1, 111-122 Burnham, K. P. and Anderson D. R. (2002) Model Selection and Multimodel Inference: A Practical Information-Theoretic Approach, Second Edition (Springer Science, New York) ISBN 978-0-387-95364-9. Jaynes, E. T. (1957) Information Theory and Statistical Mechanics （页面存档备份，存于互联网档案馆）, Phys. Rev. 106:620 Charles H. Bennett, Ming Li, and Bin Ma (2003) Chain Letters and Evolutionary Histories （页面存档备份，存于互联网档案馆）, Scientific American 288:6, 76-81 David R. Anderson. Some background on why people in the empirical sciences may want to better understand the information-theoretic methods (PDF). November 1, 2003 [2010-06-23]. （原始内容 (pdf)存档于2011-07-23）.  香农论文：通信的数学理论 （页面存档备份，存于互联网档案馆）