熵的基本概念

信息熵

定義

Entrophy:

sum([p*log(1/p) for each p])

p:      一次實驗的, x的發生的次數的指望是 p
1/p :   x發生一次, 指望要作的試驗次數是 1/p

例子

1.擲硬幣html

在該模型下,p = 1/2 。一次實驗的, x的發生的次數的指望是 1/2,x發生一次,指望要作的試驗次數是 2 所以,由上述可知:dom

log(1/p)=log(2)= 1
p*log(1/p)=1/2 * log(2) = 1/2

2.摸球函數

4個球 1個紅球 2個綠球 1個黑球post

紅球的機率 1/4
綠球 2/4=1/2
黑球 1/4

顯然編碼

1/4 * log(4) = 1/2
1/2 * 1 = 1/2
1/4 * 2 = 1/2

相對熵 (KL散度)

KL散度是兩個機率分佈P和Q差異的非對稱性的度量。 KL散度是用來 度量使用基於Q的編碼來編碼來自P的樣本平均所需的額外的比特個數。典型狀況下,P表示數據的真實機率分佈,Q表示數據的理論機率分佈,模型分佈,或P的近似分佈。spa

D(Q||P)=∑Q(x)[log(1/P(x))] - ∑Q(x)[log[1/Q(x)]]
       =∑Q(x)log[Q(x)/P(x)]

其中 ∑Q(x)[log(1/P(x))] 表示使用原來的編碼方式獲得的比特數的指望,log(1/P(x)) 表示使用原來的編碼方式,x出現1次的指望編碼長度 Q(x) 表示如今x出現的機率.net

因爲-log(u)是凸函數,所以有下面的不等式code

DKL(Q||P) = -∑x∈XQ(x)log[P(x)/Q(x)] = E[-logP(x)/Q(x)] ≥ -logE[P(x)/Q(x)]
          = -log∑x∈XQ(x)P(x)/Q(x) 
          = 0

KL-divergence始終是大於等於0的。當且僅當兩分佈相同時,KL-divergence等於0。orm

例子

好比有四個類別,一個方法A獲得四個類別的理論概分佈Q爲:0.1,0.2,0.3,0.4真實機率分佈P爲0.4,0.3,0.2,0.1,那麼這兩個分佈的KL-Distance(A,B)爲:htm

KL-Distance(A,B)=0.1*log(0.1/0.4)+0.2*log(0.2/0.3)+0.3*log(0.3/0.2)+0.4*log(0.4/0.1)

這個裏面有正的,有負的,能夠證實KL-Distance()>=0.從上面能夠看出,KL散度是不對稱的。即

$$KL-Distance(A,B)!=KL-Distance(B,A)$$

若是但願把它變對稱

$$Ds(p1, p2) = [ D (p1, p2) + D (p2, p1) ] / 2$$

條件熵

條件熵是信息論中信息熵的一種度量,它表示若是已經徹底知道第二個隨機變量 X 的前提下,隨機變量 Y 的信息熵還有多少。也就是 基於 X 的 Y 的信息熵,用 H(Y|X) 表示。同其它的信息熵同樣,條件熵也用比特、奈特等信息單位表示。具體有針對一個肯定的Xj 的條件熵,若是是針對一個隨機變量而言,條件熵是針對全部Xj的條件熵的指望

0805b3701844e957d57e426ddd55bfd5.png&objectId=1190000000641079&token=1bdd581041bfe7c8766e60824b5ba32d

補充信息

推導公式

H(Y|X)=Σx∈Ωp(x)H(Y|X=x)
   = Σx∈Ωp(x)(-Σ y∈Ψp(y|x)log2p(y|x))
   =-Σx∈Ω Σ y∈Ψp(y|x)p(x)log2p(y|x)
   = -Σx∈Ω Σ y∈Ψp(x,y)log2p(y|x)

信息

信息是經過熵與條件熵的差計量的:

擲一次骰子,因爲六種結局(點)的出現機率相等,因此結局的不肯定程度(熵)爲log6 ,若是告訴你擲骰子的結局是單數或者雙數,這顯然是一個信息。這個信息消除了咱們的一些不肯定性。把消除的不肯定性稱爲信息顯然是穩當的。

若是令公式中的y=x,H(x∣y)變成了H(x∣x),其含義固然是x已知時x的條件熵,但是x 已知時它本身固然沒有不肯定性了。把它帶入信息公式,獲得

H(x∣x)=0

信息量I=(x的不肯定性)- (獲得了消息y之後x的不肯定性)

I(x,y) = H(x)-H(x|y=x)=H(X)

也就是說條件Y已知時所帶來的信息剛好消除了原來的不肯定性。換句話說,得到的信息量等於產生不肯定性的信息量。正是在一些場合下把熵直接稱爲信息的緣由,而引出了信息是熵或者信息是負的熵的錯誤概念。
若是H(x)=H(x|y),則x,y相互獨立,即x,y之間互不影響,那麼信息量爲零。

圖片描述

上圖說明了變量y含有的關於變量x的信息與變量x含有的關於變量y的信息是相同的。
即變量之間含有的信息是對稱的.須要注意的是,圖中的關係爲熵H,不是機率P。

信息增益

信息量是經過熵與條件熵的差計量的
熵 - 條件熵:

IG(T,C) = H(T)-H(T|C)

推導公式:

圖片描述

在信息增益中,重要性的衡量標準就是看特徵可以爲分類系統帶來多少信息,帶來的信息越多,該特徵越重要。

缺點

由公式可知,該方法在計算機率時會產生一個問題,

例如P(Ci),表示類別Ci出現的機率,要用1除以類別總數。

即只能考察特徵對整個系統的貢獻,而不能具體到某個類別上,這就使得信息增益只適合用來作所謂「全局」的特徵選擇(指全部的類都使用相同的特徵集合),而沒法作「局部」的特徵選擇(每一個類別有本身的特徵集合,由於有的詞,對這個類別頗有區分度,對另外一個類別則無足輕重)。

互信息

參考【1】

互信息(Mutual Information)是一有用的信息度量,它是指兩個事件集合之間的相關性。

通常而言,信道中老是存在着噪聲和干擾,信源發出消息x,經過信道後信宿只可能收到因爲干擾做用引發的某種變形的y。信宿收到y後推測信源發出x的機率,這一過程可由後驗機率p(x|y)來描述。相應地,信源發出x的機率p(x)稱爲先驗機率。兩個事件X和Y的互信息定義爲:

x的後驗機率與先驗機率比值的對數爲y對x的互信息量,也稱交互信息量(簡稱互信息)

公式:

MI(x,y) = log( P(x,y)/P(x)P(y) )

注意`H()表示熵的計算公式。不是機率論中的公式`。

互信息也應用於統計語言模型,對於類別 c 和詞條 t,它們之間的互信息定義爲:

圖片描述

這是單個類別的互信息公式,將互信息應用於多個類別,有兩種經常使用的方法:設圖片描述爲目標空間的類的集合,則 平均和最大互信息公式分別爲

圖片描述

其意義:表示事件A發生與事件B發生相關聯而提供的信息量。該方法經過計算詞條(Term)和類別(Class)的互信息,詞條和類別的互信息越大,詞條越能表明該種類別。其中詞條和類別的互信息經過公式,這個和信息增益也有關係,具體見 綜合 部分.

在某個類別C中詞條T出現機率高,而在其它類別中出現的機率低,則該詞條T將得到較高互信息,也就可能被選取爲類別C的特徵。互信息是一種信息量,用於詞條T的存在可否正確判斷出類別C。

詞條和類別的互信息體現了詞條和類別的相關程度,互信息越大,詞條和類別的相關程度也越大。獲得詞條和類別之間的相關程度後,選取必定比例的,排名靠前的詞條做爲最能表明此種類別的特徵。

舉例

互信息I (X; Y) 是在知道了Y 的值後X 的不肯定性的減小量。即,Y 的值透露了多少關於X 的信息量。

好比計算兩個詞的搭配

I(偉大,祖國)=log2p(偉大,祖國)/(p(偉大)p(祖國))

此值較高,說明「偉大」和「祖國」是一個比較強的搭配

I(的,祖國)=log2p(的,祖國)/(p(的)p(祖國))

此值較低,由於p(的)過高,「的」和「祖國」不是一個穩定的搭配

另一個例子

k1     k2    k3   dk1   dk2   dk3   dc
c1  10     30     0    5     20    0    100
c2   0     20    50    0     10   15    120
c3  10     40    80    1     20   60    150

如表所示,其中ci表示類別;kj表示類中術語;dkn表示出現術語kj的文章的個數,這些文章是屬於每一個類的;dc表示每一個類包含的文章數。
用單個類別互信息公式計算K1與C1的互信息:

P(k1|c1) = 10/(10+30+0) = 1/4
P(k1) = (10+10)/(10+30+0+0+20+50+10+40+80) = 1/12
MI(k1,c1) = logP(k1,c1)/P(k1)P(c1)
          = logP(k1|c1)/P(k1)
          = log (1/4)/(1/12)
          = log 3

用多個類別互信息公式計算k1與ci的互信息,假設每一個類出現k1機率相等,現有3個類,故P(ci) = 1/3

MI(k1) = P(c1)logP(k1|c1)/P(k1)+ P(c2)logP(k1|c2)/P(k1)+P(c3)logP(k1|c3)/P(k1)
       = 1/3[log3+0+log(12/13)]

這裏存在兩個問題

(1)k1未出如今C2,那麼它的條件機率值爲0,在log中是不容許爲0的。
(2)k1與c3的互信息爲負值

缺點

未使用高頻詞和利用類別信息.
(1)傳統的互信息特徵選擇方法受邊緣機率的影響較大,可能產生稀有詞的機率評估分高於經常使用詞的評估 分,從而致使傾向於選擇低頻詞條的現象。
(2)當出現評估分數相同的狀況,但對每一個特徵的排序有前後之別,對他們的取捨是沒有理論依據的,可能形成結果的不理想。

自信息

參考【2】

自信息(英語:self-information),又譯爲信息本體,由克勞德·香農提出,用來衡量單一事件發生時所包含的信息量多寡。它的單位是bit,或是nats。

特徵選擇:

決策樹:特徵t能產生的信息增益 = 熵 - t對應的條件熵

Xj -> X, 這裏j只有兩種取值, 有 或者 沒有, 也就對應了決策樹的兩個分叉。

選擇信息增益最大的特徵。

實際中特徵t多是一個連續值,咱們須要選一個閾值,大於閾值的就等同於t出現, 小於閾值的就等同於t不出現,這個閾值也須要遍歷全部的樣本集中t的取值來肯定。 一樣仍是兩個分叉。 假設有n個特徵,m個樣本(最壞在每一個特徵處有m個值, 這樣尋找一次最大的信息增益的複雜度是 O(mn) 仍是挺大的)

若是有一個樣本集是這樣

f1 f2 f3
c1   1  0  1
c2   0  1  0
c3   1  1  0

能夠算c1 c2之間的類似度, 一樣也能夠算 f1, f2之間的類似度, 行和列而已, 實際中 c1 c2 c3不可能就一個樣本

f1 f2 f3
c1   1  0  1
c1   1  1  1
c2   0  1  0
c2   1  1  0
c3   1  1  0

這時候直接算列的類似度就很差算了, 用互信息就能夠,互信息就像是把類別做爲一個doc, 特徵做爲term, 的tf-idf模型,好比f3就很能表明c1, 一樣, 用信息增益也能夠算。

綜合

Wiki : Information gain in decision trees

In information theory and machine learning, information gain is a synonym for Kullback–Leibler divergence. However, in the context of decision trees, the term is sometimes used synonymously with mutual information, which is the expectation value of the Kullback–Leibler divergence of a conditional probability distribution.

In particular, the information gain about a random variable X obtained from an observation that a random variable A takes the value A=a is the Kullback-Leibler divergence DKL(p(x | a) || p(x | I)) of the prior distribution p(x | I) for x from the posterior distribution p(x | a) for x given a.

這篇文章提到互信息能夠和 tf-idf 同樣做爲文檔的關鍵詞的權值

相關文章
相關標籤/搜索