梯度提升树(GBDT)详解之一:回归举例

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),可以参见文献【1】。作为集成学习(Ensemble learning)的一个重要代表AdaBoost入选其中。但基于Boosting 思想设计的算法,也是常常用来同AdaBoost进行比较的另外一个算法就是Gradient Boost。它是在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之时,Gradient Boost几乎横扫各种数据挖掘(Data mining)或知识发现(Knowledge discovery)竞赛。

 

梯度提升树(GBDT, Gradient Boosted Decision Trees),或称Gradient Tree Boosting,是一个以决策归树为基学习器,以Boost为框架的加法模型的集成学习技术。因此,GBDT也是 Boosting 算法的一种,但是和 AdaBoost 算法不同。区别在于:AdaBoost 算法是利用前一轮的弱学习器的误差来更新样本权重值,然后一轮一轮的迭代;而GBDT基于Gradient Boost算法。其主要思想是,每次建立模型是在之前建立模型损失函数的梯度下降方向。我们都知道,损失函数可用于评价模型性能,一般认为损失函数越小,性能越好。而让损失函数持续下降,就能使得模型不断调整提升性能,其最好的方法就是使损失函数沿着梯度方向下降。GBDT在此基础上,基于负梯度做学习。GBDT可以用来做回归,也可以用来做预测。在回归问题中,GBDT采用平方误差来作为损失函数。当损失函数为均方误差的时候,可以看作是残差。在分类问题中,GBDT的损失函数跟逻辑回归一样,采用的对数似然函数。GBDT的直观理解就是每一轮预测和实际值有残差,下一轮根据残差再进行预测,最后将所有预测相加,就是结果。

猜你喜欢

转载自blog.csdn.net/baimafujinji/article/details/104688631