算法梳理3:XGBoost

XGBoost是一个可扩展的树提升算法,特别适用于大规模数据。它支持不同损失函数,优化了参数学习和迭代速度,具备模型、策略和数据的可扩展性。在有监督学习中,XGBoost涉及模型、参数和目标函数,如线性模型和正则化。其算法原理包括泰勒二阶展开和正则项,寻找分割点算法采用加权分位数略图和近似算法。系统设计上,XGBoost通过预排序、列抽样和并行处理提高效率,同时支持稀疏数据和缺失值处理。相比于GBDT,XGBoost有更多优点,但与LightGBM相比,预排序和level-wise生成策略可能增加计算成本。
摘要由CSDN通过智能技术生成

目录

XGBoost概述
有监督学习
算法原理
寻找分割点算法
系统设计
优缺点

XGBoost概述

XGBoost是一个具有可扩展性的树提升算法机器学习系统,它的可扩展性体现在以下四个方面(该算法开发者陈天奇《XGBoost: A Scalable Tree Boosting System》):

  • 模型的scalability,弱分类器除cart外也支持lr和linear。
  • 策略的scalability,可以支持不同的loss functions,来优化效果,只要一、二阶可导即可。
  • 算法的scalability,做了很多细节工作,来优化参数学习和迭代速度,特征压缩技,bagging学习中的特征抽样,特征选择与阈值分裂的分位方法和并行方法等。
  • 数据的scalability,因为3中的优化,支持B级别的快速训练和建模;同时也因为加上了正则项和随机特征抽样,减少了过拟合问题。

XGBoost的主要优势及创新根据作者的描述,可以归纳为以下几点:

  • 一个新奇的(novel)处理稀疏数据的树学习算法。
  • 使用近似树学习( approximate tree learning)理论利用分位数的描述,可以给每一个训练实例一个合理的加权权重。
  • 并行和分布式的设计使得学习速度非常快,建模更快速。
  • XGBoost exploits out-of-core computation 机制让仅使用笔记本就可以处理数以亿计的数据成为可能。
  • 端到端系统使用最小的集群资源就可以处理大量的数据。

XGBoost被用于监督学习,监督学习指利用具有多个特征的训练数据xi来预测目标变量yi,在训练数据中yi作为标签是给定的。
先从有监督学习讲起。

有监督学习

在有监督学习里面有几个逻辑上的重要组成部件,初略地分可以分为:模型,参数和目标函数。

模型和参数

模型:指给定输入如何去预测输出
参数:指我们需要学习的东西

我们比较常见的模型如线性模型(包括线性回归和logistic regression)采用了线性叠加的方式进行预测。
对于最简单的线性模型,它的模型结构如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值