XGBoost和LightGBM

目录

 XGBoost

LightGBM

 XGBoost

 XGBoost的目标函数是损失加正则项Ω,损失的含义是yi和最后一棵树的预测的损失,最后一棵树的损失是yi^(t-1)+ft(xi)即前t-1棵树和最后一棵树(最后一棵树可以相当于拟合前t-1棵树的残差)相加。

然后对损失进行泰勒展开取前三项,可以得到下面的目标函数,前面的l没有了,是因为l是前t-1棵树的已知量,可以作为常量。并且其中gi和hi也都是常量,是xi样本对应的前t-1棵树的结果求导数和二阶导数的常量。

然后解释Ω,Ω是用来限制树的复杂度的,分别从叶节点个数和叶节点权值对树的复杂度进行考量

然后得到欧米伽的公式,我们要与前面的loss进行整合,我们需要把loss内的fk(xi)转化为和后面Ω变量相同的形式进行合并

一步一步分析上图,

第一步到第二步,fk(xi)等于样本xi最终预测对应的节点q(xi)的权值,即w^q(xi),所有的w^q(xi)相加其实就是将所有样本xi对应的叶节点进行分类,然后再分别按节点求和(每个节点对应的样本有几个就),也就是这个,然后将按样本预测值求和转为按不同节点求和后就可以和Ω合并了,并且gi和hi虽然对于每个样本xi都是不同的值,但都是已知的在求前面t-1棵树时就已知的量,所以我们用一个Gj和Hj的符号表示。

最后得到一个一元二次目标函数即

这个一元二次函数的最小值点很容易看出来就是每个都取极值点(最小值)即每个wj都取,就可以得到简化后的目标函数

这个目标函数的意思是,已知一个二叉决策树的形状,我们就会知道最小目标函数是这个,然后我们要更新这棵决策树,让他是否划分新的叶子结点,划分哪个叶子结点,就是要看哪个划分对应的决策树形状的目标函数值最小。然后XGBoost是采用贪心算法一个节点一个节点进行枚举划分的。

不断划分后如何停止呢?

可以设定一个阈值:1、新的划分的目标函数增益小于一个阈值时就停止划分。2、决策树的深度达到一定的时候停止划分。3、样本权重和小于设定阈值时则停止建树。什么意思呢,即涉及到一个超参数-最小的样本权重和min_child_weight,和GBM的 min_child_leaf 参数类似,但不完全一样。大意就是一个叶子节点样本太少了,也终止同样是防止过拟合。

LightGBM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值