資訊理論與機器學習
雖然標題中有機器學習,但這篇文章更主要講的是資訊理論的一些知識。在後面會對資訊理論中的一些理論在機器學習中的應用進行簡單的介紹。
寫這篇文章的原因在於總是在看書或者讀paper時遇到有關於資訊理論的一些知識,雖然已經學過資訊理論,但某些簡單的概念總是讓我感到混亂。這裡既是複習,也是整理。
編碼
談到資訊理論,就離不開編碼。談到資訊理論就離不開傳遞信息,傳遞信息的過程需要對信息進行編碼,而如何用最少的編碼表示所要傳遞的信息就是我們要研究的目標了。
假設兩地互相通信,兩地之間一直在傳遞,
,
,
四類消息,那應該要選擇什麼樣的編碼方式才能儘可能少的使用資源呢?如果這四類消息的出現是等概率的,都為
,那麼肯定應該採用等編碼方式,也就是
這樣就能達到最優的編碼方式,平均編碼長度為。
但是,如果四類消息出現的概率不同呢?例如消息出現的概率是
,
是
,
是
,
是
,那應該怎樣編碼呢?直覺告訴我們,為了使平均編碼長度儘可能小,出現概率高的
消息應該使用短編碼,出現概率低的
,
消息應該使用長編碼。與等長編碼相比,這樣的編碼方式叫做變長編碼,它的效果更好,例如採用下表所示的編碼(其實這是最優編碼)
平均編碼長度為,顯然要優於等長編碼。
編碼空間
在對消息進行變長編碼時,可以看到對消息編碼後,後面的三類消息編碼都不是以
開頭。這是因為在編碼時必須保證該編碼是唯一可解碼的。例如若
消息編碼為
,
消息編碼為
,那麼
的編碼就會產生歧義,即不知道在何位置對接收到的編碼消息進行劃分。因此在進行變長編碼時,就必須保證任何編碼都不是其他編碼的前綴。符合這種特性的編碼稱為前綴碼(Prefix Codes)。
從上面的敘述可以看出,每當在某位置選取一個編碼以後,我們都要損耗一部分編碼空間,如圖

因此,為了達到對信息進行最優編碼的目標,我們要在使用儘可能短的編碼與短編碼可能會導致編碼空間不可用的兩種情況中進行權衡。
我們可以把使用短編碼需要消耗的編碼空間稱為編碼代價。事實上,為了達到理論上的最優編碼,我們只需要根據不同消息出現的概率
給每類消息分配相應的編碼代價即可以達到最優編碼,假設
的編碼長度為
,那麼
這樣,對於分布,我們的平均編碼長度就是
在資訊理論中,被稱為熵,熵代表了理論上對符合
分布的消息進行編碼的最優編碼的平均長度。
交叉熵與KL散度
若現在還有一種消息序列的概率分布滿足分布,但是它仍然使用
分布的最優編碼方式,那麼它的平均編碼長度即為
其中被稱為
分布相對於
分布的交叉熵(Cross Entropy),它衡量了
分布使用
分布的最優編碼方式時的平均編碼長度。
交叉熵不是對稱的,即。交叉熵的意義在於它給我們提供了一種衡量兩個分布的不同程度的方式。兩個分布
和
的差異越大,交叉熵
就比
大的越多,如圖
它們的不同的大小為,這在資訊理論中被稱為KL散度(Kullback-Leibler Divergence),它滿足
KL散度可以看作為兩個分布之間的距離,也可以說是可以衡量兩個分布的不同程度。
多變數熵與互信息
和單變數相同,如果有兩個變數,
,我們可以計算它們的聯合熵(Joint Entropy)
當我們事先已經知道的分布,我們可以計算條件熵(Conditional Entropy)
與
變數之間可能共享某些信息,我們可以把信息熵想像成一個信息條,如下圖
更細一點,我們把與
重疊的部分定義為
與
的互信息(Mutual Entropy),記作
,則
互信息代表了中包含的有關於
的信息(或相反)。
將與
不重疊的信息定義為差異信息(Variation of Information),記為
,則
差異信息可以衡量變數與
的差距,若
為0,就意味著只要知道一個變數,就知道另一個變數的所有信息。隨著
的增大,也就意味著
與
更不相關。形象化的表示可以從下圖看出
交叉熵和KL散度在機器學習中的應用
資訊理論中有很多理論可以應用在機器學習中,其中交叉熵和KL散度在各類模型中出現的頻率非常高。
在分類任務中,我們想要的結果是使預測的分布和真實的分布盡量接近,交叉熵提供了一種非常好的衡量方式,在LR分類,SVM多分類等問題中經常用到,將交叉熵定義為損失函數
其中代表真實分布,
代表預測分布,優化目標為
。
在概率推斷中,經常使用變分推斷來近似隱變數真實的後驗分布
。利用如下公式
其中
上式中的稱為證據下界(Evidence Lower Bound)。
這裡KL散度描述了估計分布
與真實分布
的差別,當
時兩分布就是相同的。我們知道
,但因為我們不知道真實的後驗分布
是什麼,因此無法直接最小化
,但是我們可以通過最大化
來達到這個目的。而在求解最大化
的過程中,可以利用平均場方法(Mean Field)將最終目標可以轉化成最小化另外的一個KL散度(這裡省略推導了,具體可參見《機器學習》)。
參考
- Visual Information Theory
- 《機器學習》周志華
- 《Pattern Recognition and Machine Learning》Christopher Bishop
推薦閱讀:
※番外篇(6)——共軛梯度的效果
※Learn R | 機器學習中的人工神經網路(六)
※李飛飛:我的2017
※「哈佛商業評論」所有AI公司都面臨的兩難:性能優先還是應用優先?
※分類演算法之支持向量機:SVM(理論篇)




