決策樹模型(2)特徵選擇

發表於2024-03-26

特徵選擇

特徵選擇問題

特徵選擇顧名思義就是對特徵進行選擇性擷取,剔除掉冗餘特徵。這樣能夠減少決策樹的複雜度。

比如在上面兩圖中,左圖透過年齡來對樣本進行分類,而右圖透過工作對特徵進行分類,二者究竟孰好孰壞,這是需要進行比較的。一個非常直接的想法就是僅用選擇的特徵去訓練模型,然後得出用各個特徵的準確率。但是顯然這樣做過於繁瑣與複雜,通常特徵選擇的準則是資訊增益或資訊增益比。

資訊增益與資訊增益比

資訊增益描述了在得知已知資訊(特徵X)的情況下能夠使得類別Y的資訊的不確定性減少的程度。比如說,在不知道任何樣本的特徵資訊情況下,我們知道Y的不確定性程度為0.7,現在你知道了樣本的某個特徵\(x_i\),那麼假設Y的不確定性程度減少為0.5,那麼所得的資訊增益即為0.2,這表示特徵x對減少Y的不確定性程度的貢獻。
在上面的例子中,我們提到了重要的兩點,第一個是Y的不確定性程度,第二個是Y在X為某個特徵時的不確定性程度。那麼該怎麼計算它們?

熵是反應隨機變數不確定性的度量。假設隨機變數\(X\)的機率分佈為

\[P(X=x_i)=p_i, i = 1,2,\cdots,n \]

那麼其熵的定義為

\[H(X)=H(P) = -\sum_{i=1}^n p_i \mathrm{log}p_i \]

那麼當隨機變數\(X\)只能取0, 1時,其熵為

\[H(P) = -p\mathrm{log}p-(1-p)\mathrm{log}(1-p) \]

顯然當\(p\)為0時或1時熵恰好為0,此時表明熵最小,說明隨機變數\(X\)很穩定,若\(p\)為0.5,則熵對應最大,表明隨機變數\(X\)很不確定,因為它取0或取1的機率相等,具有很大的不確定性。

條件熵

條件熵表示在已知隨機變數\(X\)的條件下隨機變數\(Y\)的不確定性。它透過下式定義

\[H(Y|X) = \sum_{i=1}^np_iH(Y|X=x_i) \]

其中\(p_i=P(X=x_i)\)

資訊增益

資訊增益表示特徵\(X\)給定的情況下對\(Y\)的不確定性減少的程度,因此需要知道原本\(Y\)的熵和給定\(X\)後的熵,由下式給出

\[g(Y,X)=g(D,A)=H(D)-H(D|A) \]

其中

\[H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}\mathrm{log}\frac{C_k}{D} \]

\[H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i|A=a_i)=-\sum_{i=1}^n\frac{|D_i|}{|D|}\sum_{k=1}^K\frac{|D_{ik}|}{|D_i|}\mathrm{log}\frac{|D_{ik}|}{|D_i|} \]

其中\(D\)表示訓練資料集,\(A\)表示所選特徵。
透過上面的公式我們就可以計算出每個特徵的資訊增益啦,也就可以其進行排序,優先選擇大的。

相關文章