其他分享
首页 > 其他分享> > 从boosting谈起

从boosting谈起

作者:互联网

Boosting

将一些表现效果一般(可能仅仅优于随机猜测)的模型通过特定方法进行组合来获得一个表现效果较好的模型。抽象地说,模型的训练过程是对一任意可导目标函数的优化过程。

Adaptive boost

通过组合一系列表现一般的模型获得了一个表现优秀的模型,其中,每个新的模型都会基于前一个模型的表现结果进行调整(adaptive)

Gradient boosting

Gradient Descent + Boosting,通过反复地选择一个指向负梯度方向的函数,该算法可被看做在函数空间里
对目标函数进行优化。可以说 AdaBoost 是 Gradient Boosting 的一个特例或者Gradient Boosting是对
AdaBoost进行推广。
和 AdaBoost 相同,Gradient Boosting也是重复选择一个表现一般的模型并且每次基于先前模型的表现进行
调整,不同之处在于,AdaBoost 是通过提升错分数据点的权重来定位模型的不足而 Gradient Boosting 是通
过算梯度(gradient)来定位模型的不足,即通过负梯度改进模型。
图2
gradient boosting的损失函数可以是square loss,absolute loss等,square loss的缺点是异常值
的鲁棒性差。
gradient boosting可以用于回归、分类等问题,对于分类问题,它的基分类器一般是决策树,即
GBDT(gradient boosting decision tree)。

GBDT算法基树采用CART回归树,树节点的划分指标是平方损失函数,叶子节点的值是落在该叶子节点所有样本的目标均值。树与树之间的Boosting逻辑是:新树拟合的目标是上一课树的损失函数的负梯度的值。GBDT最终的输出结果是将样本在所有树上的叶子值相加。

GBDT V.S. LR

从决策边界来说,线性回归的决策边界是一条直线,逻辑回归的决策边界根据是否使用核函数可
以是一条直线或者曲线,而GBDT的决策边界可能是很多条线。
GBDT的基分类器是CART 树,并不一定总是好于线性回归或逻辑回归。

XGBoost

eXtreme Gradient Boosting,专注于快速计算和模型表现。
XGboost的工具支持并行化、分布式计算、去中心化计算、cache优化等。

XGBoost V.S. GBDT

未完待续

Reference

参考1,medium
参考2,知乎

标签:xgboost,函数,Gradient,模型,boosting,谈起,GBDT,Boosting
来源: https://www.cnblogs.com/ChengzhiYang/p/11321038.html