机器篇——集成学习(六) 细说 GBDT 算法

返回主目录

返回集成学习目录

上一章:机器篇——集成学习(五) 细说 梯度提升(Gradient Boost)算法 

下一章:机器篇——集成学习(七) 细说 XGBoost 算法

 

本小节,细说 GBDT 算法,下一小节细说 XGBoost 算法

 

二. 具体算法

6. GBDT 算法 (Gradient Boosting Decision Tree, GBDT)

    GBDT 算法也是集成学习 Boosting 家族的成员,也是采用迭代弱学习器的方法,但是,弱学习器限定了只能使用 CART 回归树模型

    在 GBDT 的迭代中,假设前一轮迭代得到的强学习器是 \large f_{t - 1}(x),损失函数是 \large L(y_{i}, f_{t - 1}(x)),则本轮迭代的目标是找到一个 CART 回归树模型的弱学习器 \large h_{t}(x),让本轮的损失函数:

               \LARGE L(y, f_{i}(x)) = L(y, f_{t - 1}(x) + h_{t}(x))

    最小。也就是说,本轮迭代找到的决策树,要让样本的损失尽量变得更小。

    (1). GBDT 的负梯度拟合。

     ①. 第 \large t 轮的第 \large i 个样本的损失函数的负梯度表示为:

                \LARGE r_{ti} = - \frac{\partial L(y_{i}, f(x_{i}))}{\partial f(x_{i})} f(x) = f_{t - 1} (x)

     ②. 当损失函数最小,也就是拟合叶子节点最好的输出值 \large C_{tj}

                \LARGE C_{tj} = arg \min_{c} \sum_{x_{i} \in R_{tj}} L(y_{i}, f_{t - 1}(x_{i}) + C)

                \large R_{tj}:为第 \large t 棵回归树对应的叶子节点区域

     ③. 得到本轮的决策树拟合函数

                \LARGE h_{t}(x) = \sum_{j = 1}^{J} C_{tj} I \; \;\;\; (x \in R_{tj})

     ④. 本轮最终得到的强学习器表达式:

                \LARGE f_{t}(x) = f_{t - 1}(x) + \sum_{j = 1}^{J} C_{tj} I \;\;\;\; (x \in R_{tj})

            通过损失函数的负梯度来拟合,可以找到一种通用的拟合损失误差的方法,这样无论是分类问题还是回归问题,通过其损失函数的负梯度拟合,就可以用 GBDT 来解决分类回归问题。区别仅仅在于损失函数不同导致的负梯度不同而已。

 

    (2). GBDT 回归算法

     输入是训练集样本 \large T = \{(x_{1}, y_{1}), (x_{2}, y_{2}), ......, (x_{m}, y_{m})\}

     最大迭代次数 \large T,损失函数 \large L

     输出是强学习器 \large f(x)

     ①. 初始化弱学习器

               \LARGE f_{0}(x) = arg \min_{c} \sum_{i = 1}^{m} L(y_{i}, c)

     ②. 对迭代轮数,\large t = 1, 2, ......., T

      a. 对样本 \large i = 1, 2, ......, m,计算负梯度

                \LARGE r_{ti} = - \frac{\partial L(y_{i}, f(x_{i}))}{\partial f(x_{i})} f(x) = f_{t - 1} (x)

      b. 利用 \large (x_{i}, r_{ti}) \;\;\;\; (i = 1, 2, ......, m) 拟合一棵 CART 回归树,得到第 \large t 棵回归树,其对应的叶子节点区域为 \large R_{tj}\large (j = 1, 2, ......, J),其中 \large J 为回归树 \large t 的叶子节点的个数。 

      c. 对叶子区域 \large (j = 1, 2, ......, J),计算最佳拟合值:

                \LARGE C_{tj} = arg \min_{c} \sum_{x_{i} \in R_{tj}} L(y_{i}, f_{t - 1}(x_{i}) + C)

      d. 更新强学习器

                

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值