Xgboost

Xgboost是树中重要的一个算法吧。
现在理解下先,不管是ID3,C4.5,CART回归,以及CART分类,以及随机森林,以及Adaboost,以及GBDT,都有什么共同点?
不管这个树是什么样的,它肯定是颗树,是树,就得长叶子,所有这些算法都和树的分裂离不开关系。
那么xgboost也不例外,它可以看成是lgbt的一个衍生,怎么说呢,GBDT的弱分类器只能选择什么?只能是CART树?这里问个问题,为什么只能只CART树?(提示一点,因为GBDT的原理,它是怎么生成的呢?是不同的弱迭代器共同组成的它的分类结果是可以以数值形式相加的,只提示到这儿了)而xgboost可以使用除了CART树外的任意其他弱分类器,比如可以选择逻辑回归,那么既然可以选择逻辑回归,那么选择逻辑回归时肯定可以选择l1正则以及l2正则这些参数,因此这个地方也可以提高模型的泛化能力。再回过头来讲,为什么xgboost就可以选择其他的弱分类器呢?这与xgboost的原理有关(废话),下面看我们xgboost的公式,首先说下,xgboost也是基于加法模型来的,这里想下除了xgboost还有那几个是用的加法模型,哪个最先使用的?
Fm(x) = Fm-1(x) + T(x;θ)
写Fm(x)的损失函数:
在这里插入图片描述
这里xgboost使用了二阶泰勒展开,这也是xgboost训练速度快的原因之一,也是为什么xgboost可以使用其他弱学习器的原因。
这里先贴上二阶泰勒展开公式:
在这里插入图片描述
损失函数变形得:
在这里插入图片描述
求和中的第一项是常数项,对我们求极值没有影响,故去掉。并变形,这里w和T(x;θ)是等价的?这里求高人解释!!!!
在这里插入图片描述

这里因为是要找分裂点故再变

在这里插入图片描述
在这里插入图片描述
我们的加法公式是为了求T(x;θ)因此损失函树数对T(x;Θ)求导并令其等于零得:
在这里插入图片描述
因此
在这里插入图片描述
这个就是我们求出得加法模型要加的那一项,但是分裂点怎么选呢?这里把这一项作为和基尼指数这些一样的,因此可以根据这个找分裂点!!!!

因为xgboost可以看作是GBDT的衍生,那么这里写下区别
1.xgboost可以有除了CART之外的弱学习器,因此会再弱学习器中引入正则项避免过拟合(也就是可以利用弱学习器避免过拟合)再一个xgboost的损失函数中我们根据叶子节点个数T以及w引入了正则项。
2.Xgboost利用二阶泰勒展开将其损失函数进行展开,因此可以加速训练
3.Xgboost可以并行处理,加速训练。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值