xgboost: 分割查找算法:贪婪算法、分桶算法
创始人
2024-05-28 18:33:32
0

1、Basic Exact Greedy Algorithm

树学习的关键问题之一是找到最好的分割,如Eq(7)所示。

贪婪算法:分割查找算法枚举所有特征上的所有可能的分割。精确的贪婪算法如Alg. 1所示。为了高效地完成这一任务,算法必须首先根据特征值对数据进行排序,并按排序顺序访问数据,积累Eq(7)中结构得分的梯度统计量。现有的大多数单个树提升实现都支持精确贪婪算法,如scikit-learn[20]、R的gbm[21]以及XGBoost的单机版本。

Eq(7)在文章:xgboost:算法数学原理_KPer_Yang的博客-CSDN博客
Lsplit=12[(∑i∈ILgi)2∑i∈ILhi+λ+(∑i∈IRgi)2∑i∈IRhi+λ−(∑i∈Igi)2∑i∈Ihi+λ]−γ\mathcal{L}_{split}=\frac{1}{2}\left[\frac{(\sum_{i\in I_L}g_i)^2}{\sum_{i\in I_L}h_i+\lambda}+\frac{(\sum_{i\in I_R}g_i)^2}{\sum_{i\in I_R}h_i+\lambda}-\frac{(\sum_{i\in I}g_i)^2}{\sum_{i\in I}h_i+\lambda}\right]-\gamma Lsplit​=21​[∑i∈IL​​hi​+λ(∑i∈IL​​gi​)2​+∑i∈IR​​hi​+λ(∑i∈IR​​gi​)2​−∑i∈I​hi​+λ(∑i∈I​gi​)2​]−γ
算法的流程如下所示:

在这里插入图片描述

mmm:特征的维度;

sorted(I,byxjk)sorted(I, by \ x_{jk})sorted(I,by xjk​):在特征kkk下的样本特征值进行排序,排序后按照划分点进行特征值划分,计算score。

2、 Approximate Algorithm

精确的贪婪算法非常强大,因为它贪婪地枚举了所有可能的分裂点。然而,当数据太大不能全部放入内存时,全部枚举不能做到。同样的问题也出现在分布式环境中。为了在这两种情况下支持有效的梯度树增强,需要一个近似算法。

**在Alg. 2中,首先根据特征分布的百分位数提出候选分裂点(具体标准将在第3.3节给出)。然后,该算法将连续特征映射到由这些候选点分割的桶中,汇总统计数据,并根据汇总的统计数据在分桶后的数据中找到最佳解决方案。**该算法有两种变体,这取决于给出分桶的时间。在合理的近似水平下,分位数策略可以获得与精确贪婪相同的精度。

  • 全局分桶方法在树构造的初始阶段提出所有候选分割,并在所有级别上使用相同的分割查找分桶。

  • 局部分桶在每次分裂后重新分桶。

在这里插入图片描述

Gkv←=∑j∈{j∣sk,v≥xjk>sk,v−1}gjG_{kv}\leftarrow=\sum_{j\in\{j\mid s_{k,v}\geq\mathbf{x}_{jk}>s_{k,v-1}\}}g_jGkv​←=∑j∈{j∣sk,v​≥xjk​>sk,v−1​}​gj​:按照每个桶计算GGG.

Hkv←=∑j∈{j∣sk,v≥xjk>sk,v−1}hjH_{kv}\leftarrow=\sum_{j\in\{j|s_{k,v}\geq\mathbf{x}_{jk}>s_{k,v-1}\}}h_jHkv​←=∑j∈{j∣sk,v​≥xjk​>sk,v−1​}​hj​:按照每个桶计算HHH.

注:个人理解,分桶其实相当于分裂时就按照每个桶分到左右分支,按照每个桶计算GGG和HHH,而不是一个个样本计算,遍历所有的特征值寻找分裂点。

对比:希格斯10M数据集的AUC收敛性比较。eps参数对应于近似草图的精度。这大致相当于分成1 / eps个桶。相同AUC的情况下,局部分桶需要更少的桶,因为它细化了分裂的候选数据;

在这里插入图片描述

相关内容

热门资讯

猪八戒吃西瓜怎么改为夸张句 猪八戒吃西瓜怎么改为夸张句猪八戒张开了宇宙一般的血盆大口吞下了地球般大的西瓜
一个木一个羽念什么 一个木一个羽念什么    栩,读作xǔ。  栩 xǔ  〈名〉  形声。从木,羽声。亦称“杼”。本义...
赛尔号雷神天明闪怎么打 赛尔号雷神天明闪怎么打赛尔号中雷伊雷神天明闪建议使用特训后的雷伊打,现在打起来比较简单,带过地面石、...
古文言中有哪个字韵脚是“an”... 古文言中有哪个字韵脚是“an”而且有“用”的意思Ban:办,半,般,班,拌,搬,板,伴,瓣Can:蚕...
与长江三峡水电站相关的重要地理... 与长江三峡水电站相关的重要地理分界线是什么?第二阶梯与第一阶梯分界线因为这个地区海拔高度落差大,水的...
传奇的魔法神石怎么样获得? 传奇的魔法神石怎么样获得?魔法神石是在幽明领地的BOSS爆的说不定的``GM喜欢他在那里爆就在那里爆...
华谊公司旗下艺人有哪些优秀艺人... 华谊公司旗下艺人有哪些优秀艺人?华谊兄弟旗下的艺人多达四十多人,但有名的不是很多华谊旗下有很多很不错...
丁磊说大多数的中国学生不具备独... 丁磊说大多数的中国学生不具备独立思考能力,他为何这么说?是因为现在有很多的学生都非常依赖自己的父母,...
为何18岁男子脑死亡火化前妈妈... 为何18岁男子脑死亡火化前妈妈大喊别离开下一秒突然复活?我觉得应该是哪里出现了纰漏,这名男子并没有死...
关于宇宙的科普电影 关于宇宙的科普电影银河系漫游指南 绝对是是吧,《旅行到宇宙边缘》旅行到宇宙边缘
北京工商大学会计专业考研科目都... 北京工商大学会计专业考研科目都有什么?专业复习用书都用什么?初始考802管理学指定参考书是周三多《管...
作者为什么要写丁香结? 作者为什么要写丁香结?“丁香结”的本义是小小的花苞圆圆的,鼓鼓的,恰如衣襟上的盘花扣。象征意义是人生...
原核生物和真核生物的区别 原核生物和真核生物的区别真核有复杂的内膜系统(细胞器),原核生物无真核有细胞核,原核无成型的细胞核基...
怎样不吃药摆脱抑郁症 怎样不吃药摆脱抑郁症以前靠心理治疗,但是后面有一段时期加重了。但是药的副作用太大,可以不吃药吗?想开...
诺曼底登陆的作用和对二战的意义 诺曼底登陆的作用和对二战的意义改变了二战的战局,加快盟军胜利的到来。
怎么样才能学习学得“细”呢? 怎么样才能学习学得“细”呢?细是注意细节地方,平时做题多思考,尽量全面一些,不要学习时觉的理解了就完...
去年几滴相思水,化做树下种花泪... 去年几滴相思水,化做树下种花泪,谁家少年踏春来,折下枝头红玫瑰!这首诗的意思是什么?暗示爱意。指思念...
小花仙找主人! 小花仙找主人!我只要你帮我照顾花朵,每月一个礼物可以吗?我有额外条件:一个星期星期一,三,五一定要上...
手机在信号不好的时候 对方打不... 手机在信号不好的时候 对方打不进来 能设置来电转移吗rt 是否需要开通什么业务 怎么办理不需要去移...
与看透生死或看透人生有关的歌曲... 与看透生死或看透人生有关的歌曲 比如悟我觉得三国演义主题曲有一种世态苍爽的感觉 ,得意的笑 潇洒走...