2021-02-05

GBDT学习笔记

(“辉哥让看XGB和LGB,从基础GBDT开始吧)
思想: GBDT就是一个迭代的决策树(多棵)模型,将多棵树的结果累加后就是模型结果。
GBDT计算举例
(自己看了他人的例子仿照造出来的例子,不知道准不准确)
在这里插入图片描述
损失函数:GBDT算法分为回归和分类两种,其中:
分类的损失函数分为对数指数
在这里插入图片描述
回归的损失函数多为 均方差(平方损失)、绝对损失(求差的绝对值)、Huber损失 分位数损失
GBDT选取平方损失函数,第t轮的损失函数的近似值,也就是残差rti被定义为损失函数对f(t-1)(x)求负梯度:
在这里插入图片描述
算法过程

1)初始化**f0(x)=02)树的迭代**t=1~T(样本数i=1...m):
    ① 残差计算rti=yi-f(t-1)(xi)
    ② 对残差rti与xi进行拟合,得到一棵CART树Ct(x)
    ③ 更新学习器ft(x)=f(t-1)(x)+Ct(x)3)获取最终提升树**f(x)=f0(x)+Sum(Ct)

正则化
正则化是为了防止过拟合,有三种方式;包括学习率(study_rate)、子采样比例、叶子节点包含的最小样本数。
优缺点及应用
1)优点:充分考虑的每个分类器的权重;数据类型既可以是离散类型也可以是连续类型;使用了一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数;
2)缺点:由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行;
3)应用:可用于回归(线性和非线性),也可用于分类(二分类和多分类)。
GBDT的回归
训练集X(m个样本),损失函数L,迭代次数1~T,最终输出学习器f(x);
按照算法步骤:
(1)初始化f0(x),c=1/m(sum(yi)),f0(x)=argmin(sum(L(yi,c))
(2)迭代t=1:T,样本数i=1,…,m
① 负梯度求残差:第t棵树的残差:
在这里插入图片描述
② 迭代
a、利用xi与残差rti拟合一颗CART树,叶子节点区域为Rtj,j=1~J,J为叶子节点个数;
b、利用Rtj,计算最佳拟合值:Ctj=argmin[Sum(L(yi,f(t-1)(xi)+c)];
*③ 更新学习器:ft(x)=f(t-1)(x)+Sum(Ctj);
(3)输出:f(x)=f0(x)+Sum(Sum(Ctj)。

GBDT的分类
分类和回归的不同在于分类的输出是离散值,根据上面提到的2分类和多分类损失函数,分类同回归不同的在于损失函数不同而导致的rti、ctj等的不同:

1) 2分类

为:
在这里插入图片描述
2) 多分类
在这里插入图片描述
随机森林RF与梯度提升树GBDT的区别
1)相同:都是多棵树,最终的结果都由多棵树共同决定,都用到booststrp思想;
2)不同:前者有分类也有回归树,后者只有回归树;前者多数决定,后者树的累加和;前者对异常值不敏感,后者对异常值敏感;前者减少模型方差,后者减少模型偏差;前者并行,后者串行;前者不用特征归一化,后者特征归一化;前者训练集权值一样,后者基于权值的弱分类器的集成。

参考:y430:【机器学习算法总结】GBDT

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值