特徵選擇
特徵選擇問題
特徵選擇顧名思義就是對特徵進行選擇性擷取,剔除掉冗餘特徵。這樣能夠減少決策樹的複雜度。
比如在上面兩圖中,左圖透過年齡來對樣本進行分類,而右圖透過工作對特徵進行分類,二者究竟孰好孰壞,這是需要進行比較的。一個非常直接的想法就是僅用選擇的特徵去訓練模型,然後得出用各個特徵的準確率。但是顯然這樣做過於繁瑣與複雜,通常特徵選擇的準則是資訊增益或資訊增益比。
資訊增益與資訊增益比
資訊增益描述了在得知已知資訊(特徵X)的情況下能夠使得類別Y的資訊的不確定性減少的程度。比如說,在不知道任何樣本的特徵資訊情況下,我們知道Y的不確定性程度為0.7,現在你知道了樣本的某個特徵\(x_i\),那麼假設Y的不確定性程度減少為0.5,那麼所得的資訊增益即為0.2,這表示特徵x對減少Y的不確定性程度的貢獻。
在上面的例子中,我們提到了重要的兩點,第一個是Y的不確定性程度,第二個是Y在X為某個特徵時的不確定性程度。那麼該怎麼計算它們?
熵
熵是反應隨機變數不確定性的度量。假設隨機變數\(X\)的機率分佈為
那麼其熵的定義為
那麼當隨機變數\(X\)只能取0, 1時,其熵為
顯然當\(p\)為0時或1時熵恰好為0,此時表明熵最小,說明隨機變數\(X\)很穩定,若\(p\)為0.5,則熵對應最大,表明隨機變數\(X\)很不確定,因為它取0或取1的機率相等,具有很大的不確定性。
條件熵
條件熵表示在已知隨機變數\(X\)的條件下隨機變數\(Y\)的不確定性。它透過下式定義
其中\(p_i=P(X=x_i)\)
資訊增益
資訊增益表示特徵\(X\)給定的情況下對\(Y\)的不確定性減少的程度,因此需要知道原本\(Y\)的熵和給定\(X\)後的熵,由下式給出
其中
其中\(D\)表示訓練資料集,\(A\)表示所選特徵。
透過上面的公式我們就可以計算出每個特徵的資訊增益啦,也就可以其進行排序,優先選擇大的。