GBDT知识整理

GBDT(Gradient Boosting Decision Tree)是一种强大的机器学习算法,结合了Boosting思想和决策树的优势。本文详细介绍了GBDT的原理,包括Boosting、Gradient Boosting Model、Gradient Boosting Decision Tree,以及损失函数和与Adaboost的对比。通过对梯度的计算和决策树的使用,GBDT能有效地处理非线性问题。

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

GBDT算法(Gradient Boosting Decision Tree),由于其出色的非线性拟合能力,被广泛应用在各种回归,分类的机器学习问题中。

除了能在日常工作中调用该算法取得好的结果之外,我们更需要深入理解这个算法的原理,以及其中涉及到的概念。

名词拆解

Boosting

GBDT中Gradient Boosting和Decision Tree是两个独立的概念。Boosting意思是把多个弱分类器组合起来形成一个强分类器。因此这不是某个算法,而一种理念。而和这个理念对应的是直接训练一次性构造一个强分类器,例如SVM,LR等等。

通常通过相加来组合分类器,形式如下:

Fm(x)=f0+α1f1(x)+α2f2(x)++αmfm(x)(1)

其中x表示输入的特征, Fm 表示最终得到的分类器, f1,f2,,fm 分别表示m个弱分类器, f0 是一个常数, α1,α2,,αm 分别表示每个弱分类器对应的权重。

Gradient Boosting Model

Gradient Boosting Model,以下简称GBM。这是一种构造弱分类的方法。同样地,这不是某个具体的算法,仍然是只是一个理念。

先看一个典型的优化问题:

find x̂ =arg minxf(x)

针对这种优化问题,最常用的解决方法是steepest descent(gradient descent),算法逻辑如下:

  • 1.给定一个起始点 x0
  • 2.对i=1,2,……K分别做如下迭代:
    • a) xi=xi1+γi1gi1 ,这里 gi1=fxx=xi1 表示 f xi1 点的梯度
  • 3.直到 |gi1| 足够小,或者是 |xixi1| 足够小

以上迭代过程可以这么理解:整个寻优的过程就是个小步快跑的过程,每跑一小步,都往函数当前下降最快的那个方向走一点。

这样寻优得到的结果可以表示成加和形式,即

xk=x0+γ1g1+γ2g2++γkgk

这个等式的形式和前面Eq.(1)弱分类器组合成强分类器 Fm 如出一辙,Gradient Boosting就是由此启发而来。构造 Fm 本就是一个寻找最优的过程,只不过我们寻找的不是一个最优点,而是一个最优的函数。优化的目标通常都是通过一个损失函数来定义,即
find Fm=arg minFL(F)=arg minFi=0NLoss(F(xi)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值