1. 程式人生 > >關於資訊理論中熵、相對熵、、條件熵、互資訊、典型集的一些思考

關於資訊理論中熵、相對熵、、條件熵、互資訊、典型集的一些思考

1. 緒論

0x1:資訊理論與其他學科之間的關係

資訊理論在統計物理(熱力學)、電腦科學(科爾莫戈羅夫複雜度或演算法複雜度)、統計推斷(奧卡姆剃刀,最簡潔的解釋最佳)以及概率和統計(關於最優化假設檢驗與估計的誤差指數)等學科中都具有奠基性的貢獻。如下圖

這個小節,我們簡要介紹資訊理論及其關聯的思想的來龍去脈,提綱挈領地給出一個總的框架。

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

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

如果將所有可能的通訊方案看成一個集合,那麼資訊理論描繪了這個集合的兩個臨界值:

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

綜上,所有調製方案和資料壓縮方案都必須介於這兩個臨界值之間。

資訊理論從理論上提供了能夠達到這些臨界值的通訊方案,但是要注意的是,最佳方案固然很好,但從計算的角度看,它們往往是不切實際的。唯一原因是,只有使用簡單的調製與解調方案時才具有計算可行性。

2. 電腦科學(科爾莫戈羅夫複雜度或演算法複雜度)

科爾莫戈羅夫、Chaitin、Solomonoff指出,一組資料串的複雜度可以定義為計算該資料串所需的最短二進位制程式的長度。因此,複雜度就是最小描述長度。

利用這種方式定義的複雜度是通用的,即與具體的計算機無關,因此該定義具有相當重要的意義。科爾莫戈羅夫複雜度的定義為描述複雜度的理論奠定了基礎。

更令人激動的是,如果序列服從熵為H的分佈,那麼該序列的科爾莫戈羅夫複雜度K近似等於香儂熵H。所以資訊理論與 科爾莫戈羅夫複雜度二者有著非常緊密的聯絡。

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

  • 計算複雜度(時間複雜度)可以看成對應於程式執行時間
  • 科爾莫戈羅夫複雜度(程度長度或者描述複雜度)可以看成對應於程式長度

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

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

&n