XGBoost:

目标函数=损失函数(拟合数据) + 正则化项(惩罚复杂模型)

误差函数尽量拟合训练数据,正则化项鼓励简单的模型

作用:用于控制树的复杂度,防止过拟合,使得模型更简化,也使得最终的模型的预测结果更稳定

目标函数:

对目标函数改进,进行二阶泰勒展开

分别定义gi和和hi为一阶导数和二阶导数

带入目标函数得:

继续推导


令Gj和Hj分别表示每个叶子节点的一阶梯度的和,与二阶梯度的和,如下

目标函数改写为:

我们希望这个值越小越好,那对w求偏导令偏导等于0:

求解得:

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

特点:

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

XGBoost算法模型相关推荐

  1. ML之XGBoost:XGBoost算法模型(相关配图)的简介(XGBoost并行处理)、关键思路、代码实现(目标函数/评价函数)、安装、使用方法、案例应用之详细攻略

    ML之XGBoost:XGBoost算法模型(相关配图)的简介.关键思路.代码实现(目标函数/评价函数).安装.使用方法.案例应用之详细攻略 目录 XGBoost算法模型(相关配图)的简介 1.XGB ...

  2. R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

    R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型 目录 R语言xgboost包:使用xgboost算法实现随机森林(random forest)模型

  3. ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参【2种方法,ShuffleSplit+GridSearchCV、TimeSeriesSplitGSCV】、模型评估)

    ML之XGBoost:利用XGBoost算法对波士顿数据集回归预测(模型调参[2种方法,ShuffleSplit+GridSearchCV.TimeSeriesSplitGSCV].模型评估) 目录 ...

  4. 树模型系列之XGBoost算法

    文章目录 树模型系列之XGBoost算法 概要 原理 损失函数 子树 xgboost算法流程总结 关键问题 缺失值处理(稀疏问题的分裂点查找 Sparsity-aware Split Finding) ...

  5. R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...

  6. R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...

  7. R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneG ...

  8. XGBoost算法案例实战——信用评分模型

    案例背景 为了降低不良贷款率,保障自身资金安全,提高风险控制水平,银行等金融机构会根据客户的信用历史资料构建信用评分模型给客户评分.根据客户的信用得分,可以估计客户按时还款的可能,并据此决定是否发放贷 ...

  9. Hessian矩阵在XGBoost算法的应用小结

    来源:机器学习算法那些事本文约1100字,建议阅读5分钟 本文深入浅出的总结了Hessian矩阵在XGboost算法中的两种应用,即权重分位点算法和样本权重和算法 . 前言 Hessian矩阵最常见的 ...

最新文章

  1. 基于r-Kernel的LiteOS操作系统
  2. seaweedfs 源码笔记(一)
  3. linux/centos/集群安装ntp时间同步,自身实验成功
  4. 【数据可视化应用】华夫饼型柱状图(附R语言代码)
  5. 珠海a货翡翠,惠州a货翡翠
  6. 中国商用密码SMS4
  7. 江小白包装设计原型_雪碧和江小白的品牌跨界合作之旅可谓是一场品牌包装的视觉盛宴...
  8. svn   /lib64/libz.so.1: no version information available
  9. Could not mount the media/drive ‘VBoxGuestAdditions.iso‘解决方案
  10. 经验分享——家校互动系统功能教程资源
  11. html标签中添加点击事件的写法
  12. 特殊回文数 C++解法
  13. 贪心 汽车加油 java_汽车加油问题之贪心算法
  14. oracle嵌套case when,case when 中是否可以在嵌套一个case when ?
  15. C# 命名空间中不存在类型或命名空间名,是否缺少程序集引用
  16. 计算机绿屏如何解决,电脑开机绿屏怎么解决_win10电脑开机就绿屏的解决方法
  17. BAT后台开发 两年工作经历总结
  18. 最近用周立功的IOT3960板子做一个小控制器,现在到了界面美化阶段,各位大侠有没有高招?
  19. 软件开发部门经理岗位职责
  20. 【记录】饥荒联机版+个人云服务器搭建(2020.6.19)

热门文章

  1. pyCharm最新2017激活码
  2. 浏览器数据库IndexedDB初体验
  3. pictureselector 压缩_GitHub - HobertHe/PictureSelector-1: 仿微信、QQ图片选择器(自带图片压缩,裁剪)...
  4. MATLAB基础学习(一)基本数学计算
  5. 计算机既是服务器又是工作站,计算机三级.docx
  6. android 勿扰模式代码,勿扰模式代码结构简析
  7. 三星Galaxy Watch 4评测 三星Watch 4参数 值得买吗
  8. Xilinx平台Aurora IP介绍(一)Aurora基础知识
  9. charCodeAt与fromCharCode
  10. babel plugin和presets是什么,怎么用?