1. 程式人生 > >信息量的度量——熵(entropy)

信息量的度量——熵(entropy)

現在 由於 enter bit 排除 信息增益 隨機 因此 ID

引言 (廢話)

我們經常說的“信息量太大了”,其中的”信息量“到底如何度量?

Claude Elwood Shannon 借鑒了熱力學的概念,把信息中排除了冗余後的平均信息量稱為“信息熵”。

這個概念現在看著很簡單易懂,但是開創性地提出這樣的概念不是容易的事情。

1 Entropy 熵

熵(entropy)可以度量隨機變量的不確定性,設X是一個取有限值得離散隨機變量,其概率分布為

$P(X=x_i)=p_i, \quad i=1,2,\cdots,n$

則隨機變量X的熵定義為

$H(X)=-\sum\limits_{i=1}^{n}{p_i}\log{p_i}$

其中,如果對數以2為底,則熵的單位可以稱作bit,由於熵只與X的分布有關,與X的具體取值無關,因此也可以表示為

$H(p)=-\sum\limits_{i=1}^{n}{p_i}\log{p_i}$


2 Information gain 信息增益

  • Conditional entropy 條件熵

設有隨機變量\((X,Y)\),其聯合概率分布為

$P(X=x_i, Y=y_j)=p_{ij}, \quad i=1,2,\cdots,n ; \quad j=1,2,\cdots,m$

條件熵\(H(Y|X)\)可以表示在隨機變量\(X\)已知的情況下隨機變量\(Y\)的不確定性. 隨機變量X給定的條件下隨機變量\(Y\)的條件熵(conditional entropy)\(H(Y|X)\),定義為\(X\)

給定條件下\(Y\)的條件概率分布的熵對\(X\)的數學期望

$H(Y|X)=\sum\limits_{i=1}^{n}p_iH(Y|X=x_i)$

其中,\(p_i=P(X=x_i),\quad i=1,2,\cdots,n.\)

當熵和條件熵忠的概率由數據估計(特別是極大似然估計)得到時,所對應的熵與條件熵分別稱為經驗熵(empirical entropy)和經驗條件熵(empirical conditional entropy). 此時,如果有0概率,令\(0\log0=0\).

  • Information gain 信息增益

信息增益(information gain)表示得知特征X的信息而使得得知類Y的信息的不確定性減少的程度.

特征A對訓練數據集D的信息增益\(g(D,A)\),定義為集合D的經驗熵\(H(D)\)與特征A給定條件下D的經驗條件熵\(H(D|A)\)之差,即

$g(D,A)=H(D)-H(D|A)$

\(H(Y)\)與條件熵\(H(Y|X)\)之差也常被稱為互信息(mutual information). 決策樹學習中的信息增益等價於訓練數據集中類與特征的互信息。


3 Information gain ratio 信息增益比

在實際訓練模型時,以信息增益作為劃分訓練數據集的特征,會偏向於選擇取值較多的特征. 因此,也常常使用信息增益比來作為準則.

特征A對訓練數據集D的信息增益比\(g_R(D,A)\)定義為其信息增益\(g(D,A)\)與訓練數據集D關於特征A的值的熵\(H_A(D)\)之比,即

$g_R(D,A)=\frac{g(D,A)}{H_A(D)}$

其中,\(H_A(D)=-\sum\limits_{i=1}^{n}{\frac{|D_i|}{|D|}\log_2{\frac{|D_i|}{|D|}}}\)\(n\)是特征A取值的個數.

信息量的度量——熵(entropy)