提升树
提升树是以分类树或回归树为基本分类器的提升方法
1、提升树模型
以决策树为基函数的提升方法称为提升树,对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。提升树模型可以表示为决策树的加法模型:
fM(x)=∑m=1MT(x;Θm)
其中,
T(x;Θm)
表示决策树;
Θm
为决策树的参数;
M
为树的个数。
2、提升树算法
首先确定初始提升树
f0(x)=0
,第m步的模型是:
fm(x)=fm−1(x)+T(x;Θm)
通过经验风险极小化来确定下一棵决策树的参数:
Θˆm=argminΘm∑i=1NL(yi,fm−1(xi)+T(xi;Θm))
(1)回归问题的提升树
回归树的模型为:
T(x;Θm)=∑j=1JcjI(x∈Rj)
参数更新同上,只不过,采用了平方误差损失函数,其损失为:
L(y,fm−1(x)+T(x;Θm)) =[y−fm−1(x)−T(x;Θm)]2 =[r−T(x;Θm)]2
此时,
y−fm−1(x)
是模型拟合数据的残差,对于回归问题来说,拟合这个残差是相当简单的。
3、梯度提升
其关键在于利用损失函数的负梯度在当前模型的值
−[∂L(y,f(xi))∂f(xi)]f(x)=fm−1(x)
作为回归问题提升树算法中的残差的近似值,拟合一个回归树
步骤:
(1)初始化:
f0(x)=argminc∑i=1NL(yi,c)
(2)计算残差:
rmi=−[∂L(y,f(xi))∂f(xi)]f(x)=fm−1(x)
(3)对残差拟合回归树
(4)计算:
cmj=argminc∑xi∈RmjL(yi,fm−1(xi)+c)
(5)更新
fm(x)=fm−1(x)+∑j=1JcmjI(x∈Rmj)
(6)得到回归树
fˆ(x)=fM(x)=∑m=1M∑j=1JcmjI(x∈Rmj)