Gradient Boosting Decision Tree(GBDT)-梯度提升决策树
2018-03-22 13:50
555 查看
Gradient Boosting Decision Tree(GBDT)-梯度提升决策树
GBDT是集成学习的又一代表作,以boosting为基础的分部加法模型,活跃在各个应用领域,十分受欢迎。所以我们首先来了解一下boosting算法。一、boosting
boosting是集成学习三大模式(bagging、stacking和boosting)之一。
boosting基本原理:
假设样本集{(xi, yi)} i = 1、...N,迭代H轮1、选择样本集{(xi, yi)} i = 1、...N;
2、根据样本集训练CART弱分类器Gj;
3、分部加法得到Fj(x) = Fj-1(x) + Gj;
原理图如下
二、GBDT
GBDT示意图
GBDT是一种梯度提升树算法,重心就在于用损失函数在Fm-1(x)处的负梯度去拟合上一轮输入与输出的差,并把它作为下一轮输入。
GBDT是分部加法模型;
假设迭代H轮,权值映射f(x),f(x) = rh(x:a),h(x:a) = I{x->R}:FH(x) = f1(x) + ...+fH(x);
Fm(x) = Fm-1(x) + fj(x) = Fm-1(x) + rmh(x:am)=Fm-1(x)+rmI{x->Rm};
GBDT目标函数:
obj = min sum(L(yi,F(xi))) i = 1、...NF* = argmin(F) sum(L(yi,F)) i =1、...N
GBDT算法流程如下:
对于1,无约束优化这里采用泰勒一阶展开,对经验风险进行一阶泰勒展开,然后展开后经验风险的一阶导数等于0,得F0(x);
对于3,求损失函数在Fm-1(x)处的逆梯度;
对于4,利用CART树得到am;
对于5,无约束优化这里采用泰勒二阶展开,对经验风险进行二阶泰勒展开,然后对展开后经验风险的一阶导数等于0,得到权系数;
对于6,这里还隐含了缩放过程
GBDT算法的优缺点:
优点:1、预测精度高;
2、可以处理非线性数据;
3、对于低维数据效果很好;
缺点:
1、很难并行;
2、数据纬度较高的时候,计算量和复杂度都提升了。
相关文章推荐
- GBDT(Gradient Boosting Decision Tree) 梯度提升树的基本原理
- GBDT(Gradient Boosting Decision Tree)迭代决策树
- [转]GBDT(Gradient Boosting Decision Tree)迭代决策树
- 梯度提升(Gradient boosting)和GBDT
- Sklearn-GBDT(GradientBoostingDecisonTree)梯度提升树
- 机器学习(三)GBDT(Gradient Boosting Decision Tree)迭代决策树
- GBDT:梯度提升决策树
- GBDT(Gradient Boosting Decision Tree) 没有实现只有原理
- GBDT(Gradient Boosting Decision Tree
- GBDT:梯度提升决策树
- 机器学习方法篇(9)------梯度提升决策树GBDT
- 机器学习总结(四)——随机森林与GBDT(梯度提升决策树)
- GBDT(梯度提升决策树)剖析
- GBDT-梯度提升决策树
- GBDT(Gradient Boosting Decision Tree) 没有实现只有原理
- 简单易学的机器学习算法——梯度提升决策树GBDT
- 机器学习boosting算法—梯度提升树(GBDT)
- GBDT:梯度提升决策树
- 【ML笔记】梯度提升决策树(GBDT)和随机森林(RF)的异同
- 模型组合之梯度提升(Gradient Boosting)