決策過程中提出的每個判定問題都是對某個屬性的測試,
每個測試的結果:
1)導出結論
2)導出進一步判定的問題
決策樹的關鍵是選擇最優劃分屬性,即分支結點所包含的樣本盡可能屬于同一類別,結點純度越來越高
信息熵(information entropy):度量樣本集合純度的常用指標 (越小純度越高)
假定樣本集合D中第k類樣本所占比例為p_k,則D的信息熵定義為:
信息增益(information gain): 用屬性a對樣本集D進行劃分 (信息增益越大,則純度提升越大)
a有V個可能取值,即產生V個分支結點,D_v為屬性取值為a_v的樣本,賦概率為權重
如 ID3決策樹學習算法 以信息增益為準則 選擇增益大的為劃分屬性
如把編號作為屬性,每個分支結點只包含一個樣本,純度已為最大,但這種決策樹不具有泛化能力,無法對新樣本進行有效預測
信息增益準則對可取值數目較多的屬性有所偏好
為減少這種偏好帶來的影響,用增益率來選擇最優劃分
IV(a)為屬性a的固有值,a的可能取值數目越多,固有值通常越大
增益率對可取值數目較少的屬性有所偏好
基尼指數(Gini Index): 從數據集中隨機抽取兩個樣本,其類別標記不一致的概率,Gini越小,純度越高
屬性a的基尼指數:(選取劃分后基尼指數小的 --- min)
剪枝(pruning)是對付過擬合的主要手段
-
預剪枝
- 結點在劃分前,先分析是否可以提升泛化性能,若不能則停止劃分,標記為葉節點
- 很多分支沒有展開,降低了過擬合風險,訓練和測試時間開銷低
- 有些分支當前無法提高泛化性能,但基于其的后續劃分可能會有泛化性能的顯著提高。基于“貪心”,可能會欠擬合
-
后剪枝
- 先生成完整的決策樹,然后自底向上對非葉節點進行考察,若將子樹替換為葉節點能提升泛化性能,則替換
- 欠擬合風險小,泛化性能優于預剪枝
- 訓練時間開銷比 未剪枝 和 預剪枝 大的多
判斷泛化性能是否提升:
- 用留出法,選取測試集&驗證集
- 分析劃分前后驗證集精度
連續值:離散化技術
-
對連續屬性a,考察包含n-1個元素的候選劃分點:
-
選取最優的劃分點:
與離散屬性不同,連續屬性可重復使用,可作為其后代結點的劃分屬性
缺失值:
- 屬性值缺失,如何進行劃分屬性選擇?
- 用 無缺失樣本所占比例 為權值
-
考慮 無缺失樣本中的增益
- 給定劃分屬性,若值缺失,如何對樣本進行劃分
- 調整樣本權值,讓同一樣本以不同概率劃入到不同子節點中
決策樹形成的分類邊界是軸平行,當在真實分類邊界比較復雜時,決策樹需要進行大量的屬性測試,開銷大。
若使用斜的邊界劃分,則模型將大為簡化。
多變量決策樹:非葉節點是對屬性的線性組合進行測試