XGBoost算法模型

XGBoost:

目标函数=损失函数(拟合数据) + 正则化项(惩罚复杂模型)
在这里插入图片描述
误差函数尽量拟合训练数据,正则化项鼓励简单的模型

作用:用于控制树的复杂度,防止过拟合,使得模型更简化,也使得最终的模型的预测结果更稳定
在这里插入图片描述

目标函数:
在这里插入图片描述
对目标函数改进,进行二阶泰勒展开
在这里插入图片描述
分别定义gi和和hi为一阶导数和二阶导数
在这里插入图片描述
带入目标函数得:
在这里插入图片描述
继续推导
在这里插入图片描述
在这里插入图片描述
令Gj和Hj分别表示每个叶子节点的一阶梯度的和,与二阶梯度的和,如下
在这里插入图片描述
目标函数改写为:
在这里插入图片描述
我们希望这个值越小越好,那对w求偏导令偏导等于0:
在这里插入图片描述
求解得:
在这里插入图片描述

具体推导过程可参考:https://zhuanlan.zhihu.com/p/83901304

特点:
  • XGBoost将树模型的复杂度加入到正则项中,从而避免过拟合,泛化性能好
  • 损失函数是用泰勒展开式展开的,用到了一阶导和二阶导,可以加快优化速度
  • 在寻找最佳分割点时,采用近似贪心算法,用来加速计算
  • 不仅支持CART作为基分类器,还支持线性分类器,在使用线性分类器的时候可以使用L1,L2正则化
  • 支持并行计算,XGBoost的并行是基于特征计算的并行,将特征列排序后以block的形式存储在内存中,在后面的迭代中重复使用这个结构。在进行节点分裂时,计算每个特征的增益,选择增益最大的特征作为分割节点,各个特征的增益计算可以使用多线程并行
  • 优点:速度快、效果好、能处理大规模数据、支持自定义损失函数等
  • 缺点:算法参数过多,调参复杂,不适合处理超高维特征数据
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值