1.GBDT思想
GBDT是集成学习Boosting家族的成员。弱学习器限定了只能使用CART回归树模型,迭代是思路是:在本轮迭代中找到一个CART回归树模型的弱学习器使得本轮的损失函数最小。即拟合误差。(Adaboost是利用前一轮迭代弱学习器的误差率来更新训练集的权重,这样一轮轮的迭代下去。)
GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。
-
回归树(Regression Decision Tree)
回归树生成算法:(CART)
-
提升树(Boosting Decision Tree)
提升方法采用加法模型和前向分布算法。以决策树为基函数的提升方法称为提升树。
提升树是迭代多棵回归树来共同决策。当采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到一个当前的残差回归树,残差的意义如公式:残差 = 真实值 - 预测值 。提升树即是整个迭代过程生成的回归树的累加。
回归问题的提升树算法流程:
-
梯度提升决策树
对于一般的损失函数,往往每一步优化没那么容易,如绝对值损失函数和Huber损失函数。针对这一问题,Freidman提出了梯度提升算法:利用最速下降的近似方法,即利用损失函数的负梯度在当前模型的值,作为回归问题中提升树算法的残差的近似值,拟合一个回归树。
算法流程:
2.负梯度拟合
针对各种各样损失函数如何让进行通用性拟合的问题,Freidman提出了用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个CART回归树。
第t轮的第i个样本的损失函数的负梯度表示为:
拟合得到CART回归树后,针对每一个叶子节点里的样本,我们求出使损失函数最小,也就是拟合叶子节点最好的的输出值ctjctj如下:
得到本轮的决策树拟合函数:
从而得到本轮的强学习器如下:
3.损失函数
-
对于分类算法
- 指数损失函数
- 对数损失函数