Gradient Boosted Decision Tree详解

本文详细介绍了Gradient Boosted Decision Tree(GBDT)的工作原理,包括预备知识Adaboost的适用范围和更新,以及Gradient Boost的推导过程,如训练基学习器、选择基学习器的权值和训练集样本的更新。通过使用更灵活的损失函数,GBDT能够适应多种类型的任务,如回归和分类。文中还提到了如何应用CART等算法来训练基学习器,并通过平方误差最小化来优化模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gradient Boosted Decision Tree详解

第二次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这一篇的内容主要来自于《机器学习》和《机器学习技法》,以及自己的一些见解。

预备知识:

这一部分主要是谈一谈Adaboost的适用范围,以及Adaboost的更新中涉及到的基础数学公式和定理的推导。

Adaboost的适用范围

  若f(x)f\left(x\right)f(x)为样本xxx的实际标签值,H(x)H\left(x\right)H(x)为样本xxx的预测标签值,则Adaboost的指数损失函数可以表示为,

其中,H(x)H\left(x\right)H(x)符合加性模型,即

  由此可见,Adaboost在未经修改的情况下只适用于二元分类问题。

Adaboost的更新

  Adaboost的每轮迭代都会基于当前样本权值产生一个基学习器hth_tht,和这个基学习器的权重αt\alpha_tαt,并基于这两个条件进行样本分布(权值)的更新,假设第t-1轮迭代产生了学习器Ht−1=∑i=1t−1αihiH_{t-1}=\sum_{i=1}^{t-1}\alpha_ih_iHt1=i=1t1αihi,根据Adaboost中给出的指数损失函数,可以推得第t轮的基学习器hth_tht和权重αt\alpha_tαt的选取要满足下面的式子

即,他们的选取要以最小化Adaboost的指数损失函数为目标。

推导过程

主要分为五部分:Gradient Boost、训练基学习器、选择基学习器的权值αt\alpha_tαt、训练集样本的更新和Gradient Boosted Decision Tree。

Gradient Boost

  由于未经修改的AdaBoost使用指数损失函数作为目标函数,且使用二元分类器作为其基学习器,导致其适用范围不是很广泛【1】,因此在Gradient Boost中,决定采用任意的学习算法产生基学习器,并将损失函数变为适用于基学习器的“任意”损失函数。
  同样,假设第t-1轮迭代产生了学习器Ht−1=∑i=1t−1αihiH_{t-1}=\sum_{i=1}^{t-1}\alpha_ih_iHt1=i=1t1αihi,则第t轮的基学习器hth_tht和权重αt\alpha_tαt的选取要满足下面的式子

其中,err(~)err\left(\tilde{}\right)err(~)可以为平方损失函数、hinge损失函数等等,由此可见,Gradient Boost可以通过扩展误差的度量方式,来达到接收更多类型的基学习器的目的(e.g. regression/soft classification/etc),下面以回归(Regression)任务为例。

训练基学习器

  由式(1)可知,如果先忽略权重αt\alpha_tαt的影响(先假设αt\alpha_tαt为一个常数,下面式(3)的推导中用到),基学习器hth_tht

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值