全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
1768 3
2021-11-10
XGBoost算法的原理

GBDT对于简单的损失函数,如指数损失和平方损失,每一次提升都较为简单,但是对于一般的损失函数(如绝对损失),优化难度大大增加。因此 GBDT 利用损失函数负梯度在当前模型的值作为提升树中残差的近似值,拟合一个回归树。

GBDT 的具体算法如下:

  • 初始化模型

2.循环训练 K 个模型𝑘 = 1,2, … ,𝐾

(1) 计算负梯度:对于i = 1,2, … , M

(2) 以负梯度𝑟𝑘𝑖训练模型,得到第 k 颗树的叶结点区域$𝑅_{𝑘𝑗}$,𝑗 = 1,2, … ,𝐽 (3) 对𝑗 = 1,2, … ,𝐽,计算:  

(3)更新模型:  

XGBoost 是一种高效的 Boosting 训练器,可以实现 GBDT 的功能。且不同于一般的GBDT,XGBoost 采用损失函数的二阶泰勒展开来近似原损失函数,同时在损失函数后加入惩罚项:

以树模型作为弱分类器为例,得到区别于 GBDT 构造树的过程。

首先将𝑓𝑡和Ω的表达式带入目标函数中,得到目标函数的如下形式:

由此可得函数的极小值点:

每次对已有的叶子加入一个分割时,只需通过以下式子判断是否进行分割:


全文见pdf


附件列表
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-11-14 13:55:31
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2025-5-15 00:08:16
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2025-5-15 00:35:48
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群