zoukankan      html  css  js  c++  java
  • test

      GBDT,是Gradient Boost Decision Tree的缩写,是Boosting家族的一元,即通过训练前后依赖的一组的学习器,组成一个强学习器,对外提供服务

      GBDT底层是决策树,这个从名字可以看出来,而且用的是CART算法;所以一定要了解CART的分类以及回归的算法。

      首先描述一下算法的流程,然后我们再通过一个例子来解释一下。

      GBDT的原理就是构建模型(树),然后计算这个模型和真实值的偏差(残差,residual),将偏差作为标签纸,样本特征不变,构建新的模型(树),在基于这个模型,再和上一次训练数据的标签纸进行残差计算,作为下一个学习器的训练标签,如此往复,知道构建的残差达到目标大小,或者迭代数达到了指定数目。

      GBDT的原理的数据公式如下:

    image
      首先是构建一个初始化的模型:

    (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 ight)$$=sum_{i-1}^{N}y_i - Nc = 0 (` 可以推知: c = `)frac{sum_{i-1}^N y_i}{N} $`,即y的均值,在本例中

    c = (1.1 + 1.3 + 1.7 + 1.8)/4 = 1.475
    后面我们获取残差: https://blog.csdn.net/zpalyq110/article/details/79527653 很强悍的解释,尤其是提供了一个例子来说明算法,我就是通过这个例子才明白算法含义 GBDT的原理的数据公式如下: image   首先是构建一个初始化的模型:![](https://img2018.cnblogs.com/blog/71977/202001/71977-20200120204015436-1751235394.png)
  • 相关阅读:
    常用性能测试工具和命令汇总
    delphi try except语句 和 try finally语句用法以及区别
    delphi中 ExecSQL 与 open
    Javascript闭包
    遍历一个List的几种方法
    IDEA导入项目jar包红线、依赖问题....
    HashMap、Hashtable、ConcurrentHashMap的原理与区别
    记一次CPU飙升BUG
    创建单链表
    【剑指offer】题目二
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/12219327.html
Copyright © 2011-2022 走看看