可能理解的不對。
決策樹構建中節點的選擇靠的就是信息增益了。
信息增益是一種有效的特征選擇方法,理解起來很簡單:增益嘛,肯定是有無這個特征對分類問題的影響的大小,這個特征存在的話,會對分類系統帶來多少信息量,缺了他行不行?
既然是個增益,就是個差了,減法計算一下,誰減去誰呢?
這里就用到了信息熵的概念,放到分類系統里面,信息熵如何計算呢?
分類系統里面無非是樣本xi以及樣本的分類結果yi,假設這個分類系統有k類,那么作為訓練集來說,分類情況基本就定了,是按照樣本的各個特征定的。那么在這些樣本的信息的前提下,分類器有個結果,就自然包含了一種信息量在里面,可以用信息熵E(S)計算出來。
當然大家都知道熵表達的是不確定度,分布約均勻,越不確定,熵越大。
那么當把特征f引入的時候,會不會對系統的信息量有所影響呢?也就引入f之后的系統不確定度E(S|f)是多少呢?其實是個條件熵。也就是加入條件f之后,不確定度減少了多少?信息熵的有效減少量是多少?
為了計算條件熵,我們可以固定f的值,也就是根據f在訓練集中呈現的值,計算條件熵E(S|f)。簡單的說就是,把根據f划分的各個小系統的信息熵加權求和,權重就是各個小系統占系統S的比例(假設f有兩個值0、1,選0的時候有a個樣本,樣本當然有類別y;f是1的時候有b個樣本;a+b=n(樣本總數);那么權重就是a/n和b/n了;每個小系統的信息當然跟大系統求法一樣了)。
那么增益IG(f)=E(S)-E(S|f).
選擇 f*=argmax(IG(f))的f作為第一個根節點,然后遞歸下去吧。
-----------
關於信息增益進行特征選擇的問題,拿c類分類問題再理解下,如果一個特征都不參考,那么每個樣本屬於每個類的概率當然是1/c,此時整個系統的信息熵是最大的logc,一個極端的情況,加入特征A后,那么很明確的就將每個樣本分到某個類別中去了,概率分布(1,0,0,0....),是c維的。
那么此時整個系統的信息熵是不是就是最小的0了,此時加入A后的信息增益為1-0=1。當然,很少會有這么管用的特征,所以就比較信息增益大的特征,用來特征選擇。
