信息熵與信息增益(IE, Information Entropy; IG, Information Gain)機器學習
信息增益是機器學習中特徵選擇的關鍵指標,而學習信息增益前,須要先了解信息熵和條件熵這兩個重要概念。學習
信息熵(信息量)spa
信息熵的意思就是一個變量i(就是這裏的類別)可能的變化越多(只和值的種類多少以及發生機率有關,反而跟變量具體的取值沒有任何關係),它攜帶的信息量就越大(由於是相加累計),這裏就是類別變量i的信息熵越大。orm
系統越是有序,信息熵就越低;反之,一個系統越亂,信息熵就越高。因此,信息熵也能夠說是系統有序化程度的一個衡量。blog
二分類問題中,當X的機率P(X)爲0.5時,也就是表示變量的不肯定性最大,此時的熵也達到最大值1。排序
條件熵文檔
條件熵的直觀理解:單獨計算明天下雨的信息熵H(Y)是2,而條件熵H(Y|X)是0.01(即今天陰天這個條件下,明天下雨的機率很大,肯定性很大,信息量就不多),這樣相減後爲1.99,在得到陰天這個信息後,下雨信息不肯定性減小了1.99!是不少的!因此信息增益大!因此是否陰天這個特徵信息X對明天下雨這個隨機變量Y的來講是很重要的!io
由於條件熵中X也是一個變量,意思是在一個變量X的條件下(變量X的每一個值都會取),另外一個變量Y熵對X的指望,這裏的指望就是指全部狀況各自機率的∑總和。form
在文本分類中,特徵詞t的取值只有t(表明t出現)和(表明t不出現)。那麼系統熵等於兩種條件熵按比例求和:變量
示例說明條件熵
設樣品房數據集樣本12份,變量Y爲房屋價格,根據價格計算該數據集的香農熵(即信息熵),其中價格高的4個佔1/3,價格中等的6個佔1/2,價格低的2個佔1/6,其香農熵爲:
如圖,在房屋的面積X這個條件下計算價格Y的條件熵,根據面積X,面積大的4個(價格3高1中)設爲a,面積中的3個(價格3中)設爲b,面積小的5個(價格1高2中2低)設爲c,先分別計算a,b,c條件下的信息熵爲:
再計算a,b,c信息熵的按比例求和,便獲得在條件X條件下,Y的條件熵爲:
信息增益
評價一個系統的特徵t對系統的影響程度就要用到條件熵,便是特徵t存在和不存在的條件下,系統的類別變量i的信息熵。特徵t條件下的信息熵與原始信息熵的差值就是這個特徵給系統帶來的信息增益。
信息增益最大的問題還在於它只能考察特徵對整個系統的貢獻,而不能具體到某個類別上,這就使得它只適合用來作所謂「全局」的特徵選擇(指全部的類都使用相同的特徵集合),而沒法作「本地」的特徵選擇(每一個類別有本身的特徵集合,由於有的詞,對這個類別頗有區分度,對另外一個類別則無足輕重)。
附:特徵提取步驟
1. 卡方檢驗
1.1 統計樣本集中文檔總數(N)。
1.2 統計每一個詞的正文檔出現頻率(A)、負文檔出現頻率(B)、正文檔不出現頻率(C)、負文檔不出現頻率(D)。
1.3 計算每一個詞的卡方值,公式以下:
1.4 將每一個詞按卡方值從大到小排序,選取前k個詞做爲特徵,k即特徵維數。
2. 信息增益
2.1 統計正負分類的文檔數:N一、N2。
2.2 統計每一個詞的正文檔出現頻率(A)、負文檔出現頻率(B)、正文檔不出現頻率)、負文檔不出現頻率。
2.3 計算信息熵
2.4 計算每一個詞的信息增益
2.5 將每一個詞按信息增益值從大到小排序,選取前k個詞做爲特徵,k即特徵維數。