關於信息論中熵、相對熵、條件熵、互信息、典型集的一些思考

1. 緒論

0x1:信息論與其餘學科之間的關係

信息論在統計物理(熱力學)、計算機科學(科爾莫戈羅夫複雜度或算法複雜度)、統計推斷(奧卡姆剃刀,最簡潔的解釋最佳)以及機率和統計(關於最優化假設檢驗與估計的偏差指數)等學科中都具備奠定性的貢獻。以下圖html

這個小節,咱們簡要介紹信息論及其關聯的思想的前因後果,提綱挈領地給出一個總的框架。算法

1. 電子工程(通訊理論)

香農(shannon)證實了只要通訊速率低於信道容量,總可使偏差機率接近於零。同時,香農還進一步討論了諸如音樂和語音等隨機信號都有一個不可再下降的複雜度。聽從熱力學的習慣,他將這個臨界複雜度命名爲熵,而且討論了當信源的熵小於信道容量時,能夠實現漸進無偏差通訊。網絡

若是將全部可能的通訊方案當作一個集合,那麼信息論描繪了這個集合的兩個臨界值:框架

  • 左臨界值:數據壓縮達到最低程度的方案,全部數據壓縮方案所需的描述速率不得低於該臨界值
  • 右臨界值:數據傳輸速率達到最大的方案,臨界值即信道容量,全部調製方案的極限傳輸速率都必須低於該值

綜上,全部調製方案和數據壓縮方案都必須介於這兩個臨界值之間。機器學習

信息論從理論上提供了可以達到這些臨界值的通訊方案,可是要注意的是,最佳方案當然很好,但從計算的角度看,它們每每是不切實際的。惟一緣由是,只有使用簡單的調製與解調方案時才具備計算可行性。函數

2. 計算機科學(科爾莫戈羅夫複雜度或算法複雜度)

科爾莫戈羅夫、Chaitin、Solomonoff指出,一組數據串的複雜度能夠定義爲計算該數據串所需的最短二進制程序的長度。所以,複雜度就是最小描述長度。學習

利用這種方式定義的複雜度是通用的,即與具體的計算機無關,所以該定義具備至關重要的意義。科爾莫戈羅夫複雜度的定義爲描述複雜度的理論奠基了基礎。優化

更使人激動的是,若是序列服從熵爲H的分佈,那麼該序列的科爾莫戈羅夫複雜度K近似等於香儂熵H。因此信息論與 科爾莫戈羅夫複雜度兩者有着很是緊密的聯繫。編碼

算法複雜度與計算複雜度兩者之間存在微妙的互補關係:spa

  • 計算複雜度(時間複雜度)能夠當作對應於程序運行時間
  • 科爾莫戈羅夫複雜度(程度長度或者描述複雜度)能夠當作對應於程序長度

兩者是沿着各自的軸的最小化問題,同時沿兩條軸進行最小化的工做幾乎沒有。

3. 統計物理(熱力學)

熵與熱力學第二定律都誕生於統計力學。對於孤立系統,熵永遠增長。根據熱力學第二定律,永動機是不存在的。

4. 數學(機率論和統計學)

信息論中的基本量,熵、相對熵、互信息,定義成機率分佈的泛函數。它們中的任何一個量都能刻畫隨機變量長序列的行爲特徵,使得咱們可以估計稀有事件的機率(大誤差理論),而且在假設檢驗中找到最佳的偏差指數。

漸進均分性(AEP)證實絕大部分序列是典型的,它們的樣本熵接近於H,所以咱們能夠把注意力集中在大約2nH個典型序列上。在大誤差理論中,考慮任何一個由分佈構成的集合,若是真是分佈到這個集合最近元的相對熵距離爲D,那麼它的機率大約爲2-nD

信息論從相對熵的角度度量了不用隨機變量機率分佈之間的偏差距離,這和數理統計中的擬合優度理論造成了統一。

5. 科學的哲學觀(奧科姆剃刀)

奧卡姆居士威廉說過「因不宜超出果之因所需。」,即「最簡單的解釋是最佳的」。

Solomonoff和Chaitin頗有說服力地討論了這樣的推理:誰能得到適合處理數據的全部程序的加權組合,並能觀察到下一步的輸出值,誰就能獲得萬能的預測程序

若是是這樣,這個推理能夠用來解決許多會用統計方法不能處理的問題,例如:

  • 這樣的程序可以最終預測圓周率π的小數點後面遙遠位置上的數值。
  • 從理論上保證退出物理學中的牛頓三大定律。

固然,這是一個理論上的完備預測器,這樣的推理極度的不切實際。若是咱們按照這種推理來預測明天將要發生的事情,那麼可能要花一百年時間。

6. 經濟學(投資)

在平穩的股票市場中重複投資會使財富以指數增加。財富的增加率與股票市場的熵率有對偶關係。股票市場中的優化投資理論與信息論的類似性是很是顯著的。

7. 計算與通訊

當將一些較小型的計算機組裝成較大型的計算機時,會受到計算和通訊的雙重限制。計算受制於通訊速率,而通訊受制於計算速度,它們相互影響、相互制約。所以,通訊理論中全部以信息論爲基礎所開發的成果,都會對計算理論形成直接的影響。

8. 量子力學

在量子力學中,馮諾依曼(von Neumann)熵扮演了經典的香農-玻爾茲曼(Shannon-Boltzmann)熵的角色。由此得到數據壓縮和信道容量的量子力學形式。

0x2:信息論視角下的隨機變量編碼問題

考慮一個服從均勻分佈且有32種可能結果的隨機變量,爲肯定一個結果,須要一個可以容納32個不一樣值的標識,所以,根據熵定理,用5比特的字符串足以描述這些標識,即:

在均勻分佈的等概論情形下,全部結果都具備相同長度的表示。

接着考慮一個非均勻分佈的例子,假定有8匹馬參加的一場賽馬比賽,設8匹馬的獲勝機率分佈爲(1/2,1/4,1/8,1/16,1/64,1/64,1/64,1/64),咱們能夠計算出該場賽馬的熵爲:

下面來思考一個問題,如今須要將哪匹馬會獲勝的消息發出去,該怎麼達到這個目標?

從機器學習的視角範疇來看,這本質上就是一個特徵工程特徵編碼問題,即如何對隨機變量進行向量化編碼。

一個最簡單直白的策略就是「one-hot獨熱編碼」,即發出勝出馬的編號,這樣,對任何一匹馬,描述須要3比特。

但其實咱們換一個思路想問題,從單次的隨機試驗視角中拉高到大量的重複隨機試驗集合中,咱們還能夠有更高效的編碼方式,一個很簡單的道理:較少發生的事情給予相對較長的描述,而較常發生的事情給予相對較短的描述

這樣,從整體上來講,咱們會得到一個更短的平均描述長度。例如,使用如下的一組二元字符串來表示8匹馬:(0,10,110,1110,111100,111101,111110,111111)。此時,平均描述長度爲2比特,比使用等長編碼時所用的3比特小。

使用隨機生成的編碼方案,

0x3:信息論視角下的通訊信道問題

通訊信道是一個系統,系統的輸出信號按機率依賴於輸入信號。該系統特徵由一個轉移機率矩陣p(y|x)決定,該矩陣決定在給定輸入狀況下,輸出的條件機率分佈。

對於輸入信號爲X和輸出信號爲Y的通訊信道,定義它的信道容量C爲:

信道容量是可使用該信道發送信息的最大速率,並且在接收端以極低的偏差機率恢復出該信息。

下面有一些例子來講明信道的速率和誤碼率等問題。

1. 無噪聲二元信道

對於無噪聲二元信道,二元輸入信號在輸出端精確地恢復出來,以下圖所示:

在此信道中,任何傳輸的信號都會毫無偏差地被接受,所以,在每次傳輸中,能夠將1比特的信息可靠地發送給接收端,從而信道容量爲1比特,即

2. 有噪聲四字符信道

四字符信道以下圖:

在該信道中,傳輸每一個輸入字符時,可以正確地接受到該字符的機率爲1/2,誤報爲它的下一個字符的機率也爲1/2。若是將4個輸入字符所有考慮進去,那麼在接收端,僅憑單個輸出結果根本不可能確切斷定輸入端是哪一個字符。

另外一方面,如何使用2個輸入(例如1和3,或者2和4),咱們當即能夠根據輸出結果知道傳輸的是哪一個輸入字符,因而,這種信道至關於一個無噪聲信道,該信道上每傳輸一次能夠毫無偏差地發送1比特信息,信道容量也一樣等於1比特/傳輸。

抽象地思考一下,考慮一系列傳輸,任何信道看起來都會像此例同樣,而且都可以識別出輸入序列集合(馬子集)的一個子集,其傳輸信息的方式是:對應於每一個碼字的全部可能輸出序列構成的集合近似不相交。此時,咱們能夠觀察輸出序列,可以以極低的偏差機率識別出相應的輸入碼字。

3. 近似無損通訊信道

隨用隨機生成的編碼方案,香農證實了,若是碼率不超過信道容量C(能夠區分的輸入信號個數的對數),就可以以任意小的偏差機率發送信息。

隨機生成碼的思想非同尋常,爲簡化難解問題打下了基礎,由於在實際工程中,咱們沒法老是100%獲得一個最優編碼方案,香農的近似無損通訊信道理論告訴咱們,在必定的偏差容忍度範疇內,能夠去設計一個近似最優的編碼方案。

筆者思考:從機器學習的視角範疇來看,每個算法模型本質上都是一個通訊信道。數據從輸入層輸入,通過模型的壓縮後,將有效信息傳輸都輸出層,將輸出層的熵下降到足以獲得目標的結果(生成式模型或者判別式模型)

Relevant Link: 

《信息論基礎》阮吉壽著 - 第一章

 

2. 熵、相對熵、互信息

0x1:熵(entropy)

信息是一個至關寬泛的概念,很難用一個簡單的定義將其徹底準確地把握。然而,對於任何一個機率分佈,能夠定義一個稱爲熵(entropy)的量,它具備許多特性符合度量信息的直觀要求。

1. 熵的形式化定義

熵是隨機變量不肯定度的度量。設X是一個離散型隨機變量,其字母表(機率論中的取值空間)爲X,機率密度函數,則該離散型隨機變量X的熵H(X)定義爲:

,熵的單位用比特表示。

注意,熵其實是隨機變量X的分佈的泛函數,並不依賴於X的實際取值,而僅依賴於其機率分佈。

從數理統計的角度來看,X的熵又解釋爲隨機變量的指望值,其中p(X)是X的機率密度函數,因而有:

0x2:聯合熵(joint entropy)

1. 聯合熵形式化定義

基於單個隨機變量熵的定義,如今將定義推廣到兩個隨機變量的情形。

對於服從聯合分佈爲p(x,y)的一對離散隨機變量(X,Y),其聯合熵H(X,Y)(joint entropy)定義爲:

帶入聯合指望公式,上式也可表示爲:

0x3:條件熵(conditional entropy)

1. 條件熵形式化定義

定義一個隨機變量在給定另外一個隨機變量下的條件熵,它是條件分佈熵關於起條件做用的那個隨機變量取平均以後的指望值。

若(X,Y)~p(x,y),條件熵(conditional entropy)H(Y | X)定義爲:

筆者思考1:從條件熵的角度理解算法模型的訓練及模型擬合過程,若是咱們將初始狀態的模型參數看作是一個由若干個未知量組成的聯合機率分佈,即(X1,X2,...,Xn)。在訓練開始前,咱們對模型參數的可能取值徹底沒有任何先驗,理論上全部參數都符合均勻分佈,此時H(X1,X2,...,Xn)達到最大值。訓練的過程是不斷向模型輸入有標籤的樣本並經過負反饋以及必定的策略不斷調整模型的參數取值,從信息論的角度來看,有監督訓練樣本的做用是向聯合機率分佈注入新的信息Y,即(X1,X2,...,Xn | Y)。新的信息Y使得模型參數聯合機率分佈的的聯合熵減少,即消除不肯定性。而最終模型訓練以及泛化能力的好壞,則取決於訓練樣本能多大程度地消除全部的不肯定性,留下肯定性的判斷依據

筆者思考2:從條件熵的角度看訓練樣本的標註(label)精確性重要性,若是在訓練樣本中,對同一類的樣本既有黑標也有白標,這樣會形成對同一個特徵向量同時有label=1/0,至關於傳遞了一個均勻分佈最大熵,這類樣本對模型訓練就是沒有任何幫助的,甚至可能帶來欠擬合波動。可是若是同一類樣本(同一類特徵向量)只有純淨的黑標或者白標,至關於傳遞了一個100%肯定事件,條件熵爲0,即爲一次有效性訓練。具體來講就是,在完成特徵工程後,對特徵維度字段進行groupby聚合,並檢查是否出現了同時label=0/1的現象,若是出現要及早清楚或重打標

0x4:相對熵(relative entropy)

1. 相對熵直觀理解

相對熵(relative entropy)是兩個隨機分佈之間距離的度量。在統計學中,它對應的是似然比的對數指望(極大似然估計的損失函數值)。

相對熵度量當真實分佈爲p而假定分佈爲q時的無效性。

例如,已知隨機變量的真實分佈爲p,能夠構造平均描述長度爲H(p)的碼,可是若是使用針對分佈q的編碼,那麼在平均意義上就須要 H(p)+D(p || q) 比特來描述這個隨機變量。

2. 相對熵公式形式化定義

設兩個機率密度函數爲p(x)和q(x)之間的相對熵或Kullback-Leiler距離定義爲:

須要注意的是,相對熵並不對稱,也不知足三角不等式,所以它實際上並不是兩個分佈之間的真正距離。然而,將相對熵視做分佈之間的」距離「每每會很是有用,相對熵和數理統計中的不少理論概念之間也存在很是多的關係。 

3. 條件相對熵(conditional relative entropy)

對於聯合機率密度函數p(x,y)和q(x,y),條件相對熵定義爲條件機率密度函數 p(y|x) 和 q(y|x) 之間的平均相對熵,其中取平均是關於機率密度函數p(x)而言的,即:

 

0x5:互信息(mutual information)

互信息是一個隨機變量包含另外一個隨機變量信息量的度量。互信息也是在給定另外一隨機變量知識的條件下,原隨機變量不肯定度的縮減量。 

1. 互信息公式形式化定義

考慮兩個隨機變量X和Y,它們的聯合機率密度函數爲p(x,y),其邊際機率密度函數分別是p(x)和p(y)。互信息爲聯合分佈p(x,y)和乘積分佈p(x)p(y)之間的相對熵,即:

注意,通常

2. 熵與互信息的關係

可將互信息從新寫爲:

能夠看出,互信息是在給定Y知識的條件下,X的不肯定度的縮減量。

對稱地,亦可得下式:

由此獲得一個推論:X含有Y的信息量等同於Y含有X的信息量

特別的,有:

隨機變量與自身的互信息爲該隨機變量的熵,也稱爲自信息(self-information)。

3. 互信息和熵之間的關係

H(X),H(Y),H(X,Y),H(X | Y),H(Y | X),I(X;Y)之間的關係可用文氏圖表示。

注意到,互信息I(X;Y)對應於X的信息和Y的信息的相交部分。

基於該文氏圖,咱們有以下定理:

4. 條件互信息(conditional mutual information)

條件互信息是指在給定Z時,因爲Y的知識而引發關於X的不肯定度的縮減量。

隨機變量X和Y在給定隨機變量Z時的條件互信息爲:

5. 從互信息的角度看線性迴歸參數的擬合程度

筆者思考:從信息論的角度來看,模型對目標隨機變量機率分佈的擬合程度,能夠用互信息來進行定量表徵。模型對目標隨機變量機率分佈擬合地越好,則模型對目標隨機變量的表明性就越強,二者之間的互信息也就越強

0x6:聯合熵、相對熵、互信息的鏈式法則

1. 兩個隨機變量聯合熵的鏈式法則

聯合熵和條件熵的定義的這種天然性可由一個事實獲得體現,它就是:一對隨機變量的熵等於其中一個隨機變量的熵加上另個一隨機變量的條件熵

形式化定義以下式:

2. 兩個以上隨機變量聯合熵的鏈式法則

在雙隨機變量聯合熵文氏圖的基礎上,咱們繼續進行抽象思考,本質上來講,時間萬物均可以抽象爲多個隨機變量的聯合做用的綜合結果,若是直接將其看作一個黑盒總體看待,則咱們看不到任何規律存在其中,由於徹底是混沌。解決的方法就是進行合理的剝離與分解。但同時要注意的是,世間萬物又不是彼此獨立存在的,全部人和全部人之間都存在互相影響的關係

經過數學的方式來形式化表達上面這句話就是多隨機變量聯合熵的鏈式法則。聯合熵的鏈式法則解決的是聯合熵如何分解的問題。

設隨機變量X1,X2,Xn服從p(x1,x2,....,xn),則

證實過程重複利用兩個隨機變量狀況下熵的鏈式展開法則:

3. 聯合熵鏈式法則在NLP問題中的應用

筆者思考:多隨機變量的聯合熵鏈式法則是一個高度抽象歸納的定理,NLP語言模型的鏈式分解就是基於此發展出來的,在NLP問題中,人們首先定義出組成一篇文檔(能夠是一句話、一段話、一篇文章)的最基本語言單位,即「詞素Token」,這樣就能夠將一篇文檔經過單個詞素Token的方式表示爲聯合分佈,進而運用鏈式法則進行分解

例如統計語言模型中,對於句子w1,w2,...,wn, 計算其序列機率爲P(w1,w2,...,wn),根據鏈式法則能夠求得整個句子的機率: 

 

其中,每一個詞出現的機率經過統計計算獲得: 

即第n個詞的出現與前面N-1個詞相關,整句的機率就是各個詞出現機率的乘積

關於NLP問題抽象化建模的其餘討論,能夠參閱另外一篇文章

3. 互信息的鏈式法則

在聯合熵的基礎上,互信息一樣能夠定義鏈式法則。

證實過程以下:

4. 相對熵的鏈式法則

證實過程以下:

一對隨機變量的兩個聯合分佈之間的相對熵能夠展開爲相對熵和條件相對熵之和。相對熵的這種鏈式法則能夠用來證實熱力學第二定律。 

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

 

3. 基於Jensen不等式獲得熵的一些定理推論

0x1:Jensen不等式及其結果

Jensen不等式是凸函數的一個很重要的性質,而凸函數是凸優化裏一個很重要的關鍵概念,在實際工程中,略帶誇張的說,若是能將問題抽象建模爲一個凸函數,則問題可能已經解決了一半。

1. Jensen不等式泛化定義

下面來看Jensen不等式的定義,若對於任意的,知足下式:

則稱函數f(x)在區間(a,b)上是凸的(convex)。若是當且僅當λ=0或λ=1時,上式成立,則稱函數f是嚴格凸的(strictly convex)

從函數圖像直觀地看,若是函數老是位於任何一條弦的下面,則該函數是凸的。以下圖:

凸函數的例子有不少,例如

注意到線性函數ax+b既是凸的也是凹的。凸性已經成爲許多信息理論量的基本性質的基礎。

2. 凸函數的性質

這小節咱們來看一下凸函數具有的幾個經常使用性質,也是證實其餘定理的經常使用基礎定理。

1)定理1

若是函數f在某個區間上存在非負(正)的二階導數,則f爲該區間的凸函數(嚴格凸函數)。

2)定理2

若給定凸函數f和一個隨機變量X,則

0x2:基於Jensen不等式獲得的信息論不等式定理

1. 信息不等式 - 相對熵恆非負定理

爲兩個機率密度函數,則,當且僅當對任意的x,p(x) = q(x),等號成立。

證實過程以下:

爲p(x)的支撐集,則

上面證實過程用到了Jensen不等式。

信息不等式直觀上的理解就是,任意兩個機率密度函數之間的距離老是大於等於0的,這也是模型最優化問題的上界

2. 互信息非負性定理

對任意兩個隨機變量X和Y,,當且僅當X與Y相互獨立,等號成立。

推論,,當且僅當給定隨機變量Z,X和Y是條件獨立的,等號成立。

互信息非負性不等式定理的直觀理解就是,只有當X和Y具備必定的相關性時,新信息Y的輸入,纔會下降原隨機變量X的熵(不肯定性)。反之,若是新信息Y和X徹底獨立,則不管輸入多少Y,也沒法下降X的熵

這對咱們在機器學習訓練的工程實踐中具備很好的指導意義,咱們的特徵工程和訓練樣本必定要追求有相關度,對訓練目標沒有幫助的樣本,即便輸入的再多,對最終的效果也是沒有任何幫助的,這就是所謂的」garbage in,garbage out「。

3. 最大熵定理

,其中表示X的字母表X中元素的個數,當且僅當X服從X上的均勻分佈,等號成立。

字母表X上的均勻分佈是X上的最大熵分佈。 

最大熵原理是統計學習的通常定理,將它應用到分類獲得最大熵模型,最大熵模型學習的目標是用最大熵原理選擇最好的分類模型。本質上和極大似然估計是同樣的,區別在於最大熵模型的優化目標是熵的最大化。

關於最大熵模型的相關討論,能夠參閱另外一篇文章

4. 條件熵恆非負定理

該式和互信息非負性定理本質是同樣的。直觀上理解,信息不會有負面影響,最多零影響。即另外一個隨機變量Y的信息只會下降或不變X的不肯定度。

5. 熵的獨立界

設X1,X2,....,Xn服從p(x1,x2,....,xn),則

,當且僅當Xi相互獨立,等號成立。

證實過程用到了聯合熵的鏈式法則:

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

0x3:凸函數和機器學習模型優化的關係

凸優化是優化理論中最最重要的一個理論體系了,許多工程中的非凸優化問題,目前最有效的辦法也只能是利用凸優化的思路去近似求解。例如:

  • 帶整數變量的優化問題,鬆弛以後變成凸優化問題(因此原問題實際上是凸優化問題+整數變量)
  • 任意帶約束的非凸連續優化問題,其對偶問題做爲原問題解的一個lower bound,必定是凸的
  • 針對帶有hidden variable的近似求解maximum likelihood estimate的EM算法,或者貝葉斯統計裏的variational Bayes(VB) inference。相比於本來的MLE(本質是非凸優化問題),EM和VB算法都是找到了一個比較好優化的concave lower bound對這個lower bound進行優化

在傳統的線性迴歸問題中,每每能夠經過極大似然估計或者矩估計獲得一個全局最優解,這本質上由於線性迴歸的似然函數是凸函數,能夠經過對凸函數進行求導獲得極值點。凸優化有個很是重要的定理,即任何局部最優解即爲全局最優解。因此凸優化的全局最優勢很容易獲得,無論是導數極值仍是梯度降低均可以。

當到了深度神經網絡,特別是大規模非線性單元組成的深度神經網絡,其對應的似然函數基本不多是一個凸函數。因此在深度神經網絡中,傳統的極大似然估計和矩估不能繼續使用,從數學上講本質緣由仍是計算量過於巨大,大到沒法接受的程度。

下圖給出了凸優化和非凸優化似然函數的對比。

因此,在複雜深度神經網絡中,轉而取代的優化算法是SGD、Adam這種局部啓發式優化算法。

本質上來講,對於這些非凸優化問題取得的算法理論方面的突破大致其實歸結於找到這些非凸優化問題中「凸」的結構,著名的Hessain矩陣描述的就是似然函數在必定範圍內的局部表現出的「凸」結構。非凸優化算法的時候其實不少的lemma(引理)仍然是凸優化(凸分析)裏的引理或者引伸。

Relevant Link:  

https://www.jiqizhixin.com/articles/2019-02-25-6

 

4. 對數和不等式及其應用

0x1:對數和不等式

對於非負數a1,a2,...,an和b1,b2,...,bn

,當且僅當,等號成立。

0x2:基於對數和不等式獲得的推論

1. 信息不等式 - 相對熵恆非負定理

利用對數和不等式能夠從新證實信息不等式定理,該定理代表,當且僅當,等號成立。證實過程以下:

2. 相對熵凸性定理

D(p || q)關於對(p,q)是凸的,即,若是(p1,q1)和(p2,q2)爲兩對機率密度函數,則對全部的,有

3. 熵的凹性

H(p)是關於p的凹函數。熵做爲分佈的函數時,它具備凹性。

證實過程以下:

,其中,u爲 |X| 個結果的均勻分佈。從而H的凹性可由D的凸性直接獲得。

直觀上能夠這麼理解:均勻分佈下混亂度(熵)是最大的,全部隨機變量在機率分佈上和均勻分佈的距離(相對熵)能夠理解爲一種熵減的過程,從均勻分佈對應的最大熵減去相對熵,剩下的混亂度部分就是該隨機變量剩餘的混亂度(熵)

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

 

5. 數據處理不等式及其應用

數據處理不等式能夠說明,不存在對數據的優良操做能使從數據中所得到的推理獲得改善。

數據處理不等式描述的在一個隨機過程序列中,信息是如何經過一個個彼此相鄰的節點進行傳遞的。

0x1:馬爾科夫鏈 - 一種特殊的隨機過程

馬爾柯夫鏈是一種特殊的隨機過程,信息在馬爾柯夫鏈節點間的傳遞是無損的。

1. 公式形式化定義

若是Z的條件分佈僅依賴於Y的分佈,而與X是條件獨立的,則稱隨機變量X,Y,Z依序構成馬爾柯夫(Markov)鏈,記爲(X->Y->Z)。

具體說,若是X,Y,Z的聯合機率密度函數能夠寫爲:,則X,Y,Z構成馬爾柯夫鏈X->Y->Z。

2. 馬爾柯夫鏈的一些性質

1)馬爾柯夫鏈內部外部獨立性定理

X->Y->Z,當且僅當在給定Y時,X與Z是條件獨立的。馬爾科夫性蘊含的條件獨立性是由於

馬爾柯夫鏈的這個特性能夠推廣到定義n維隨機過程的馬爾科夫場,它的馬爾科夫性爲:當給定邊界值時,內部和外部相互獨立

2)雙向馬爾柯夫鏈定理

X->Y->Z蘊含Z->Y->X,所以,可記爲爲X<->Y<->Z。

3)馬爾柯夫鏈的函數傳遞特性

,則X->Y->Z。

0x2:數據處理不等式 - 任意隨機過程序列不增長節點的信息

若X->Y->Z,則有,證實過程以下:

由鏈式法則,將互信息如下面兩種方式展開:

因爲在給定Y的狀況下,X與Z是條件獨立的,所以有,又因爲,因此有:

,當且僅當(即X->Y->Z構成馬爾柯夫鏈),等號成立。

直觀上理解數據處理不等式就是:馬爾柯夫鏈是逐個節點傳遞信息的,信息只在彼此相鄰的節點間傳遞。馬爾柯夫鏈是一個很好的假設,可是若是隨機過程不知足馬爾柯夫鏈,則數據處理不等式告訴咱們,隨機過程序列也不會增長節點信息,信息只會在節點間逐步遞減,至多保持不變(馬爾柯夫鏈就是上界)

從上面定理咱們能夠獲得一個推論,若是,則,X->Y->g(Y)構成馬爾柯夫鏈。

這說明Y的函數不會增長X的信息量,而只可能損失關於X的信息量。 

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

 

6. 充分統計量

本節間接地說明利用數據處理不等式能夠很好地闡明統計學中的一個重要思,即特徵對原始數據的抽象表明性問題。

0x1:充分統計量形式化定義

假定有一族以參數θ指示的機率密度函數{fθ(x)},設X是從其中一個分佈抽取的樣本。設T(X)爲任意一個統計量(樣本的機率分佈的函數,如樣本均值或樣本方差),那麼θ->X->T(X),且由數據處理不等式可知,對於θ的任何分佈,有:

,若等號成立,則代表無信息損失。

若是T(X)包含了X所含的關於θ的所有信息,則稱該統計量T(X)關於θ是充分的

若是對θ的任何分佈,在給定T(X)的狀況下,X獨立於θ(即θ->T(X)->X構成馬爾柯夫鏈),則稱函數T(X)是關於分佈族{fθ(x)}的充分統計量(sufficient statistic)

這個定義等價於數據處理不等式中等號成立的條件,即對θ的任意分佈,有

所以充分統計量保持互信息不變,反之亦然。

0x2:充分統計量的例子

這小節咱們經過例子來更深刻理解充分統計量是如何傳遞互信息的,即如何對原始數據進行無損的抽象表明的。

若是X服從均值爲θ,方差爲1的正態分佈,即若是

且X1,X2,...,Xn相互獨立地服從該分佈,那麼樣本均值爲關於θ的充分統計量。

能夠驗證,在給定和n的條件下,X1,X2,...,Xn的條件分佈不依賴於θ。換句話說,樣本均值和樣本方差能夠無損地傳遞出原始樣本的所有互信息。這就是爲何在傳通通計模型中,高斯模型和多元高斯模型能夠僅僅用(均值、方差)參數向量就能夠徹底無損的表徵原始樣本。

0x3:最小充分統計量

若是統計量T(X)爲其餘任何充分統計量U的函數,則稱T(X)是關於{fθ(x)}的最小充分統計量(minimal sufficient statistic)。經過數據處理不等式解釋,此定義蘊含

於是,最小充分統計量最大程度地壓縮了樣本中關於θ的信息,而其餘充分統計量可能會含有額外的不相關信息。

例如,對於均值爲θ的一個正態分佈,取奇數樣本的均值和取偶數樣本的均值所構成的函數對是一個充分統計量,但不是最小充分統計量,而只有使用了全量典型集訓練獲得的統計量纔是一個充分統計量。

0x3:從充分統計量角度看機器學習中特徵工程

特徵工程可能咱們你們都很是熟悉,幾乎在全部項目中,無論是使用傳統機器學習模型仍是深度學習模型,最初始也是最關鍵的一個環節就是特徵工程。

基本上來講,衡量特徵工程好壞的標準就是特徵函數T(X)和原始數據分佈X之間的互信息,互信息越高,說明該特徵工程方案效果越好。

另外一方面,特徵的信息損失能夠用相對熵來衡量,相對熵越大,則說明特徵函數和原始數據分佈X之間的相關性就越差。

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

 

7. 費諾不等式及其引理

假定知道隨機變量Y,想進一步推測與之相關的隨機變量X的值。費諾不等式將推測隨機變量X的偏差機率,與它的條件熵 H(X|Y) 聯繫在一塊兒。

給定另外一個隨機變量Y,當且僅當X是Y的函數,隨機變量X的條件熵0(H(X|Y)=0),便可以經過Y直接估計X(即知足函數映射關係),其偏差機率爲0。費諾不等式也能夠用來解釋隨機變量之間的函數關係和相關關係,關於這部分話題的討論,能夠參閱另外一篇文章

咱們暫時拋開隨機變量之間相關性這個視角,將思惟回到信息論的領域來。考慮兩個隨機變量之間的互相推測/推導關係,咱們但願僅當條件熵 H(X|Y) 較小時,能以較低的偏差機率估計X,費諾不等式量化這個偏差的上界

0x1:費諾不等式形式化定義

假定要估計隨機變量X具備分佈p(x),咱們觀察與X相關的隨機變量Y,相應的條件分佈爲p(y|x),經過Y計算函數,其中是對X的估計(即統計量),咱們並不要求與X必須相同,也容許函數g(Y)是隨機的,對的機率做一個界。

注意到構成馬爾柯夫鏈,定義偏差機率爲:

通常地,對任何知足的估計量,設,有

上面不等式可減弱爲:

,或

很顯然,可推出

進一步獲得泛化推論,對任意兩個隨機變量X和Y,設,有

0x2:隨機變量偏差機率下界定理

基於費諾不等式,能夠獲得一個體現偏差機率與熵之間關係的不等式,設X和X'是兩個獨立同分布的隨機變量,有相同的熵H(X),那麼X=X'的機率爲:

由此獲得下面的引理:

若是X和X'獨立同分布,具備熵H(X),則:

,當且僅當X服從均勻分佈,等號成立。

Relevant Link: 

《信息論基礎》阮吉壽著 - 第二章

 

8. 漸進均分性

0x1:典型集

在信息論中,與大數定律相似的是漸進均分性(AEP),它是弱大數定律的直接結果。而典型集自己就是AEP成立的基本條件,這節咱們先來討論典型集,由此引出AEP的討論。

大數定律針對獨立同分布(i.i.d)隨機變量,當n很大時,近似於指望值EX。而漸進均分性代表近似於熵H,其中X1,X2,...,Xn爲i.i.d.隨機變量。p(X1,X2,...,Xn)是觀察序列X1,X2,...,Xn出現的機率。

於是,當n很大時,一個觀察序列出現的機率p(X1,X2,...,Xn)近似等於2-nH

舉一個虛構的例子,設隨機變量的機率密度函數爲p(1)=p,p(0)=q。若X1,X2,...,Xn爲i.i.d.,且服從p(x),則序列(x1,x2,...,xn)出現的機率爲。好比,序列(1,0,1,1,0,1)出現的機率是。很顯然,並不是全部長度爲n的2n個序列都具備相同的出現機率。

不一樣序列出現機率不一樣的這件事,促使咱們將全體序列組成的集合劃分爲兩個子集:

  • 第一是典型集:其中樣本熵近似於真實熵
  • 第二是非典型集:包含其他的序列

在實際工程項目和學術研究中,咱們主要關注典型集,這是由於人和基於典型序列的性質都是高几率成立的,而且決定着大樣本的平均行爲。

那接下來的問題是,全部長度爲n的2n個序列出現的機率是如何分佈的呢?典型集又是如何佔據了絕大多數機率分佈呢?

假定有一個二項分佈隨機試驗,N=1000,p(T)=0.1,即T出現的該機率是0.1。

易得該二項分佈的均值爲Np=100,方差爲Np(1-p),經過分位表咱們知道,T發生的次數以100爲中心,在3個標準差內機率近似接近1

因而,咱們得出下列結論:

通常地,若p(T)=p,則N長序列中,T出現次數以接近機率1落在區間,且在N足夠大時,T出現的次數幾乎等於Np次

從這個結論出發,咱們能夠將最大機率區間(3標準差估計區間)內出現的序列稱之爲typical set(典型序列集合)

上述討論方式涉及數理統計中的機率分佈理論,相關討論能夠參閱這篇文章。如今咱們從信息論熵的視角從新來看待這個問題。

不一樣觀測結果X1,X2,...,Xn,對應着不一樣的出現機率p(X1,X2,...,Xn),而p(X1,X2,...,Xn)將以高的機率接近於2-nH,即機率與熵一一對應。

對於,歸納爲「幾乎一切事物都使人同等的意外」。換言之,當X1,X2,...,Xn爲i.i.d.~p(x),則

下面用機率論中的收斂概念,其定義以下:

給定一個隨機變量X1,X2,...,Xn。序列收斂於隨機變量X有以下3種情形:

  • 若是對任意的,則稱爲依機率收斂
  • 若是,則稱爲均方收斂
  • 若是,則稱爲以機率1(或稱幾乎到處)收斂

0x2:漸進均分性定理(AEP)

若X1,X2,...,Xn爲i.i.d.~p(x),則依機率收斂。

AEP定理代表,對於一個分佈 [公式] 假設,按此機率,取n次,則造成一個序列,這個序列出現的機率的對數除以n,會趨近於 [公式] 的熵,且n越大,越趨近於 [公式]

由此獲得一個推論:

關於p(x)的典型集(typical set)是序列的集合,且知足性質:

該推論代表,選取一個典型集合,這個集合並不要求其對數除n等於[公式],而是容許有一個微小的偏差 [公式] ,且序列越長時,[公式] 能夠越小。

做爲漸進均分性的一個推論,能夠證實典型集有以下性質:

  • 若是,則
  • 當n充分大時,
  • ,其中 |A| 表示集合A中的元素個數
  • 當n充分大時,

因而可知,典型集的機率近似爲1,典型集中全部元素幾乎是等可能的,且典型集的元素個數近似等於2nH

0x3:AEP的推論:數據壓縮

設X1,X2,...,Xn服從機率密度函數p(x)的i.i.d.隨機變量。爲了獲取這些隨機變量序列的簡短描述,將Xn中的全部序列劃分爲兩個集合:典型集,及其補集。以下圖所示:

將每一個集合中的全部元素按照某種順序(例如字典順序)排列,而後給集合中的序列指定下標,表示中的每一個序列。因爲中的序列個數<=2n(H+ε),則這些下標不超過n(H+ε)+1比特(額外多處的1比特是因爲可能不是整數)。

在全部這些序列的前面加0,表示中的每一個序列須要的總長度<=n(H+ε)+2比特。

相似地,對不屬於的每一個序列給出下標,所需的位數不超過nlog|X|+1比特,再在這些序列前面加1,就得到關於Xn中全部序列的一個編碼方案。

以下圖所示:

上述編碼方案有以下特徵:

  • 編碼是1-1的,且易於譯碼,起始位做爲標誌位,標明緊隨碼字的長度
  • 典型序列具備較短的描述長度

用xn表示序列x1,x2,....,xn,設表示相應於xn的碼字長度。若n充分大,使得,因而,碼字長度的數學指望爲:

其中,適當選取ε和n時,ε’能夠任意小。

基於上面討論,咱們已經證實了下序列序列編碼長度指望定理

設Xn爲服從p(x)的i.i.d.序列,ε>0,則存在一個編碼將長度爲n的序列Xn映射爲比特串,使得映射是1-1的(由於可逆/可解碼),且對於充分大的n,有

於是從平均意義上,用nH(X)比特可表示序列Xn

0x4:高几率與典型集 

的定義知道,是包含大多數機率的小集合。但從定義看,並不肯定是不是這類集合中的最小集。下面來證實典型集在一階指數意義下與最小集有相同的元素個數。 

對每一個n=1,2,....,設爲知足以下條件的最小集,即

下面證實的交集充分大,使其含有足夠多的元素。

設X1,X2,...,Xn爲服從p(x)的i.i.d.序列,對及任意的,若是,則

,該定理即爲典型集和最小集近似相等定理

所以在一階指數意義下,至少含有2nH個元素,而大約有2n(H+-ε)個元素。因此,的大小差很少與最小的高几率集是相同的。

考慮一個伯努利序列X1,X2,...,Xn,其參數p=0.9,此時,典型序列中1所佔的比例近似等於0.9。然而,這並不包括極可能出現的所有是1的序列,由於顯然,全爲1的序列出現是一個小几率事件。

集合包括全部極可能出現的序列,於是包括所有爲1的序列。

典型集和最小集近似相等定理代表一定包含了全部1所佔比例90%的序列,且二者的元素數量幾乎相等。

0x5:AEP和典型集對工程的指導意義 

從對典型集的討論中,咱們很明顯地看到了」長尾效應「的影子,即當提高某件事能夠另外一件事的效能時,持續不斷提高下去,會在某個點達到一個收斂平衡界,超出收斂平衡界以後,繼續投入更多的資源也不能帶來更多的線性增加。

在實際的工程項目中,不要過度地追求海量數據,例如你作惡意文件文本檢測,使用20w數量級的樣本已經能夠取得良好效果,這個時候,沒有必要繼續提升到200w數量級,由於極可能20w就已經在必定的偏差ε下達到典型集了,繼續增長樣本對總體信息量的貢獻並不明顯,相反還帶來成倍的計算和訓練開銷。

參考Andrew Gelman的一句名言:樣本歷來都不是足夠大的。若是 N 太大不足以進行足夠精確的估計,你須要得到更多的數據。但當 N 「足夠大」,你能夠開始經過劃分數據研究更多的問題,例如在民意調查中,當你已經對全國的民意有了較好的估計,你能夠開始分性別、地域、年齡進行更多的統計。N 歷來都沒法作到足夠大,由於當它一旦大了,你老是能夠開始研究下一個問題從而須要更多的數據。

Relevant Link: 

《信息論基礎》阮吉壽著 - 第三章
https://zhuanlan.zhihu.com/p/33668137
相關文章
相關標籤/搜索