GBDT怎么做回归问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GBDT怎么做回归问题?相关的知识,希望对你有一定的参考价值。

参考技术A GBDT做回归根据损失函数的负梯度来进行拟合,回归问题通常用平方损失函数,求梯度后就相当于残差,每一个建树过程都对前一棵树的残差进行拟合本回答被提问者采纳

Xgboost在做分类问题时拟合的是啥

参考技术A

https://www.zhihu.com/question/269929168?sort=created

先说结论,拟合的是概率值。

XGBoost是GBDT的升级版,下面用GBDT来说明处理分类问题时,每一轮迭代的是什么。

XGBoost和GBDT均是基于CART回归树,对GBDT来说,当预测值为连续值时,计算预测值与真实值之间距离的平方和,均方误差(MSE)是最常用的回归损失函数,此时负梯度刚好是残差,当预测值为离散值,或者说处理分类问题时,拟合的也是‘负梯度’,只是要转一道弯。

这道弯是将预测值和真实值转换为类别的概率,迭代过程就是让预测概率不断接近真实概率。

对数损失logloss 常用于评估分类器的概率输出,对数损失通过惩罚错误的分类,实现对分类器准确度(Accuracy)的量化。 最小化对数损失基本等价于最大化分类器的准确度。为了计算对数损失,分类器必须提供对输入的所属的每个类别的概率值,不只是最可能的类别。

下面以一个简单二分类为例,选取损失函数为logloss:

[图片上传失败...(image-e5c779-1587638268216)]

其中:

[图片上传失败...(image-9362bd-1587638268216)]

代入后可得:

[图片上传失败...(image-822803-1587638268216)]

负梯度在下图可见:

</noscript>

以一个简单的数据集来说明第一步和第二步拟合的是什么。

</noscript>

Yi的取值是0,1,其中0和1亦可以表示样本取正值的真实概率,第一步所有样本未分裂,是一个树桩,让损失函数最小,初始化可得:

[图片上传失败...(image-7c1107-1587638268216)]

= [图片上传失败...(image-15b72e-1587638268216)]

=0.088

第一棵树,当m=1时,计算负梯度 [图片上传失败...(image-c6b696-1587638268216)]

= [图片上传失败...(image-ce4b70-1587638268216)]

可得:

</noscript>

接着,会以 [图片上传失败...(image-cace9f-1587638268216)]

为目标,拟合一颗树。

以上是关于GBDT怎么做回归问题?的主要内容,如果未能解决你的问题,请参考以下文章

R使用gbm包构建gbdt模型进行回归分析实战

GDBT回归

机器学习 | GBDT

机器学习 | GBDT

GBDT分类和回归例子

足矣