特征工程(3):特征选择—信息增益
? ? ? ?信息增益,基于信息熵來計算,它表示信息消除不確定性的程度,可以通過信息增益的大小為變量排序進行特征選擇。信息量與概率呈單調(diào)遞減關(guān)系,概率越小,信息量越大。
1. 基本概念
1.1 信息量
? ? ? ?信息量的數(shù)學定義如下式所示,U表示發(fā)送的信息,則表示發(fā)送信息U中的一種類型。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ??
1.2 先驗熵?
? ? ? ? ? 信息熵表示信息量的數(shù)學期望,是信源發(fā)出信息前的平均不確定性,也稱為先驗熵。信息熵的定義如下式所示 :
? ? ? ? ? ? ? ? ??
? ? ? ? (1)當?中某一種類型的概率為1時,即沒有發(fā)送信息的不確定性,信息熵;
? ? ? ? ? (2)? 當 對應(yīng)的概率都相等時,即概率都為,信息熵
1.3 后驗熵?
? ? ? 信息熵表示在發(fā)出信息U之前存在的不確定性,在接收到信息V之后,信息U的不確定性會發(fā)生改變,即后驗熵,它是接收到一定的信息后,對信息U進行的后驗判斷,定義如下:
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? 考慮所有信息V時,得到后驗熵的期望(又稱為條件熵)如下,表示在接收到V后對信息U仍存在的平均不確定性,即后驗不確定性,通常由隨機干擾引起。
? ? ? ? ? ? ? ? ? ? ? ??
2. 特征選擇
? ? 基于信息增益的特征選擇有兩種方式,即信息增益和信息增益率。
2.1 信息增益
? ? ? ? 信息增益,即先驗熵到后驗熵減少的部分,反映了信息消除不確定性的程度,定義如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ?特征選擇原理:在進行特征選擇時,以目標變量作為信息U,由特征變量作為信息V,帶入公式計算信息增益,通過信息增益的大小排序,來確定特征的順序,以此進行特征選擇。信息增益越大,表示變量消除不確定性的能力越強。
? ? ? ?缺點:當接收信號V為全不相同的類別時,將會使,信息增益將最大。由于每一個V值都是一個類別,對應(yīng)的U值也只有一個值,取該值的概率為1,這明顯是一種過擬合,因此基于信息增益來進行特征選擇存在不足。
2.2 信息增益率
? ? ?為解決信息增益的不足,在計算信息增益的同時,考慮接收信號V的自身特點,定義信息增益率如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ?當接收信號V具有較多類別值時,它自己的信息熵范圍會增大?(即各類別出現(xiàn)的概率相等時,有最大熵???????,因此當k較大時,其熵的取值范圍更大),而信息增益率不會隨著增大,從而消除類別數(shù)目帶來的影響。
3. 代碼實現(xiàn):R語言
? ? ? ? R語言的程序包FSelector提供了information.gain函數(shù)來計算信息增益,gain.ratio函數(shù)來計算信息增益率。實現(xiàn)代碼為:
library(FSelector)#計算信息增益 wt1 <- information.gain(y~.,data=data_xl)#計算信息增益率 wt2 <- gain.ratio(y~.,data=data_xl)result <- c(wt1,wt2) result <- data.frame(result) # rownames(result)<-rows colnames(result)<-c("gain","gain-ratio") write.csv(result,"gain_result.csv")?
總結(jié)
以上是生活随笔為你收集整理的特征工程(3):特征选择—信息增益的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特征工程(3):特征选择
- 下一篇: 高斯过程回归(GPR)—— 数学推导