gbdt 回归 特征重要性 排序_GBDT算法原理及应用

本文深入介绍了GBDT算法原理,包括其作为梯度提升决策树如何通过迭代优化损失函数。文章通过实例展示了GBDT在回归问题中的应用,包括损失函数的负梯度计算、CART回归树的拟合以及预测值的转换。此外,还分享了使用Python的sklearn库实现GBDT模型,并通过训练数据集计算特征重要性的过程。
摘要由CSDN通过智能技术生成

是新朋友吗?记得先点蓝字关注我哦~

作者介绍

知乎@王多鱼

京东的一名推荐算法攻城狮。

主要负责商品推荐的召回和排序模型的优化工作。

一、GBDT算法原理

Gradient Boosting Decision Tree(GBDT)是梯度提升决策树。GBDT模型所输出的结果是由其包含的若干棵决策树累加而成,每一棵决策树都是对之前决策树组合预测残差的拟合,是对之前模型结果的一种“修正”。梯度提升树既可以用于回归问题(此时被称为CART回归树),也可以被用于解决分类问题(此时被称为分类树)。

举个简单的例子:假如大华30岁,第一棵树拟合出的年龄为20岁,此时差距为10岁;第二棵树拟合的年龄为6岁,此时差距还有4岁;第三棵树拟合的年龄为3岁,此时的差距就只有1岁了。每一轮迭代,拟合的岁数误差都会减小。

在GBDT的迭代中,假设我们前一轮迭代得到的强学习器是Fm-1(x),损失函数是L(y,Fm-1(x)),本轮迭代的目标是找到一个CART回归树模型的弱学习器hm(x),让本轮的损失函数L(y,Fm-1(x))=L(y,Fm-1(x)+hm(x))最小。即在本轮迭代中找到一颗决策树,使得样本的损失尽量变得更小。

怎么找到本轮中的决策树是关键,GBDT是利用损失函数在当前模型的负梯度作为提升树算法的残差近似值, 去拟合一棵树。即:

8f72aae992cc0b412b09ea75ff463653.png

GBDT算法步骤如下:

6755b777cf9e7ed146583846e283a8b5.png

我们需要做的是计算rim,即计算公式(1)作为第m棵树样本新的label, 将数据(xi,rim(x))作为第m棵树的训练数据。通过使用 CART 回归树逼近rim,使得CART 回归树模型与label 之间的距离尽可能的接近。衡量距离有多种方式, 包括均方误差和Logloss。

下面给出 Logloss 损失函数的具体推导:

836928312d5cdec3b0b3922d0b9a8dbb.png

Step1:首先求解初始值F0 , 令其偏导等于 0。实现后是第一棵树需要拟合的残差。

207e299e24bef3a97c74c43d5df74f4c.png

令:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值