信息量的度量——熵(entropy)
引言 (廢話)
我們經常說的“信息量太大了”,其中的”信息量“到底如何度量?
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\)
$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)