機器學習經典算法——決策樹

1.決策樹模型

  1.   決策樹是一種基本的分類與迴歸方法,以建樹的形式來做決策。
  2.   決策樹學習的三個步驟:特徵選擇、生成決策樹、決策樹修剪。

2.特徵選擇

特徵選擇就是尋找屬性來劃分樣本,隨着劃分過程不斷進行,我們希望決策樹的分支結點所包含的樣本儘可能屬於同一類別,即結點的"純度"越來越高。其準則就是信息增益或信息增益比。

信息熵:信息熵越小代表的樣本純度越高。

信息增益:信息增益越大,則意味着用屬性a來進行劃分所獲得的"純度提升"越大。

信息增益比:使用“增益比”來選擇最優劃分屬性

基尼指數:Gini越小,則D的純度越高。

3.決策樹中的三個經典算法

  1. ID3算法:在決策樹各個結點上應用增益準則選擇特徵,遞歸構建決策樹,從根節點開始對結點計算所有可能的特徵的信息增益,選擇信息增益最大的特徵作爲結點的特徵
  2. C4.5算法:改進ID3算法,用信息增益比來選擇特徵。
  3. CART算法:根據基尼指數來構建決策樹

4.生成決策樹(舉個例子)

1)得到數據集

2)計算信息增益

3)生成決策樹

5.決策樹修剪——剪枝處理

剪枝是決策樹學習算法對付"過擬合"的主要手段。

過擬合原因:     1)噪聲導致的過擬合:擬合了被誤標記的樣例,導致誤分類。     2)缺乏代表性樣本導致的過擬合:缺乏代表性樣本的少量訓練集作出的決策會出現過擬合。     3)多重比較造成的過擬合:複雜模型。

剪枝算法:

1. 計算每個結點的經驗熵;

2. 遞歸地從樹的葉結點向上回縮;

3. 一直到得到損失函數最小的子樹。

剪枝處理

預剪枝是指在決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化性能提升,則停止劃分並將當前結點標記爲葉結點;

後剪枝則是先從訓練集生成一棵完整的決策樹,然後自底向上地對非葉結點進行考察,若將該結點對應的子樹替換爲葉結點能帶來決策樹泛化性能提升,則將該子樹替換爲葉結點。

判斷決策樹泛化性能是否提升:留出法,即預留一部分數據用作"驗證集"以進行性能評估。

例如:在預剪枝中,對於每一個分裂節點,對比分裂前後決策樹在驗證集上的預測精度,從而決定是否分裂該節點。而在後剪枝中,考察非葉節點,對比剪枝前後決策樹在驗證集上的預測精度,從而決定是否對其剪枝。

6.特殊值處理

缺失值:即樣本的某些屬性值缺失。         

推廣信息增益公式,爲每個樣本賦予權重,通過計算後會調整缺失值的自結點的權重:

 

參考書籍:《機器學習》周志華、《統計學習方法》李航  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章