提升树:以决策树作为基函数的提升方法(boosting)称为提升树;提升树利用加法模型与前向分步算法实现学习的优化过程;
(一)回归问题的提升树算法
1.基本分类器:回归树
2.决策树的加法模型:
3.学习策略:平方误差损失函数
4.学习算法:前向分步算法
其中:
也就是说对回归问题的提升树算法来说,只需简单地拟合当前模型的残差;
5.算法流程
6.当损失函数是平方损失函数时,每一步优化是很简单的,只需简单地拟合当前模型的残差;但对于一般损失函数而言,往往每一步优化并不那么容易,针对这一问题,梯度提升算法(gradient boosting)被提出;
(二)梯度提升决策树模型(GBDT)
1.核心思想:用损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,拟合一个回归树:
2.算法流程:
3.GBDT中的树是回归树,不是分类树;
4.优点:GBDT几乎可用于所有回归问题(线性/非线性),相对logistic regression仅能用于线性回归,GBDT的适用面非常广。亦可用于二分类问题(设定阈值,大于阈值为正例,反之为负例)。
PS:RF与GBDT对比
(1)RF中树的棵树是并行生成的;GBDT中树是顺序生成的;两者中过多的树都会过拟合,但是GBDT更容易过拟合;
(2)RF中每棵树分裂的特征比较随机;GBDT中前面的树优先分裂对大部分样本区分的特征,后面的树分裂对小部分样本区分特征;
(3)RF中主要参数是树的棵数;GBDT中主要参数是树的深度,一般为1;