1 信息量
- 定義:信息量是對信息的度量。 就跟時間的度量是秒同樣,當咱們考慮一個離散的隨機變量x的時候,當咱們觀察到的這個變量的一個具體值的時候,咱們接收到了多少信息呢?
- 多少信息用信息量來衡量,咱們接受到的信息量跟具體發生的事件有關。
- 信息的大小跟隨機事件的機率有關。 越小几率的事情發生了產生的信息量越大,如湖南產生的地震了;越大機率的事情發生了產生的信息量越小,如太陽從東邊升起來了,其實表明着沒有任何信息量。
- 一個具體事件的信息量應該是隨着其發生機率而遞減的,且不能爲負。
- 若是咱們有倆個不相關的事件x和y,那麼咱們觀察到的倆個事件同時發生時得到的信息應該等於觀察到的事件各自發生時得到的 信息之和,即: $h(x,y) = h(x) + h(y)$.
- 因爲x,y是倆個不相關的事件,那麼知足 $p(x,y)=p(x)p(y)$. 根據上面推導,能夠看出: $h(x)$ 必定與$p(x)$的對數有關,所以咱們有信息量公式以下: $h(x) = -\log_2p(x)$.
- 思考兩個問題:
2 信息熵
- 定義:用來度量信息的不肯定程度。
- 解釋: 熵越大,信息量越大。不肯定程度越低,熵越小,好比「明天太陽從東方升起」這句話的熵爲0,由於這個句話沒有帶有任何信息,它描述的是一個肯定無疑的事情。
- 公式: $$H(X) = -\sum_{i=1}^n p(x_i)\log{p(x_i)}$$
2.1 舉個例子
- 題目:假設有隨機變量X,用來表達明每天氣的狀況。X可能出現三種狀態 1) 晴天2) 雨天 3)陰天。每種狀態的出現機率均爲P(i) = 1/3,那麼根據熵的公式,能夠計算獲得:$H(X) = - 1/3 * log(1/3) - 1/3 * log(1/3) - 1/3 * log(1/3) = 0.47712(10爲底)$。若是log以2爲底獲得的結果是1.58496。
- 關於「熵」不一樣的教材會有所區別,例如二、十、e爲底,事實上影響的是「單位」,爲了統一單位,使用換底公式進行調換。
- 若是這三種狀態出現的機率爲(0.1, 0.1, 0.8), 那麼 $H(X) = -0.1 * log(0.1) * 2 - 0.8 * log(0.8) = 0.27753$,以2爲底的結果是:0.92193。
- 能夠發現前面一種分佈X的不肯定程度很高,每種狀態都頗有可能。後面一種分佈,X的不肯定程度較低,第三種狀態有很大機率會出現。 因此對應前面一種分佈,熵值很高,後面一種分佈,熵值較低(2爲底)。
- 信息熵還能夠做爲一個系統複雜程度的度量,若是系統越複雜,出現不一樣狀況的種 類越多,那麼他的信息熵是比較大的。若是一個系統越簡單,出現狀況種類不多(極端狀況爲1種狀況,那麼對應機率爲1, 那麼對應的信息熵爲0),此時的信息熵較小。
3 條件熵
- 在一個條件下,隨機變量的不肯定性。
- $H(X|Y) = -\sum_{x=0,1,2;y=0,1}^{x,y}p(x,y)\log{p(x|y)}$。
- 具備前後性。
4 信息增益
- 信息增益 = 熵 - 條件熵。
- 信息增益越大,機器學習越精準,loss越小。
- 信息增益的應用: 咱們在利用進行分類的時候,經常選用信息增益更大的特徵,信息增益大的特徵對分類來講更加劇要。決策樹就是經過信息增益來構造的,信息增益大的特徵每每被構形成底層的節點。
5 互信息
- 定義:指兩個隨機變量之間的相關程度。
- 理解:肯定隨機變量X的值後,另外一個隨機變量Y不肯定性的削弱程度,於是互信息取值 最小爲0,意味着給定一個隨機變量對肯定一另外一個隨機變量沒有關係,最大取值爲隨機變量的熵,意味着給定一個隨機變量,能徹底消除另外一個隨機變量的不肯定性。這個概念和條件熵相對。
- 公式:$I(X;Y)=H(X)-H(X|Y)$
- 通過推導後,咱們能夠直觀地看到H(X)表示爲原隨機變量X的信息量,H(X|Y)爲 知道事實Y後X的信息量,互信息I(X;Y)則表示爲知道事實Y後,原來信息量減小 了多少。
- 假設X,Y徹底無關,H(X) = H(X|Y) , 那麼I(X;Y) = 0 假設X,Y徹底相關,H(X|Y) =0, 那麼I(X;Y) = H(X) 條件熵越大,互信息越小,條件熵越小,互信息越大。
- 互信息和信息增益實際是同一個值。
![image](http://static.javashuo.com/static/loading.gif)
6 交叉熵
- 若是使用估計的分佈q來表示來自真實分佈p的平均編碼長度,則:
- $H(p,q)=-\sum_{x}p(y)\log{q(x)}$.
- 注意與聯合熵區別。
- 假如X爲一組已知的輸入特徵值,Y爲一組已知的輸出分類。優化的目標是爲了找到一個映射模型F, 使得預測值Y_ = F(X)與真值Y最類似。但現實世界的Y和Y_的分佈確定不是徹底一致的。 因此:
- Y 服從p分佈(即真實分佈)。
- Y_ 服從q分佈。
- 交叉熵cross_entropy即爲描述p,q兩個分佈差別性的指標。
- 由於咱們編碼的樣原本自於真實的分佈p,因此乘的是真實機率。在圖像分類的時候, 好比softmax分類器,在訓練的時候,咱們已經給定圖像的標籤,因此這個時候每幅圖 片的真實機率就是1,這個時候的損失函數就是: $$ H(p,q) = -\sum_i\log(q_i) $$
- 交叉熵要大於等於真實分佈的信息熵(最優編碼)。
思考:
根據上面的敘述,咱們瞭解到:信息論中,對於孤立的一個隨機變量咱們能夠用熵來量化;對於兩個隨機變量有依賴關係,咱們能夠用互信息來量化。那麼:對於兩個隨機變量之間相差多少?也就是說,這兩個隨機變量的分佈函數類似嗎?若是不類似,那麼它們之間差能夠量化嗎?
7 相對熵
- 由交叉熵可知,用估計的機率分佈所需的編碼長度,比真實分佈的編碼長,可是 長多少呢?這個就須要另外一個度量,相對熵,也稱KL散度。
- 公式: $D(p||q)=H(p,q)-H(p)=\sum_{i=1}^n p_i\log{\frac{p_i}{q_i}}$
8 總結
- 信息熵是衡量隨機變量分佈的混亂程度,是隨機分佈各事件發生的信息量的指望值, 隨機變量的取值個數越多,狀態數也就越多,信息熵就越大,混亂程度就越大。當隨機分佈爲均勻分佈時,熵最大;信息熵推廣到多維領域,則可獲得聯合信息熵H(X,Y); 條件熵表示的是在X給定條件下,Y的條件機率分佈的熵對X的指望。
- 交叉熵能夠來衡量在給定的真實分佈下,使用非真實分佈所指定的策略消除系統的不肯定性所須要付出的努力的大小。
- 相對熵能夠用來衡量兩個機率分佈之間的差別。 或者:
- 信息熵是傳輸一個隨機變量狀態值所需的比特位下界(最短平均編碼長度)。
- 交叉熵是指用分佈q來表示真實分佈p的平均編碼長度。
- 相對熵是指用分佈q來表示分佈p額外須要的編碼長度。