1. 程式人生 > >資訊熵與資訊增益的理解

資訊熵與資訊增益的理解

一 資訊熵

1948年夏農提出了資訊熵(Entropy)的概念。

假如事件A的分類劃分是(A1,A2,...,An),每部分發生的概率是(p1,p2,...,pn),那資訊熵定義為公式如下:

吳軍在《數學之美系列四--怎樣度量資訊?》中認為資訊熵的大小指的的是瞭解一件事情所需要付出的資訊量是多少,這件事的不確定性越大,要搞清它所需要的資訊量也就越大,也就是它的資訊熵越大。

Matrix67在《網際網路時代的社會語言學:基於SNS的文字資料探勘》認為資訊熵衡量的是在你知道一個事件的結果後平均會給你帶來多大的資訊量。如果一顆骰子的六個面都是 1 ,投擲它不會給你帶來任何新資訊,因為你知道它的結果肯定是1,它的資訊熵為 - log(1) = 0 。(log是以2為底,lg是以10為底)

兩種解釋在不同的應用上可以有不同的理解。例如在《文字分類入門(十一)特徵選擇方法之資訊增益》可以看出在文字分類中對資訊熵的理解是第二種。不過,兩種理解其實都指出了資訊熵的另一個作用,就是資訊熵可以衡量事物的不確定性,這個事物不確定性越大,資訊熵也越大

為何資訊熵會有這樣的作用?為何它的公式這樣表示?所以還需要理解資訊量這一的概念。夏農用“位元”這個概念來度量資訊量。也即資訊量的多少就是位元的多少

拿吳軍舉的例子來講,32只球隊共有32種奪冠的可能性,用多少資訊量才能包括這32個結果?按照計算機的二進位制(只有1和0)表示法,我們知道2^5=32 ,也就是需要5符號的組合結果就可以完全表示這32個變化,而這裡的符號通常稱之為位元。既然是這樣,那麼當一件事的結果越不確定時,也就是變化情況越多時,那麼你若想涵蓋所有結果,所需要的位元就要越多,也就是,你要付出的資訊量越大,也即資訊熵越大。當然,每個變化出現的概率不同,因而在夏農的公式中才會用概率,所以資訊熵算的是瞭解這件事所付出的平均資訊量。

比如這個例子裡假設32只球隊奪冠可能性相同,即Pi=1/32 ,那麼按照夏農公式計算:

entropy(P1,P2,...,P32)=-(1/32)log(1/32)-(1/32)log(1/32)......-(1/32)log(1/32)

                                  =5/32+5/32...+5/32

                                  =(5*32)/32

                                  =5

二 資訊增益(又稱相對熵[relative entropy]、k-l散度[Kullback–Leibler divergence

]、資訊散度[information divergence])

在概率論和資訊理論中,資訊增益是非對稱的,用以度量兩種概率分佈P和Q的差異。資訊增益描述了當使用Q進行編碼時,再使用P進行編碼的差異。通常P代表樣本或觀察值的分佈,也有可能是精確計算的理論分佈。Q代表一種理論,模型,描述或者對P的近似。