??GBDT,是Gradient Boost Decision Tree的缩写,是Boosting家族的一元,即通过训练前后依赖的一组的学习器,组成一个强学习器,对外提供服务
??GBDT底层是决策树,这个从名字可以看出来,而且用的是CART算法;所以一定要了解CART的分类以及回归的算法。
??首先描述一下算法的流程,然后我们再通过一个例子来解释一下。
??GBDT的原理就是构建模型(树),然后计算这个模型和真实值的偏差(残差,residual),将偏差作为标签纸,样本特征不变,构建新的模型(树),在基于这个模型,再和上一次训练数据的标签纸进行残差计算,作为下一个学习器的训练标签,如此往复,知道构建的残差达到目标大小,或者迭代数达到了指定数目。
??GBDT的原理的数据公式如下:
??首先是构建一个初始化的模型:
\(f_0(x)=arg min_c \sum_{i=1}^NL(y_i,c)\)
即求得c值,以是的损失函数的达到最小值,毫无疑问,在限定取值范围的情况下,均值是最小值。或者我们可以推导一下:
\(\sum_{i=1}^{N} L(y_i, c) = \sum_{i=1}^{N}\frac{1}{2}(y_i - c_i)^2\)对此式求导数为0,以求得极值: $\frac{\partial \sum L(y_i, c)}{\partial y_i} = \sum_{i=1}^{N}\left(y_i - c \right)$
$=\sum_{i-1}^{N}y_i - Nc = 0 \(` 可以推知: c = `\)\frac{\sum_{i-1}^N y_i}{N} $`,即y的均值,在本例中
原文:https://www.cnblogs.com/xiashiwendao/p/12219327.html