1. 程式人生 > >【西瓜書】Chanp4 決策樹整理

【西瓜書】Chanp4 決策樹整理

        決策樹模型在監督學習中非常常見,可用於分類(二分類、多分類)和迴歸。一般而言,一棵“完全生長”的決策樹包含:特徵選擇、決策樹構建、剪枝三個過程。

一、決策樹的優點和缺點

       優點:

  1. 決策樹演算法中學習簡單的決策規則建立決策樹模型的過程非常容易理解
  2. 決策樹模型可以視覺化,非常直觀
  3. 應用範圍廣,可用於分類和迴歸,而且非常容易做多類別的分類
  4. 能夠處理數值型和連續的樣本特徵       

        缺點:

  1. 容易在訓練資料中生成複雜的樹結構,造成過擬合。剪枝可以緩解過擬合的副作用,常用方法使限制樹的高度、葉子節點的最少樣本數量。 
  2. 學習一棵最優的決策樹被認為是NP問題。實際中的決策樹是基於啟發式的貪心演算法建立的,不能保證建立全域性最優的決策樹。Random Forest引入隨機能緩解這個問題。

二、ID3演算法

       ID3由Ross Quinlan在1986年提出。ID3決策樹可以有多個分支,但是不能處理特徵值為連續值得情況。決策樹是一種貪心演算法,每次根據“最大資訊熵增益”選取當前最佳的特徵來分割資料,並按照該特徵的所有取值來切分,並不關係整體是否達到最優。ID3演算法十分簡單,核心是根據“最大資訊熵增益”原則選擇劃分當前資料集的最好特徵,在建立決策樹的過程中,根據特徵屬性劃分資料,使得原本“混亂”的資料的熵減少。

      Ent(D) = -\sum _{k=1}^{|y|}p_{k}log_{2}p_{k}

Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}Ent(D^{v}) 

三、C4.5演算法 

C4.5是Ross Quinlan在1993年在ID3的基礎上改進而提出的。ID3採用的資訊增益準則對可取值數目較多的屬性有所偏好(因為屬性值較多的Feature會有相對較大的資訊增益),為減少這種偏好可能帶來的不利影響(決策樹的繁華效能差,例如以編號劃分資料得到的決策樹不具有泛化能力),C4.5採用“增益率”(gain ratio)來選擇最優劃分屬性。增益率通過引入屬性a的“固有值”(instrinsic value)來懲罰取值較多的屬性a。除此之外,C4.5還彌補了ID3中不能處理特徵屬性值連續的問題(採用二分法實現連續屬性離散化),但是,對連續屬性值需要掃描排序,會降低C4.5的效能。最後,C4.5還解決了資料集的缺失值問題。

IV(a)=-\sum_{|D|}^{|D^v|}log_2\frac{|D^v|}{|D|}

GainRatio=\frac{Gain(D,a)}{IV(a)}

四、CART演算法

        CART(Classification and Regression tree)分類迴歸樹由L.Breiman, J.Friedman, R.Olshenhe C.Stone

於1984年提出。ID3中根據屬性值分割資料,之後該特徵不會再起作用,這種快速分割的方式會影響演算法的準確率。CART是一棵二叉樹,採用二元切分法,每次把資料切成兩份,分別進入左子樹、右子樹。相比ID3和C4.5,CART應用要多一些,既可以用於分類也可以用於迴歸。CART用於分類時,使用基尼指數(Gini)來選擇最好的資料分割的特徵,Gini(D)反映了從資料集D中隨機抽取兩個樣本,其類別標記不一致的概率,因此,Gini(D)越小,則資料集D的純度越高:

Gini(D)=1-\sum_{k=1}^{|y|}p_{k}^{2}

          屬性a的基尼指數定義:

GiniIndex(D,a)=\sum_{v=1}^{V}\frac{|D^v|}{|D|}Gini(D^v)