1. 程式人生 > >提升樹boosting tree模型

提升樹boosting tree模型

1、提升樹的定義

提升樹是以分類樹或者回歸樹為基本分類器的提升方法。以決策樹為基函式的提升方法稱為提升樹(boosting tree)

2、與AdaBoost演算法的提升方法的區別

提升樹演算法只需將Adaboost演算法的基本分類器限制為二分類樹(對於二分類問題而言)即可,可以說提升樹是Adaboost演算法的特殊情況。

3、迴歸問題的提升樹演算法

訓練資料

序號 1 2 3 4 5 6 7 8 9 10
x i 1 2 3 4 5 6 7 8 9 10
y i
5.56 5.70 5.91 6.40 6.80 7.05 8.90 8.70 9.00 9.05
(1)求解資料的切分點

這裡的切分點指的是將

x 值劃分界限,資料中 x 的範圍是 [ 1 , 10 ] ,假設我們可取得切分點 s [ 1.5 2.5 3.5 . . . 9.5 ] ,並且把分界線兩邊的樣本集合記為 R 1 R 2 。假設取1.5的分界線,即 s = 1.5 ,那麼 R 1 = { 1 } , R 2 = { 2 3 . . . 10 } ,把 c 1 , c 2 記為分界線兩邊 y i 的平均值,如公式(1)所示,則 c 1 = 5.56 , c 2 = 7.50

c 1 = 1 | R 1 | x i R 1 y i

(1) c 2 = 1 | R 2 | x i R 2 y i
而我們最終要優化的目標是求分界線兩邊的資料的 y ¯ y i 平方和的最小值 m ( s ) ,如公式(2)所示。
(2) m ( s ) = min c 1 x i R 1 ( y i c 1 ) 2 + min c 1 x i R 2 ( y i c 2 ) 2

(2)求迴歸樹

實際上,對於以上資料求得最佳分界線是 s = 6.5 ,對應地有 R 1 = { 1 2 . . . 6 } R 2 = { 7 8 9 10 } c 1 = 6.24 c 2 = 8.91 。所以迴歸樹 T 1 ( x )