[基本功]xgboost简介

简介

XGBoost(eXtreme Gradient Boosting):极致梯度提升

1、原理

一堆CART树的集合,将每棵树的预测值加在一起得到最后的预测值。xgboost利用了损失函数二阶导的信息,并在目标函数之外加入了正则项,避免过拟合。

2、优点

高效、灵活、轻便

在传统boosting的基础上,利用cpu的多线程,引入正则化项,控制了模型的复杂度。并且xgb可并行处理,并能对缺失值处理,还内置交叉验证。

基础——GBDT

XGBoost和GBDT的基本思想相同,但做出了一些优化,故先介绍GBDT

img

梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是一种基于boosting集成思想的加法模型,训练时采样前向分布算法进行贪婪学习,每次迭代都学习一棵CART树来拟合之前t-1棵树的预测结果与训练样本真实值的残差。

GBDT中的树是CART回归树。

缺点:依赖强,并行难,效率低

算法:

  1. 初始化弱学习器。取损失函数为平方损失,求导令导数为0,得到初始学习器为训练样本标签的均值

  2. 迭代训练m=1,2,…,M棵树

    (1)对每个样本i=1,2,…,N计算负梯度(用其近似模拟残差) r m i r_{mi} rmi

    (2)将该残差作为样本新的真实值,并将数据 ( x i , r m i ) (x_i,r_{mi}) (xi,rmi)作为下棵树的训练数据,得到一颗新的回归树

    (3)对每个叶子节点计算最佳拟合值

    (4)更新强学习器

  3. 得到最终学习器GBDT

XGBoost

优化:

  1. 利用二阶泰勒公式展开,优化损失函数,提高计算精确度
  2. 利用正则项,简化模型,避免过拟合
  3. 采用Blocks存储结构,可以并行计算等

目标函数:

​ 损失函数 + 正则化项

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值