信息論和統計學

首先先強烈推薦一篇外文博客Visual Information Theory這個博客的博主colah是個著名的計算機知識科普達人,之前非常著名的那篇LSTM講解的文章也是他寫的。這篇文章詳細講解了信息論中許多基本概念的來龍去脈,而且非常的直觀用了大量的圖片,和形象化的解釋。

信息量

信息量用一個信息所需要的編碼長度來定義,而一個信息的編碼長度跟其出現的概率呈負相關,因爲一個短編碼的代價也是巨大的,因爲會放棄所有以其爲前綴的編碼方式,比如字母”a”用單一個0作爲編碼的話,那麼爲了避免歧義,就不能有其他任何0開頭的編碼詞了.所以一個詞出現的越頻繁,則其編碼方式也就越短,同時付出的代價也大.

I=log2(1p(x))=−log2(p(x))” role=”presentation”>I=log2(1p(x))=log2(p(x))I=log2(1p(x))=−log2(p(x))

信息熵

而信息熵則代表一個分佈的信息量,或者編碼的平均長度

H(p)=∑xp(x)log2⁡(1p(x))=−∑xp(x)log2⁡(p(x))” role=”presentation”>H(p)=xp(x)log2(1p(x))=xp(x)log2(p(x))H(p)=∑xp(x)log2⁡(1p(x))=−∑xp(x)log2⁡(p(x))

即信息量的均值

交叉熵 cross-entropy

交叉熵本質上可以看成,用一個猜測的分佈的編碼方式去編碼其真實的分佈,得到的平均編碼長度或者信息量

Hp(q)=∑xq(x)log2⁡(1p(x))” role=”presentation”>Hp(q)=xq(x)log2(1p(x))Hp(q)=∑xq(x)log2⁡(1p(x))

如上面的式子,用猜的的p分佈,去編碼原本真是爲q的分佈,得到的信息量

交叉熵 cross-entropy在機器學習領域的作用

交叉熵cross-entropy在機器學習領域中經常作爲最後的損失函數
爲什麼要用cross-entropy呢,他本質上相當於衡量兩個編碼方式之間的差值,因爲只有當猜測的分佈約接近於真實分佈,則其值越小。
比如根據自己模型得到的A的概率是80%,得到B的概率是20%,真實的分佈是應該得到A,則意味着得到A的概率是100%,所以

L=−∑iyilog(p(xi))+(1−yi)log(1−p(xi))” role=”presentation”>L=iyilog(p(xi))+(1yi)log(1p(xi))L=−∑iyilog(p(xi))+(1−yi)log(1−p(xi))

在LR中用cross-entry比平方誤差方法好在:

  1. 在LR中,如果用平方損失函數,則損失函數是一個非凸的,而用cross-entropy的話就是一個凸函數
  2. 用cross-entropy做LR求導的話,得到的導數公式如下
    ∂L∂θj=−∑i(yi−p(xi))xij” role=”presentation”>Lθj=i(yip(xi))xij∂L∂θj=−∑i(yi−p(xi))xij

    而用平方損失函數的話,其求導結果爲
    ∂L∂θj=−∑i(yi−p(xi))p′(xi)” role=”presentation”>Lθj=i(yip(xi))p(xi)∂L∂θj=−∑i(yi−p(xi))p′(xi)

    平方損失函數中會出現p′(xi)” role=”presentation”>p(xi)p′(xi)而sigmoid函數的導數會出現梯度消失的問題【一些人稱之爲飽和現象】

KL散度

KL散度/距離是衡量兩個分佈的距離,KL距離一般用D(q||p)” role=”presentation”>D(q||p)D(q||p)稱之爲q對p的相對熵

Dq(p)=Hq(p)−H(p)=∑xq(x)log2⁡(q(x)p(x))” role=”presentation”>Dq(p)=Hq(p)H(p)=xq(x)log2(q(x)p(x))Dq(p)=Hq(p)−H(p)=∑xq(x)log2⁡(q(x)p(x))

KL散度與cross-entropy的關係

用圖像形象化的表示二者之間的關係可以如下圖:
這裏寫圖片描述
上面是q所含的信息量/平均編碼長度H(p)” role=”presentation”>H(p)H(p)
第二行是cross-entropy,即用q來編碼p所含的信息量/平均編碼長度|或者稱之爲q對p的cross-entropy
第三行是上面兩者之間的差值即爲q對p的KL距離

非負性證明

根據上圖顯然其爲非負的,但是怎麼去證明呢,還是利用琴生不等式

Dq(p)=∑xq(x)log2⁡(q(x)p(x))” role=”presentation”>Dq(p)=xq(x)log2(q(x)p(x))Dq(p)=∑xq(x)log2⁡(q(x)p(x))

=−∑xq(x)log2⁡(p(x)q(x))” role=”presentation”>=xq(x)log2(p(x)q(x))=−∑xq(x)log2⁡(p(x)q(x))

=−E(log2(p(x)q(x)))” role=”presentation”>=E(log2(p(x)q(x)))=−E(log2(p(x)q(x)))

≥log2E(p(x)q(x))” role=”presentation”>log2E(p(x)q(x))≥log2E(p(x)q(x))

=log2∑xq(x)(p(x)q(x))” role=”presentation”>=log2xq(x)(p(x)q(x))=log2∑xq(x)(p(x)q(x))

=log2∑xp(x)” role=”presentation”>=log2xp(x)=log2∑xp(x)

因爲∑xp(x)=1” role=”presentation”>xp(x)=1∑xp(x)=1
所以上式
Dq(p)≥0” role=”presentation”>Dq(p)0Dq(p)≥0

非負性證明完成

聯合信息熵和條件信息熵

下面幾條我們要說的是聯合分佈中(即同一個分佈中)的兩個變量相互影響的關係,上面說的KL和cross-entropy是兩個不同分佈之間的距離度量【個人理解是KL距離是對於同一個隨機事件的不同分佈度量之間的距離,所以是1.同一隨機事件*2.不同分佈*】。
這裏寫圖片描述

聯合信息熵:

H(X,Y)=∑x,yp(x,y)log2⁡(1p(x,y))” role=”presentation”>H(X,Y)=x,yp(x,y)log2(1p(x,y))H(X,Y)=∑x,yp(x,y)log2⁡(1p(x,y))

條件信息熵:
H(X|Y)=∑yp(y)∑xp(x|y)log2⁡(1p(x|y))” role=”presentation”>H(X|Y)=yp(y)xp(x|y)log2(1p(x|y))H(X|Y)=∑yp(y)∑xp(x|y)log2⁡(1p(x|y))

    =∑x,yp(x,y)log2⁡(1p(x|y))” role=”presentation”>    =x,yp(x,y)log2(1p(x|y))    =∑x,yp(x,y)log2⁡(1p(x|y))

舉個例子,更容易理解一些,比如天氣是晴天還是陰天,和我穿短袖還是長袖這兩個事件其可以組成聯合概率分佈H(X,Y)” role=”presentation”>H(X,Y)H(X,Y)對應着今天天氣分佈的信息量。
而今天天氣和我今天穿衣服這兩個隨機概率事件並不是獨立分佈的,所以如果已知今天天氣的情況下,我的穿衣的信息量/不確定程度是減少了的。
所以當已知H(x)” role=”presentation”>H(x)H(x)剩餘的信息量就是條件熵
H(Y|X)=H(X,Y)−H(X)” role=”presentation”>H(Y|X)=H(X,Y)H(X)H(Y|X)=H(X,Y)−H(X)

根據上面那個圖,也可以通俗的理解爲已知X的情況下,H(X,Y)剩餘的信息量

互信息(信息增益)

互信息就是一個聯合分佈中的兩個信息的糾纏程度/或者叫相互影響那部分的信息量

I(X,Y)=H(X)+H(Y)−H(X,Y)” role=”presentation”>I(X,Y)=H(X)+H(Y)H(X,Y)I(X,Y)=H(X)+H(Y)−H(X,Y)

I(X,Y)=H(Y)−H(Y|X)” role=”presentation”>I(X,Y)=H(Y)H(Y|X)I(X,Y)=H(Y)−H(Y|X)

決策樹中的信息增益就是互信息,決策樹是採用的上面第二種計算方法,即把分類的不同結果看成不同隨機事件Y,然後把當前選擇的特徵看成X,則信息增益就是當前Y的信息熵減去已知X情況下的信息熵。

通過下圖的刻畫更爲直觀一些
這裏寫圖片描述

以上圖可以清楚的看到互信息I(X,Y)” role=”presentation”>I(X,Y)I(X,Y)的不同求法
這裏還有另外一個量叫variation of information【不知道中文名叫啥】

V(X,Y)=H(X,Y)−I(X,Y)” role=”presentation”>V(X,Y)=H(X,Y)I(X,Y)V(X,Y)=H(X,Y)−I(X,Y)

Variation of information度量了不同隨機變量之間的差別,如果V(X,Y)=0” role=”presentation”>V(X,Y)=0V(X,Y)=0說明這兩個變量是完全一致的,其約大說明兩個變量越獨立。
這裏再注意一下Variation of information和KL距離的差別:
Variation of information是聯合分佈中(即同一個分佈中)的兩個變量相互影響的關係
KL和cross-entropy是兩個不同分佈之間的距離度量

非負性證明

I(X,Y)=H(X)+H(Y)−H(X,Y)” role=”presentation”>I(X,Y)=H(X)+H(Y)H(X,Y)I(X,Y)=H(X)+H(Y)−H(X,Y)

=−∑x,yp(x,y)(log(p(x))+log(p(y))−log(p(x,y)))” role=”presentation”>=x,yp(x,y)(log(p(x))+log(p(y))log(p(x,y)))=−∑x,yp(x,y)(log(p(x))+log(p(y))−log(p(x,y)))

=−∑x,yp(x,y)(log(p(x)p(y)p(x,y)))” role=”presentation”>=x,yp(x,y)(log(p(x)p(y)p(x,y)))=−∑x,yp(x,y)(log(p(x)p(y)p(x,y)))

=D(P(X,Y)||P(X)P(Y))” role=”presentation”>=D(P(X,Y)||P(X)P(Y))=D(P(X,Y)||P(X)P(Y))

即互信息可以轉化成兩個分佈P(X,Y)” role=”presentation”>P(X,Y)P(X,Y)之間的KL距離,而KL距離的非負性在上面已經被證明過了,所以
I(X,Y)≥0” role=”presentation”>I(X,Y)0I(X,Y)≥0

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章