1. 程式人生 > >機器學習之資訊增益(熵和條件熵)

機器學習之資訊增益(熵和條件熵)

要了解資訊增益,我們要先知道熵與條件熵的定義。

2.1 熵

熵是無序度的度量,在資訊理論和統計中,熵表示隨機變數不確定性的度量。假設XX是一個取有限值的離散型隨機變數,它的概率分佈如下: 

P(X=xi)=pi,i=1,2,…,nP(X=xi)=pi,i=1,2,…,n


則隨機變數XX的熵定義為: 

H(X)=−∑i=1npilogpiH(X)=−∑i=1npilog⁡pi


若pi=0,定義0log0=0若pi=0,定義0log⁡0=0,從上式中可以看到,熵只依賴於XX的分佈,而與XX的取值沒有關係。熵越大,隨機變數的不確定性就越大。故可以將X的熵記作H(p):X的熵記作H(p):

H(p)=−∑i=1npilogpiH(p)=−∑i=1npilog⁡pi

2.2 條件熵

設有隨機變數(X,Y)(X,Y),其聯合概率分佈為: 

P(X=xi,Y=yj)=pij,i=1,2,…,n;j=i=1,2,…,mP(X=xi,Y=yj)=pij,i=1,2,…,n;j=i=1,2,…,m


條件熵H(Y|X)H(Y|X)表示在已知隨機變數XX的條件下隨機變數YY的不確定性。隨機變數XX給定的條件下隨機變數YY的條件熵H(Y|X)H(Y|X)定義為XX給定條件下YY的條件概率分佈的熵對XX的數學期望: 

H(Y|X)=∑i=1npiH(Y|X=xi),pi=P(X=xi),i=1,2,…,nH(Y|X)=∑i=1npiH(Y|X=xi),pi=P(X=xi),i=1,2,…,n


當熵和條件熵中的概率由資料估計得來時,所對應的熵和條件熵稱為經驗熵和經驗條件熵。

2.3 資訊增益

資訊增益表示得知特徵XX的資訊而使得類YY的資訊不確定性減少的程度。 
資訊增益 
特徵A對訓練資料集D的資訊增益g(D,A),定義為集合D的經驗熵H(D)與特徵A給定條件下D的經驗條件熵H(D|A)之差:特徵A對訓練資料集D的資訊增益g(D,A),定義為集合D的經驗熵H(D)與特徵A給定條件下D的經驗條件熵H(D|A)之差:

g(D,A)=H(D)−H(D|A)g(D,A)=H(D)−H(D|A)


資訊增益大的特徵具有更強的分類能力。 
根據資訊增益準則進行特徵選擇的方法是:對訓練資料集DD,計算其每個特徵的資訊增益,並比較它們的大小,選擇最大的特徵。

三、資訊增益比

通過資訊增益選取特徵的時候,存在偏向於選擇取值較多的特徵的問題。使用資訊增益比可以糾正這一問題。

資訊增益比 
特徵A對訓練資料集D的資訊增益比gR(D,A)定義為其資訊增益g(D,A)與訓練資料集D關於特徵A的值的熵HA(D)之比,即:特徵A對訓練資料集D的資訊增益比gR(D,A)定義為其資訊增益g(D,A)與訓練資料集D關於特徵A的值的熵HA(D)之比,即:

gR(D,A)=g(D,A)HA(D)HA(D)=−∑i=1n|Di||D|log2|Di||D|gR(D,A)=g(D,A)HA(D)HA(D)=−∑i=1n|Di||D|log2⁡|Di||D|


n 是特徵A取值的個數。