全称:Gradient Boosting Decision Tree,梯度提升决策树
顾名思义,基学习器使用决策树,且只能是回归树,而不能是分类树 。因为回归树输出的是连续值,可以累加,而分类树计算的值无法累加,即累加没有意义。
算法流程:对每一轮 m,当前决策树模型为 f m − 1 ( x ) f_{m-1}(x) fm−1(x) (强学习器,决策树组合)。每一轮都对应着一个损失函数: L ( y , f m ( x ) ) = L ( y , h m ( x ) + f m − 1 ( x ) ) L(y, f_{m}(x)) = L(y, h_{m}(x) + f_{m-1}(x)) L(y,fm(x))=L(y,hm(x)+fm−1(x)). ( h m ( x ) h_m(x) hm(x) 为这一轮要预测的单个决策树)通过最小化损失函数 (即拟合残差) 得到下一棵决策树 h m ( x ) h_m(x) hm(x),从而得到 f m ( x ) f_m(x) fm(x) 。
残差:真实值与学习器的差值,即当前强学习器的输出加上残差可以得到真实值( f m − 1 ( x ) + r = y ) f_{m-1}(x)+r=y) fm−1(x)+r=y) 。
拟合残差:决策树输出的值不断逼近残差。
当损失函数为平方误差函数时,
L ( y , f m ( x ) ) = [ y − f m − 1 ( x ) − h m ( x ) ] 2 = [ r − h m ( x ) ] 2 L(y, f_m(x)) = [y-f_{m-1}(x)-h_m(x)]^2 \\ = [r-h_m(x)]^2 L(y,fm(x))=[y−f