1. 程式人生 > >迴歸問題的提升樹(boosting tree)演算法

迴歸問題的提升樹(boosting tree)演算法

演算法:

輸入:訓練資料集 T={(x1,y1),(x2,y2),,(xN,yN)},xiRn,yiR;
輸出:提升樹 fM(x) .
(1) 初始化 f0(x)=0
(2) 對 m=1,2,,M
(a) 計算殘差

rmi=yifm1(xi),i=1,2,,N (b) 擬合殘差 rmi 學習一個迴歸樹,得到 T(x;Θm)
(c) 更新fm(x)=fm1(x)+T(x;Θm) (3) 得到迴歸問題提升數fM(x)=m=1MT(x;Θm)

思路說明:

迴歸問題採用平方誤差損失函式

L(y,f(x))=(yf(x))2按照前向分步演算法極小化損失函式,則損失為L
(y,fm1(x)+T(x;Θm))
=[yfm1(x)T(x;Θm)]2=[rT(x;Θm)]2
這裡 r=yfm1(x) .
所以迴歸問題的提升樹演算法需要計算殘差並擬合殘差 。