機器學習中你需要了解的各種熵

1前言

信息熵是信息論和機器學習中非常重要的概念,信息是一個很抽象的概念,如何量化信息呢?香農提出了‘信息熵’概念來解決了這個問題。本篇博客主要是詳細記錄信息熵中的一些概念 (自信息,熵,交叉熵,相對熵,互信息,決策樹中相關的熵),以方便自己日後回顧,所以不免從書上或者各篇博客中收集了素材,但是本着尊重原創,後面都列出了參考鏈接,在此也感謝參考鏈接上的作者。

2各種熵的詳細介紹

2.1自信息

自信息表示某一事件發生時所帶來的信息量的多少。但是什麼纔是信息量呢?簡單點說就是我能從一件事情發生得到的信息多少。如果一件事很大概率的發生,對於這件事的發生我們並不會很奇怪,於是我們從這件事發生獲取的信息量就比較少,如果比較小概率的事件發生發了,我們接收到的信息就比較多。>換句話說就是,某一事件發生的概率非常小,但是實際上卻發生了(觀察結果),則此時的自信息非常大;某一事件發生的概率非常大,並且實際上也發生了,則此時的自信息較小。

圖1 >**說明:** 1.圖中I(P)表示某件事情發生獲取到的信息量,其中P表示事件發生的概率分佈。I(pi)表示該事件發生的第i種情況下獲取到的信息量。 2.等式中其中負號是用來保證信息量是正數或者零。而log函數基的選擇是任意的(信息論中基常常選擇爲2,因此信息的單位爲比特bits;而機器學習中基常常選擇爲自然常數,因此單位常常被稱爲奈特nats)
2.2信息熵

自信息中的某件事情,我們可以定義爲一個隨機變量X。其中P表示隨機變量的概率分佈。信息熵H(X)被稱爲隨機變量X的熵,它表示隨機變量不確定的度量,是對所有可能發生的事件產生的信息量的期望。可以理解爲該事件上能獲取到的平均信息量。
圖2

說明:
1.從上述公式可以看出,熵只依賴於X的分佈,與X的取值無關。
2.令0log0=0(因爲某個取值概率可能爲0)
3.熵越大,隨機變量的不確定性就越大(事件發生越是不確定,信息量就越大,平均信息量越大,那麼也可以代表這個變量的不確定性越大)

2.3條件熵和聯合熵

**a.**條件熵H(Y|X)表示在已知隨機變量X的條件下隨機變量Y的不確定性。條件熵H(Y|X)定義爲X給定條件下Y的條件概率分佈的熵對X的數學期望.
圖4
**b.**其中聯合熵爲隨機變量X與隨機變量Y同時發生的概率分佈的熵。
圖5
**c.**聯合熵與條件熵之間的關係爲:
圖7

2.4交叉熵

交叉熵常常被用於機器學習的代價函數,多用於分類模型的代價函數。其主要是用於度量兩個分佈之間的差異性。話不多說先給出交叉熵的公式:
圖3

說明:
1.p(x)和q(x)爲樣本集的兩個概率分佈,也就是機器學習中的樣本x爲各個類別label的概率分佈.其中p(x) 爲真實分佈,q(x)非真實分佈-預測的概率分佈。logq(x)表示的是q的信息量。
2.交叉熵是如何衡量概率分佈p,q之間的差異的?真實的樣本概率分佈是p(x),H(p,q)表示的是用q(x)進行對真實的樣本進行編碼得到的熵的大小,交叉熵熵越大,越不確定,差異越大。

2.5相對熵

使用非真實分佈q(x)對樣本x發生的概率進行編碼得到的平均碼長H(p,q)比真實分佈p(x)對樣本x發生的概率進行編碼得到的平均碼長(H§)多出的比特數就是相對熵也稱KL散度.給出公式:
圖9

說明:
1.交叉熵和相對熵兩種熵度量兩個概率分佈之間的差異是等價的。從公式上來看,兩者之間相差一個H§爲真實樣本的概率分佈,在機器學習中,訓練數據分佈是固定的,最小化相對熵DKL(p||q)等價於最小化交叉熵H(p,q)也等價於最大化似然估計。
2.DKL是非負性的。圖9
3.非對稱的,公式中可以看出,KL散度是衡量兩個分佈的不相似性,不相似性越大,則值越大,當完全相同時,取值爲0。

2.6互信息

一個隨機變量由於已知另一個隨機變量而減少的不確定性,或者說從貝葉斯角度考慮,由於新的觀測數據y到來而導致x分佈的不確定性下降程度。列出公式:
圖10

說明:
1.互信息其在特性選擇、分佈的距離評估中應用非常廣泛。
2.其實互信息和相對熵也存在聯繫,如果說相對熵不能作爲距離度量,是因爲其非對稱性,那麼互信息的出現正好彌補了該缺陷,使得我們可以計算任意兩個隨機變量之間的距離,或者說兩個隨機變量分佈之間的相關性、獨立性。

決策樹中相關的熵的使用

包括【信息增益、信息增益比、gini係數】。筆者在其他博文中已經介紹

3總結

1.自信息是衡量隨機變量中的某個事件發生時所帶來的信息量的多少,越是不可能發生的事情發生了,那麼自信息就越大;
2.信息熵是衡量隨機變量分佈的混亂程度,是隨機分佈各事件發生的信息量的期望值,隨機變量的取值個數越多,狀態數也就越多,信息熵就越大,混亂程度就越大。當隨機分佈爲均勻分佈時,熵最大;信息熵是傳輸一個隨機變量狀態值所需的比特位下界(最短平均編碼長度)
3.自信息,信息熵都是針對一個隨機變量的,而交叉熵、相對熵和互信息可以衡量兩個隨機變量之間的關係。相對熵是指用q來表示分佈p額外需要的編碼長度。交叉熵是指用分佈 q 來表示本來表示分佈 p 的平均編碼長度。
交叉熵一般用在神經網絡和邏輯迴歸中作爲損失函數,相對熵一般用在生成模型中用於評估生成的分佈和真實分佈的差距,而互信息是純數學的概念,作爲一種評估兩個分佈之間相似性的數學工具,其三者的關係是:最大化似然函數,等價於最小化負對數似然,等價於最小化交叉熵,等價於最小化KL散度,互信息相對於相對熵區別就是互信息滿足對稱性;
4.對於決策樹中的信息增益、信息增益比、gini係數主要是用於特徵選擇。信息增益中的兩個隨機變量是把一個變量看成是減少另一個變量不確定度的手段。信息增益率主要是克服信息增益存在的在某種特徵上分類特徵細,但實際上無意義取值時候導致的決策樹劃分特徵失誤的問題。(特徵取值多,信息增益比較大的問題)。gini係數主要考慮的是計算快速性、高效性。基尼係數主要是度量數據劃分對訓練數據集D的不純度大小,基尼係數越小,表明樣本的純度越高。

4參考鏈接

機器學習各種熵:從入門到全面掌握

詳解機器學習中的熵、條件熵、相對熵和交叉熵

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章