统计学习方法笔记(十二)提升方法(二)

提升树

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

猜你喜欢

转载自blog.csdn.net/yeyustudy/article/details/80342844