GBDT有很多简称,有GBT(Gradient Boosting Tree), GTB(Gradient Tree Boosting ), GBRT(Gradient Boosting Regression Tree), MART(Multiple Additive Regression Tree),其实都是指的同一种算法。
加法模型:
一、前向分布算法

其中,
为基函数,
为基函数的参数,
为基函数的系数。
在给定训练数据及损失函数
的条件下,学习加法模型成为损失函数极小化问题:
,同时求解这么多参数会很复杂。
前向分步算法求解这一优化问题的思路:因为学习的是加法模型,如果能够从前向后,每一步只学习一个基函数及其系数,逐步去逼近上述的目标函数式,就可简化优化的复杂度,每一步只需优化如下损失函数:
(每步学习一个基函数和系数)
前向分步算法流程:
输入:训练数据集T=({
});损失函数L(y,f(x));基函数集{
};
输出:加法模型f(x)
(1) 初始化 
(2) 对m=1,2,...,M
(a) 极小化损失函数

得到参数 
(b)更新

(3)得到加法模型

二、负梯度拟合
提升树用加法模型与前向分布算法实现学习的优化过程。当损失函数为平方损失和指数损失函数时,每一步优化是很简单的。但对于一般损失函数而言,往往每一步都不那么容易。对于这问题,Freidman提出了梯度提升算法。这是利用最速下降法的近似方法,其关键是利用损失函数的负梯度在当前模型的值:
![-[\frac{\partial L(y,f(x_{i}))}{\partial f(x_{i})}]_{f(x)=f_{m-1}(x)}](https://i-blog.csdnimg.cn/blog_migrate/50f0e3e947629da11d0cbb1d2dfa5bcd.png)
作为回归问题在当前模型的残差的近似值,拟合一个回归树。
为什么要拟合负梯度呢?这就涉及到泰勒公式和梯度下降法了。
泰勒公式的形式是这样的:
- 定义:泰勒公式是一个用函数在某点的信息描述其附近取值的公式。
- 基本形式:

- 一阶泰勒展开:

梯度下降法
在机器学习任务中,需要最小化损失函数
,其中
是要求解的模型参数。梯度下降法常用来求解这种无约束最优化问题,它是一种迭代方法:选择初值

GBDT(Gradient Boosting Decision Tree)是一种集成学习方法,通过迭代优化损失函数构建多个弱学习器(决策树)。本文详细介绍了GBDT的前向分布算法、负梯度拟合、损失函数、回归与分类应用、正则化以及sklearn中的参数设置。GBDT适用于各种回归和分类问题,具有较强的泛化能力和对异常值的鲁棒性。
最低0.47元/天 解锁文章
3674

被折叠的 条评论
为什么被折叠?



