GBDT解决分类问题

一、GBDT是通过梯度下降(作为残差的近似)更新的决策树集成的boosting模型。
(1)GBDT无论用于分类还是回归一直是使用的CART回归树。
原因:如果选用的弱分类器是分类树,类别相减是没有意义的。上一轮输出的是样本x属于A类,本轮训练输出的是样本x属于B类,A类减B类是没有意义的。
(2)GBDT每轮的训练是在上一轮训练的残差基础上进行训练的,残差指的是当前模型的负梯度值。

二、使用GBDT来解决多分类问题,实质是把它转化为回归问题。在回归问题中,GBDT每一轮迭代都构建了一棵树,实质是构建了一个函数f,当输入为x时,树的输出为f(x)。
在多分类问题中,假设有k个类别,那么每一轮迭代实质是构建了k棵树,对某个样本x的预测值为在这里插入图片描述
在这里我们仿照多分类的逻辑回归,使用softmax来产生概率,则属于某个类别c的概率为
在这里插入图片描述
此时该样本的loss即可以用logitloss来表示,并对f1fk都可以算出一个梯度,f1fk便可以计算出当前轮的残差,供下一轮迭代学习。最终做预测时,输入的x会得到k个输出值,然后通过softmax获得其属于各类别的概率即可。

三、GBDT如何用于分类的

第一步:训练的时候,是针对样本 X 每个可能的类都训练一个分类回归树。如目前的训练集共有三类,即K = 3,样本x属于第二类,那么针对样本x的分类结果,我们可以用一个三维向量[0,1,0]来表示,0表示不属于该类,1表示属于该类,由于样本已经属于第二类了,所以第二类对应的向量维度为1,其他位置为0。

针对样本有三类的情况,我们实质上是在每轮的训练的时候是同时训练三颗树。第一颗树针对样本x的第一类,输入是(x,0),第二颗树针对样本x的第二类,输入是(x,1),第三颗树针对样本x的第三类,输入是(x,0)。

在对样本x训练后产生三颗树,对x 类别的预测值分别是f1(x),f2(x),f3(x),那么在此类训练中,样本x属于第一类,第二类,第三类的概率分别是:
在这里插入图片描述
 然后可以求出针对第一类,第二类,第三类的残差分别是:
在这里插入图片描述
 然后开始第二轮训练,针对第一类输入为(x,y11(x)),针对第二类输入为(x,y22(x)),针对第三类输入为(x,y33(x)),继续训练出三颗树。一直迭代M轮,每轮构建三棵树

当训练完毕以后,新来一个样本x1,我们需要预测该样本的类别的时候,便产生三个值f1(x),f2(x),f3(x),则样本属于某个类别c的概率为:
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值