xgboost理论分析

本文深入探讨了XGBoost的理论基础,包括损失函数、正则化项及其优化策略。通过分析XGBoost与GBDT的区别,揭示了XGBoost如何通过二阶导数直接优化损失函数,并介绍了决策树的分裂标准。文章还详细阐述了XGBoost算法的主要流程,从计算一阶和二阶导数到构建决策树的过程。
摘要由CSDN通过智能技术生成

本文CSDN

陈天奇PPT

XGBoost: A Scalable Tree Boosting System

刘建平: XGBoost算法原理小结

xgboost 实战以及源代码分析

Complete Guide to Parameter Tuning in XGBoost with codes in Python

Introduction to Boosted Trees

Can Gradient Boosting Learn Simple Arithmetic?

【机器学习】决策树(下)——XGBoost、LightGBM(非常详细)

史上最详细的XGBoost实战

华校专-Xgboost使用

LightGBM详解


在GBDT损失函数 L ( y , f t − 1 ( x ) + h t ( x ) ) L\left(y, f_{t-1}(x)+h_{t}(x)\right) L(y,ft1(x)+ht(x))的基础上,我们加入正则化项如下:

Ω ( h t ) = γ J + λ 2 ∑ j = 1 J w t j 2 \Omega\left(h_{t}\right)=\gamma J+\frac{\lambda}{2} \sum_{j=1}^{J} w_{t j}^{2} Ω(ht)=γJ+2λj=1Jwtj2

这里的 J J J是叶子节点的个数,而 w t j w_{tj} wtj是第 j j j个叶子节点的最优值。这里的 w t j w_{tj} wtj和我们GBDT里使用的 w t j w_{tj} wtj是一个意思,只是XGBoost的论文里用的是 w w w表示叶子区域的值,因此这里和论文保持一致。

最终XGBoost的损失函数可以表达为:

L t = ∑ i = 1 m L ( y i , f t − 1 ( x i ) + h t ( x i ) ) + γ J + λ 2 ∑ j = 1 J w t j 2 L_{t}=\sum_{i=1}^{m} L\left(y_{i}, f_{t-1}\left(x_{i}\right)+h_{t}\left(x_{i}\right)\right)+\gamma J+\frac{\lambda}{2} \sum_{j=1}^{J} w_{t j}^{2} Lt=i=1mL(yi,ft1(xi)+ht(xi))+γJ+2λj=1Jwtj2

最终我们要极小化上面这个损失函数,得到第 t t t个决策树最优的所有 J J J个叶子节点区域和每个叶子节点区域的最优解 w t j w_{tj} wtj。XGBoost没有和GBDT一样去拟合泰勒展开式的一阶导数,而是期望直接基于损失函数的二阶泰勒展开式来求解。现在我们来看看这个损失函数的二阶泰勒展开式:

L t = ∑ i = 1 m L ( y i , f t − 1 ( x i ) + h t ( x i ) ) + γ J + λ 2 ∑ j = 1 J w t j 2 ≈ ∑ i = 1 m ( L ( y i , f t − 1 ( x i ) ) + ∂ L ( y i , f t − 1 ( x i ) ∂ f t − 1 ( x i ) h t ( x i ) + 1 2 ∂ 2 L ( y i , f t − 1 ( x i ) ∂ f t − 1 2 ( x i ) h t 2 ( x i ) ) + γ J + λ 2 ∑ j = 1 J w t j 2 \begin{aligned} L_{t} &=\sum_{i=1}^{m} L\left(y_{i}, f_{t-1}\left(x_{i}\right)+h_{t}\left(x_{i}\right)\right)+\gamma J+\frac{\lambda}{2} \sum_{j=1}^{J} w_{t j}^{2} \\ & \approx \sum_{i=1}^{m}\left(L\left(y_{i}, f_{t-1}\left(x_{i}\right)\right)+\frac{\partial L\left(y_{i}, f_{t-1}\left(x_{i}\right)\right.}{\partial f_{t-1}\left(x_{i}\right)} h_{t}\left(x_{i}\right)+\frac{1}{2} \frac{\partial^{2} L\left(y_{i}, f_{t-1}\left(x_{i}\right)\right.}{\partial f_{t-1}^{2}\left(x_{i}\right)} h_{t}^{2}\left(x_{i}\right)\right)+\gamma J+\frac{\lambda}{2} \sum_{j=1}^{J} w_{t j}^{2} \end{aligned} Lt=i=1mL(yi,ft1(xi)+ht(xi))+γJ+2λj=1Jwtj2i=1m(L(yi,ft1(xi))+ft1(xi)L(yi,ft1(xi)ht(xi)+21ft12(xi)2L(yi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值