資訊熵相關知識總結

hiyoung發表於2018-12-18

前言

學習決策樹時會接觸到一些資訊熵,條件熵和資訊增益的知識,此外還有互資訊,相對熵,交叉熵和互資訊,KL散度等等亂七八糟的知識和名字,我本人已經記得大腦混亂了,還沒有全部記住,所以在這裡記錄一下.

1.資訊熵:資訊的度量,資訊的不確定程度,是亂七八糟熵的基礎.吳軍大大的數學之美中用了猜球隊冠軍的方式引出了資訊熵的概念.我覺得這種方法印象很深刻,所以在這裡提出一下.如果有32支球隊,使用二分查詢法去猜哪支球隊是冠軍,如:冠軍在1-16號球隊內.這樣一共需要猜5次就可以找到結果,也就是log32=5,但是某些球隊的獲勝率大一些,所以它的準確資訊量的表示應該如下:

圖1

夏農就稱它為資訊熵,表示資訊的不確定程度,不確定性越大,資訊熵也就越大.圖1中的p(x)表示隨機變數x的概率.資訊熵
H(x)的取值範圍:0<=H(x)<=logn,其中n是隨機變數x取值的種類數.

2.條件熵:有兩個隨機變數X和Y,在已知Y的情況下,求X的資訊熵稱之為條件熵:

圖2

其中p(x|y)是已知y求x的條件概率.p(x,y)是聯合概率.

3.資訊增益:表示在確定某條件Y後,隨機變數X的資訊不確定性減少的程度.也稱為互資訊(Mutual Information).

圖3

它的取值是0到min(H(x),H(y))之間的數值.取值為0時,表示兩個事件X和Y完全不相關.在決策樹中演算法中,ID3演算法就是使用資訊增益來劃分特徵.在某個特徵條件下,求資料的資訊增益,資訊增益大的特徵,說明對資料劃分幫助很大,優先選擇該特徵進行決策樹的劃分,這就是ID3演算法.

4.資訊增益比(率):資訊增益比是資訊增益的進化版,用於解決資訊增益對屬性選擇取值較多的問題,資訊增益率為資訊增益與該特徵的資訊熵之比.在決策樹中演算法中,C4.5演算法就是使用資訊增益比來劃分特徵.公式如下:

圖4

資訊熵,條件熵和互資訊的關係:

圖5

注:圖片取自不同地方,所以符號表示不同,請自行對照,同時資訊增益比的公式有的文章或者書籍分母可能不同.

5.相對熵(KL散度):用來描述兩個概率分佈p,q之間的差異(圖6),數學之美中介紹是用來衡量兩個取值為正數函式的相似性(圖7)

圖6
圖7

概念都是一樣的,所以不需要太在意這兩個公式的區別.如果兩個函式(分佈)完全相同,那麼它們的相對熵為0,同理如果相對熵越大,說明它們之間的差異越大,反之相對熵越小,說明它們之間的差異越小.需要注意的是相對熵不是對稱的,也就是:

圖8

但是這樣計算很不方便,所以夏農和傑森(不是郭達斯坦森)提出了一個新的對稱的相對熵公式:

圖9

上面的相對熵公式可以用於計算兩個文字的相似度,吳軍大大在數學之美中介紹,google的問答系統就是用圖9的公式計算答案相似性的(現在還是不是就不清楚了).

6.交叉熵(cross-entropy):我們知道通常深度學習模型最後一般都會使用交叉熵作為模型的損失函式.那是為什麼呢?首先我們先將相對熵KL公式(圖6)進行變換(log中除法可以拆分為兩個log相減):

圖10

其中前一部分的-H(p(x))是p的熵,後一部分就是我們所說的交叉熵.

圖11

損失函式是計算模型預測值和資料真實值之間的相關性,所以可以使用相對熵(KL散度)計算,根據圖10可以看出,-H(p(x))是不變的,所以我們可以通過計算後一部分的交叉熵來求得Loss.所以通常會使用交叉熵來作為Loss函式,同理交叉熵越小,預測值和真實值之間相似度越高,模型越好.注:LR的損失函式就是交叉熵.

7.聯合熵:聯合熵可以表示為兩個事件X,Y的熵的並集

圖12

它的取值範圍是:max(H(x),H(y)) <= H(x,y) <= H(x)+H(y)

8.基尼係數(Gini,它屬於混進來的):在決策樹的CART(分類迴歸樹)中有兩類樹,一是迴歸樹,劃分特徵使用的是平方誤差最小化的方法,二是分類樹,採用的就是Gini係數最小化進行劃分資料集.

圖13

其中k為label的種類數.基尼指數越大,資訊的不確定性越大,這與資訊熵相同.(CART樹是如何使用Gini指數的這裡就不詳細介紹了,以後會在決策樹中詳細介紹的)

9.困惑度(perplexity,PPL):在NLP中,通常使用困惑度作為衡量語言模型好壞的指標.

圖14

其中S為句子,N是句子中單詞的個數,p(wi)代表第i個單詞的概率.所以PPL越小p(wi)的概率越高,則一句話屬於自然語言的概率也就越高.

參考:

《數學之美-第二版》 吳軍  著

《統計學習方法》  李航    著

《統計自然語言處理》 宗成慶  著

 

相關文章