1. 程式人生 > >機器學習篇:決策樹的理解

機器學習篇:決策樹的理解

1、決策樹是一個樹結構(可以是二叉樹或非二叉樹)

決策樹是一個樹結構(可以是二叉樹或非二叉樹)其每個非葉節點表示一個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,知道到達葉子節點,將葉子節點存放的類別作為決策結果。

2、決策樹分為分類樹和迴歸樹

分別針對應於離散變數和連續變數

3、決策樹的學習過程

  • 特徵選取:從訓練資料中眾多的特徵中選擇一個特徵作為當前節點的分裂標準,如何選擇特徵有著很多不同量化評估標準,從而衍生出不同的決策樹演算法。
  • 決策樹生成:根據選擇的特徵評估標準,從上至下遞迴地生成子節點,直到資料集不可分則停止決策樹生長。樹結構來說,遞迴結構是最容易理解的方式。
  • 剪枝:決策樹容易過擬合,一般需要剪枝,縮小樹結構規模、緩解過擬合。剪枝技術有預剪枝和後剪枝兩種。

4、構造決策樹的關鍵性內容就是進行屬性選擇度量,即特徵選取

屬性選擇度量方法有很多,一般使用自頂向下遞迴分治法,並採用不回溯的貪心策略,一般的方法有ID3和C4.5、CART演算法,其中C4.5和CART兩種演算法從ID3演算法中衍生而來。ID3處理離散分佈的資料特徵,後兩種演算法處理連續或離散分佈的資料特徵。

重點:

  • ID3演算法:從資訊理論知識中我們知道,期望值越小,資訊增益越大,從而純度越高。該演算法的核心思想是以資訊增益度量屬性選擇,選擇分裂後資訊增益最大的屬性進行分裂。

     ID3演算法就是在每次需要分裂時,計算每個屬性的增益率,然後選擇增益率最大的屬性進行分裂。

  • C4.5演算法:C4.5演算法用資訊增益率來選擇屬性代替ID3的資訊增益,其他類同ID3

    C4.5演算法首先定義了“分裂資訊”.其中各符號意義與ID3演算法相同,

總結:

C4.5是ID3的一個改進演算法,繼承了ID3演算法的優點。C4.5演算法用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足在樹構造過程中進行剪枝;能夠完成對連續屬性的離散化處理;能夠對不完整資料進行處理。C4.5演算法產生的分類規則易於理解、準確率較高;但效率低,因樹構造過程中,需要對資料集進行多次的順序掃描和排序。也是因為必須多次資料集掃描,C4.5只適合於能夠駐留於記憶體的資料集。

CART演算法的全稱是Classification And Regression Tree,採用的是Gini指數(選Gini指數最小的特徵s)作為分裂標準,同時它也是包含後剪枝操作。ID3演算法和C4.5演算法雖然在對訓練樣本集的學習中可以儘可能多地挖掘資訊,但其生成的決策樹分支較大,規模較大。為了簡化決策樹的規模,提高生成決策樹的效率,就出現了根據GINI係數來選擇測試屬性的決策樹演算法CART。