從決策樹到GBDT梯度提升決策樹和XGBoost
阿新 • • 發佈:2019-01-06
從決策樹到GBDT(Gradient Boosting Decision Tree)梯度提升決策樹和XGBoost的一些學習筆記
決策樹
決策樹可以轉換成if-then規則的集合,也可以看作是定義在特徵空間劃分類的條件概率分佈。決策樹學習演算法包括三部分:特徵選擇,數的生成和數的剪枝。最大優點: 可以自學習。在學習的過程中,不需要使用者瞭解過多背景知識,只需要對訓練例項進行較好的標註,就能夠進行學習。顯然,屬於有監督學習。
常用有一下三種演算法:
- ID3 — 資訊增益 最大的準則
- C4.5 — 資訊增益比 最大的準則
- CART(Classification and Regression tree, 分類與迴歸樹)
迴歸樹: 平方誤差 最小 的準則
分類樹: 基尼係數 最小的準則
迴歸樹 Regression Decision Tree
迴歸樹總體流程類似於分類樹,區別在於,迴歸樹的每一個節點都會得一個預測值。
使用平方誤差最小準則
訓練集為:D={(x1,y1), (x2,y2), …, (xn,yn)}。
輸出Y為連續變數,將輸入劃分為M個區域,分別為R1,R2,…,RM,每個區域的輸出值分別為:c1,c2,…,cm則迴歸樹模型可表示為:
接下來可以使用平方誤差來表示訓練資料的預測誤差,用最小平方誤差的準則來求解每個單元的最優輸出值。
假如使用特徵j的取值s來將輸入空間劃分為兩個區域,分別為:
選擇最優切分變數j與切分點s,求解
並可以得出
最小二叉迴歸樹生成演算法:
從以上可以歸納出在最小二叉迴歸樹生成演算法。訓練資料集所在的輸入空間中,遞迴地將每個區域劃分為兩個子區域並決定每個子區域上輸出值,構建二叉決策樹。
1. 選擇最優切分變數j與切分點s,求解