決策樹是一種基本的分類與回歸的方法,這裡只討論其分類過程。
分類決策樹模型由結點和有向邊組成,結點分為內部結點和葉結點,內部結點代表代表乙個特徵或屬性,葉結點代表分類結果。根節點包含著所有的屬性,從根節點開始,對例項通過某一特徵進行測試,根據測試結果將例項分配到其子節點,如此遞迴地生成一棵決策樹。
最後的決策樹可用if-then規則來描述。對於三個特徵的樣本,從根節點到葉結點的一條路徑可描述為「若特徵a=***,特徵b=***,特徵c=***,則該樣本屬於***類」。
決策樹的本質是從樣本資料集中歸納出一組分類規則,與訓練集不矛盾的決策樹可能有很多種,我們要找的是一棵與訓練集矛盾較小且具有很好泛化能力的決策樹。對於生成的決策樹,為了避免過擬合的問題,需要進行剪枝。
因此,決策樹學習分為三步驟:特徵選擇、決策樹的生成、剪枝。
特徵選擇在於選取對訓練資料有分類能力的特徵,通常特徵選擇的準則是資訊增益或資訊增益比。
資訊增益需要用到熵的定義:
熵越大,隨機變數的不確定性也就越大。
特別地,若變數只取0和1時,則熵為:
對於二維隨機變數中的條件熵:
有了這兩個概念,就可以得出資訊增益的定義了:
特徵a對資料集d的資訊增益,定義為資料集d的熵減去特徵a的條件下,資料集d的條件熵:
計算資訊增益的演算法流程如下:
資訊增益比:解決了資訊增益會受到資料集d的熵的大小擾動的問題,定義如下:
經典的決策樹生成演算法有id3和中出4.5演算法。
該演算法容易產生過擬合。
c4.5演算法:
區別就是兩種演算法對特徵劃分的依據不同,id3演算法按資訊增益來劃分特徵,c4.5演算法按資訊增益比來劃分特徵,是對id3演算法的乙個公升級。
剪枝是為了避免決策樹的過擬合現象,分為預剪枝和後剪枝。
預剪枝:在選定特徵準備劃分的時候,先計算劃分前與劃分後的泛化能力,若劃分後的泛化能力小於劃分前的泛化能力,則直接將當前節點判定為葉結點。
後剪枝:整棵決策樹生成以後,自下而上進行剪枝,剪去當前葉結點,將其父結點劃分為新的葉結點,若這一剪枝過程可以提高整個決策樹的泛化能力,則進行剪枝,否則禁止剪枝。
統計學習方法 第五章決策樹
描述對例項進行分類的樹型結構,決策樹由結點和有向邊組成,結點有兩種型別 內部結點 表示乙個特徵或屬性 和葉結點 乙個類 用決策樹分類,從根節點開始,對例項的某一特徵進行測試,根據測試結果,將例項分配到其子節點,這時,每乙個子節點對於著該特徵的乙個取值,如此遞迴地對例項進行測試並分配,直至達到葉節點,...
統計學習方法五 決策樹
結合之前的部落格 一 什麼是決策樹?決策樹是一種基本的分類和回歸演算法。決策樹模型呈樹形結構,可以認為是if then規則的集合,也可以認為是定義在特徵空間與類空間上的條件概率分布。決策樹模型由結點和有向邊組成,結點分為內部結點和葉結點,內部結點表示特徵,葉結點表示類,有向邊表示某一特徵的取值。學習...
統計學習方法 第五章
資訊增益比 說完了資訊增益,來說一下資訊增益這種演算法的缺點,以資訊增益為準則在選擇特徵時,傾向於選擇取值較多的特徵作為最優特徵。因為資訊增益的目的是使得選擇這個特徵作為根節點之後,接下來的決策樹會越小越好也就是越容易分類。如果這個特徵的取值比較多,會使下一層比較寬佔據較多樣本,那自然再次遞迴時會更...