信息,熵,聯合熵,條件熵,互信息(信息增益),交叉熵,相對熵(KL散度)


自信息

自信息I表示概率空間中的單一事件或離散隨機變量的值相關的信息量的量度。它用信息的單位表示,例如bit、nat或是hart,使用哪個單位取決於在計算中使用的對數的底。如下圖:

對數以2為底,單位是比特(bit)
對數以e為底,單位是納特(nat)

如英語有26個字母,假設在文章中出現的概率相等,每個字母的自信息量(也稱作編碼長度,也就是在最優情況下,應該用多少比特去表示字母)為:

對該自信息的期望就是熵。可以看出當字母出現概率越大時,表示該字母所應該用的比特數也越少,這也就是傳說中的 哈夫曼編碼(Huffman Coding)。
若現在假設文章中僅僅等概率存在A,B,C,則這三個字母的自信息為:
則我們只需要用兩個比特( 也就是00,01,10)就可以表示一篇文章。

因此變量越均勻分布,自信息的期望就越大,也就熵越大(平均編碼長度越長),也即最優表示變量所需用到比特數量的期望則越多,也能說明文章挈帶的信息量就越多,把文章搞清楚所需要的信息量也就越大(比特數多了)。

熵在物理上是表示混亂程度,在信息論中,信息熵用以下方程表示,也就是對分布自信息的期望,單位取決於在計算中使用的對數的底:

E為期望函數,p為概率質量函數,I為自信息函數

離散的表達式:

若為概率為連續型,則要用積分去求

若概率越為均勻分布,則熵越大,變量的不確定性越大,把它搞清楚所需要的信息量也就越大。如AvsB,A隊的勝率為100%,則我們不需要任何信息都能搞清楚A隊肯定贏。但是若A隊和B隊的勝率各為50%,則我們要將哪隊獲勝確定下來所需要的信息量很大。

 設隨機變量 [公式] 為拋一枚均勻硬幣的取值,其中正面朝上用 [公式] 表示,反面朝上用 [公式] 表示,於是有:
[公式] 注:由於 [公式] 概率均相等,為了版面整潔故合並表示。這里的log是以2為底的:

 [公式] 

 

聯合信息熵

聯合信息熵的定義如下:

 
 

條件信息熵

條件信息熵的定義如下:

 

用圖像形象化地理解這聯合信息熵與條件信息熵的關系:

 
熵的關系圖

舉個栗子,今天的天氣是什么可以看作為事件 X,我是否穿短袖可看作事件 Y。這兩個事件可以構成聯合概率分布 p(X,Y),其聯合熵為上述關系圖的第一條
注意,兩個事件加起來的信息量( H(X,Y))肯定是大於等於單個事件的信息量( H(X)H(Y))的。同時,天氣如何與我是否穿短袖這兩個事件並不是獨立的,
因此已知今天天氣的情況下,我是否穿衣的信息量/不確定度是減少了的。所以已知 H(X)這個信息量時,聯合分布 H(X,Y)剩余的信息量就是條件熵:
 

互信息

熵表明了單個隨機變量的不確定程度,那么熵的值是確定不變的嗎?我們有辦法縮減這個不確定性嗎?如果能縮減那縮減多少可以量化嗎?

吳軍老師《數學之美》:網頁搜索本質正是減少不確定性的一個過程,根據用戶的關鍵字和其他手段減少那些無關搜索,盡量接近用戶的搜索意圖,這種思維正可以體現信息論的“內功”本色。

 一個例子來說明事件不確定性的變化:

假設現在我給你一枚硬幣,告訴你這是均勻的,請你拋100次然后告訴我結果,結果你拋了100次后,記錄的結果是:正面朝上90次,反面朝上10次,你就會開始懷疑“這真是一枚均勻的硬幣嗎?”

由第一部分熵中,我們知道,這一枚硬幣的熵應該是1 bit,但是這樣的試驗之后,這枚硬幣的熵還是1 bit嗎?我們可以假設正面朝上的概率為0.9,反面朝上的概率為0.1,計算一下這個熵:

[公式]

其中, [公式] 表示為知道90次正面朝上的事實后,原硬幣的熵。

經過拋擲100次后,我們知道這么硬幣可能是不均勻的,且新的熵為0.469 bit,也就是說我們在知道90次正面朝上,10次反面朝下的事實之后,這個硬幣的熵縮小了0.531 bit,這個0.531的信息量,我們就稱為互信息。

從而我們引入互信息的定義:

對於兩個隨機變量  [公式] 和  [公式] ,如果其聯合分布為  [公式] ,邊緣分布為  [公式] ,則互信息可以定義為:
     [公式]

這個定義是根據相對熵來下的定義,這個定義能變成我們剛剛所說的縮減信息的形式,推導如下:

[公式]  [公式] [公式]

經過推導后,我們可以直觀地看到 [公式] 表示為原隨機變量 [公式] 的信息量, [公式] 為知道事實 [公式] 后 [公式] 的信息量,互信息 [公式] 則表示為知道事實 [公式] 后,原來信息量減少了多少。

為了更加形象地描述互信息,文氏圖來說明:

最后,如果隨機變量 [公式] 獨立,那么互信息是多少呢?應該是0,這意味着,知道事實 [公式] 並沒有減少 [公式] 的信息量,這是符合直覺的因為獨立本來就是互不影響的。

下圖表示各種信息的關系,同時展示了互信息 I(X,Y)的不同求法:

 

 
 
其中 V(X,Y) (Variation of information)度量了不同隨機變量/事件之間的差別,當 V(X,Y)=0說明這兩個變量是完全一致的,值越大則表明兩個變量越獨立,具體求法:
 

交叉熵

現在有關於樣本集的兩個概率分布 p(x) 和 q(x),其中 p(x) 為真實分布, q(x)非真實分布。如果用真實分布 p(x) 來衡量識別一個樣本所需要編碼長度的期望(平均編碼長度)為:

如果使用非真實分布 q(x) 來表示來自真實分布 p(x) 的平均編碼長度,則是交叉熵。公式如下:

本質上可以看成用p分布的編碼方式去編碼q分布,所得到的編碼長度期望。

舉個例子。考慮一個隨機變量 x,真實分布p(x)=(1/2,1/4,1/8,1/8),非真實分布 q(x)=(1/4,1/4,1/4,1/4), 則H(p)=1.75 bits(最短平均碼長),交叉熵:

由此可以看出根據非真實分布 q(x) 得到的平均碼長大於根據真實分布 p(x) 得到的平均碼長。

 

KL散度(相對熵)公式如下:

再化簡一下相對熵的公式。

有沒有發現什么?

熵的公式:

所以有:DKL(p||q)=H(p,q)−H(p)(當用非真實分布 q(x) 得到的平均碼長比真實分布 p(x) 得到的平均碼長多出的比特數就是相對熵)

又因為 DKL(p||q)≥0所以 H(p,q)≥H(p)(當 p(x)=q(x) 時取等號,此時交叉熵等於信息熵)並且當 H(p) 為常量時(注:在機器學習中,訓練數據分布是固定的)

最小化相對熵 DKL(p||q) 等價於最小化交叉熵 H(p,q) 也等價於最大化似然估計在機器學習中,我們希望訓練數據上模型學到的分布 P(model) 和真實數據的分布 P(real) 越接近越好,所以我們可以使其相對熵最小。

但是我們沒有真實數據的分布,所以只能希望模型學到的分布 P(model) 和訓練數據的分布 P(train) 盡量相同。

假設訓練數據是從總體中獨立同分布采樣的,那么我們可以通過最小化訓練數據的經驗誤差來降低模型的泛化誤差。

用形象化地表示三者的關系:

 

 

第一行表示p所含的信息量/平均編碼長度H(p)

第二行是cross-entropy,即用q來編碼p所含的信息量/平均編碼長度|或者稱之為qp的cross-entropy;

第三行是上面兩者之間的差值,即qp的KL距離,KL距離越大說明差值越大,說明兩個分布的差異越大。

注意這三者都是非負的。上面說的KL和cross-entropy是兩個不同分布之間的距離度量,因此用H(p)來表示熵。如果是測量同一分布中兩個變量相互影響的關系,則一般用H(X)來表示熵,如聯合信息熵和條件信息熵。

相對熵與KL散度

1. 概念

在概率論或信息論中,KL散度( Kullback–Leibler divergence),又稱相對熵(relative entropy),是描述兩個概率分布P和q差異的一種方法。

KL散度在信息論中物理意義,它是用來度量使用基於q分布的編碼來編碼來自p分布的樣本平均所需的額外的Bit個數。而其在機器學習領域的物理意義則是用來度量兩個函數的相似程度或者相近程度。

考慮某個未知的分布 p(x),假定用一個近似的分布 q(x) 對它進行建模。如果我們使用 q(x) 來建立一個編碼體系,用來把 x 的值傳給接收者,那么由於我們使用了q(x)而不是真實分布p(x),平均編碼長度比用真實分布p(x)進行編碼增加的信息量(單位是 nat )為:

[公式] (1)

這被稱為分布p(x)和分布q(x)之間的相對熵(relative entropy)或者KL散 度( Kullback-Leibler divergence )。

也就是說,當我們知道真實的概率分布之后,可以給出最有效的編碼。如果我們使用了不同於真實分布的概率分布,那么我們一定會損失編碼效率,並且在傳輸時增加的平均額外信息量至少等於兩個分布之間的KL散度。

注意,這不是一個對稱量,即 [公式] 。

 

1.1. 為什么KL散度大於等於0

現在要證明的是KL散度滿足 [公式] ,並且當且僅當 p(x) = q(x) 時等號成立。

設實直線上的函數f(x) 是一個非負函數,且:

[公式] 

如果 g 是任意實可測函數且函數 [公式] 是凸的,那么有Jensen不等式如下:

[公式] 

注意到,-ln x 是嚴格的凸函數且 [公式] 。

令 [公式] , [公式] , f(x)=p(x)

把公式(2)形式的 Jensen 不等式應用於公式(1)給出的 KL散度,直接可得

[公式] (3)

只有 q(x) = p(x) 對於所有 x 都成立時,等號才成立,

因此我們可以把 KL 散度看做兩個分布 p(x) 和 q(x)之間不相似程度的度量。

1.2. 最小化 Kullback-Leibler 散度等價於最大化似然函數

假設我們想要對未知分布p(x) 建模,可以試着使用一些參數分布 [公式] 來近似p(x)。 [公式]由可調節的參數 [公式] 控制(例如一個多元高斯分布)。

通過最小化 p(x) 和 [公式] 之間關於 [公式] 的 KL散度可以確定 [公式] 。

但是因為不知道 p(x),所以不能直接這么做。

如果已經觀察到了服從分布 p(x) 的有限數量的訓練點集 [公式] ,其中 [公式] ,那么關於 p(x) 的期望就可以通過這些點的有限加和,使用公式 [公式] 來近似,即:

[公式] (4)

公式(4)右側的第二項與 [公式] 無關,第一項是使用訓練集估計的分布 [公式] 下的 [公式] 的負對數似然函數。

因此最小化KL散度等價於最大化似然函數。

 

 

 

 

 

1.3. KL散度的測度論定義

如果 [公式] 和 [公式] 是 集合X上的測度,且 [公式] 

由Radon–Nikodym theorem,[公式] 和 [公式] 的KL散度定義如下:

[公式]

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM