《XGBoost算法的原理推导》12-7损失函数经验损失项二阶泰勒展开式 公式解析

devtools/2024/11/8 4:40:47/

本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


我们可以将公式 (12-7) 的损失函数经验损失项部分对照标准的二阶泰勒展开式的形式。
f ( x ) ≈ f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ( x − a ) 2 f(x) \approx f(a) + f'(a) (x - a) + \frac{f''(a)}{2} (x - a)^2 f(x)f(a)+f(a)(xa)+2f′′(a)(xa)2

回顾公式 (12-7) 的形式

在公式 (12-7) 中,我们的目标是对损失函数 l ( y i , y ^ i ( t − 1 ) + f t ( x i ) ) l(y_i, \hat{y}_i^{(t-1)} + f_t(x_i)) l(yi,y^i(t1)+ft(xi)) 进行二阶泰勒展开,在点 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t1) 附近展开。公式 (12-7) 中的损失函数部分可以写为:

l ( y i , y ^ i ( t − 1 ) + f t ( x i ) ) ≈ l ( y i , y ^ i ( t − 1 ) ) + g i f t ( x i ) + 1 2 h i f t 2 ( x i ) l\left(y_i, \hat{y}_i^{(t-1)} + f_t(x_i)\right) \approx l\left(y_i, \hat{y}_i^{(t-1)}\right) + g_i f_t(x_i) + \frac{1}{2} h_i f_t^2(x_i) l(yi,y^i(t1)+ft(xi))l(yi,y^i(t1))+gift(xi)+21hift2(xi)

匹配二阶泰勒展开的标准形式

根据标准的二阶泰勒展开,我们可以逐项对应:

  1. f ( a ) f(a) f(a)

    • 在这里,相当于 l ( y i , y ^ i ( t − 1 ) ) l(y_i, \hat{y}_i^{(t-1)}) l(yi,y^i(t1)),即在点 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t1) 处的损失函数值。
    • 这相当于泰勒展开中的常数项 f ( a ) f(a) f(a)
  2. 一阶导数项 f ′ ( a ) ( x − a ) f'(a)(x - a) f(a)(xa)

    • 这里的一阶导数项是 g i f t ( x i ) g_i f_t(x_i) gift(xi),其中 g i = ∂ l ( y i , y ^ i ( t − 1 ) ) ∂ y ^ i ( t − 1 ) g_i = \frac{\partial l(y_i, \hat{y}_i^{(t-1)})}{\partial \hat{y}_i^{(t-1)}} gi=y^i(t1)l(yi,y^i(t1)) 是损失函数在点 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t1) 处的一阶导数。
    • 对应的增量 ( x − a ) (x - a) (xa) 相当于 f t ( x i ) f_t(x_i) ft(xi),表示第 t t t 轮新模型的预测值。
    • 因此,一阶项可以表示为 g i f t ( x i ) g_i f_t(x_i) gift(xi)
  3. 二阶导数项 f ′ ′ ( a ) 2 ( x − a ) 2 \frac{f''(a)}{2} (x - a)^2 2f′′(a)(xa)2

    • 这里的二阶导数项是 1 2 h i f t 2 ( x i ) \frac{1}{2} h_i f_t^2(x_i) 21hift2(xi),其中 h i = ∂ 2 l ( y i , y ^ i ( t − 1 ) ) ∂ ( y ^ i ( t − 1 ) ) 2 h_i = \frac{\partial^2 l(y_i, \hat{y}_i^{(t-1)})}{\partial (\hat{y}_i^{(t-1)})^2} hi=(y^i(t1))22l(yi,y^i(t1)) 是损失函数在点 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t1) 处的二阶导数。
    • 二阶项的形式为 1 2 h i f t 2 ( x i ) \frac{1}{2} h_i f_t^2(x_i) 21hift2(xi),对应于二阶泰勒展开中的二阶导数项 f ′ ′ ( a ) 2 ( x − a ) 2 \frac{f''(a)}{2} (x - a)^2 2f′′(a)(xa)2

最终形式

将公式 (12-7) 的损失函数部分写成标准的二阶泰勒展开形式,我们得到:

l ( y i , y ^ i ( t − 1 ) + f t ( x i ) ) ≈ l ( y i , y ^ i ( t − 1 ) ) + g i f t ( x i ) + 1 2 h i f t 2 ( x i ) l\left(y_i, \hat{y}_i^{(t-1)} + f_t(x_i)\right) \approx l\left(y_i, \hat{y}_i^{(t-1)}\right) + g_i f_t(x_i) + \frac{1}{2} h_i f_t^2(x_i) l(yi,y^i(t1)+ft(xi))l(yi,y^i(t1))+gift(xi)+21hift2(xi)

其中:

  • l ( y i , y ^ i ( t − 1 ) ) l(y_i, \hat{y}_i^{(t-1)}) l(yi,y^i(t1)) 对应于常数项 f ( a ) f(a) f(a)
  • g i f t ( x i ) g_i f_t(x_i) gift(xi) 对应于一阶项 f ′ ( a ) ( x − a ) f'(a) (x - a) f(a)(xa)
  • 1 2 h i f t 2 ( x i ) \frac{1}{2} h_i f_t^2(x_i) 21hift2(xi) 对应于二阶项 f ′ ′ ( a ) 2 ( x − a ) 2 \frac{f''(a)}{2} (x - a)^2 2f′′(a)(xa)2

这个二阶泰勒展开的形式让我们可以用一阶和二阶导数的近似值来表达损失函数,使得优化过程更加简化。


http://www.ppmy.cn/devtools/132206.html

相关文章

介绍一下memcpy(c基础)

memcpy函数void *memcpy(void *dest, const void *src, size_t n); dest:指向目标内存区域的指针,即复制的目的地。src:指向源内存区域的指针,即要被复制的内容的来源。n:要复制的字节数 主要功能是将src所指向的内存…

DNS配置

1.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 2.配置从DNS服务器,对主dns服务器进行数据备份。 options {listen-on port 53 { 192.168.111.130; };directory "/var/named";allow-query { any;};zone "openlab.com&qu…

第八章 防火墙

1、什么是防火墙 参数说明: 3、firewalld (1)firewalld介绍 iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,而如果 配置了需要 reload 内核模块的话,过程背后还…

vue3记录(第一版)

vue2与vue3的区别 vue2属于选项式API,vue3属于组合式API setup概述 setup是vue3中一个新的配置项,值是一个函数,组件中所用到的数据,方法,计算属性,监视等等,均配置在setup中 vue3中的setup和vue2的data,methods之间有什么关系呢? 因为setup比data解析的早,所以在data中可以…

甘肃高校大数据实验室建设案例分享

随着信息技术的快速发展,大数据技术已成为推动经济社会发展的重要引擎。甘肃省高度重视教育信息化建设,并积极支持省内高校建立大数据相关实验室,以促进学科交叉融合及创新人才培养。在此背景下,泰迪携手多所甘肃高校共同打造了一…

恒创科技:如何知道一台服务器能承载多少用户?

如何知道一台服务器能承载多少用户?其实服务器承载能力并非一个单一固定的数值,而是由多种因素共同决定的动态指标,所以想知道能承载的访客量,我们要先搞清楚究竟有哪些因素会影响服务器承载访客的数量。 影响服务器承载访客的因素&#xff…

python项目实战---使用图形化界面下载音乐

音乐下载 设计思路: 设计界面编写爬虫代码绑定爬虫打包exe文件 这个是最终的设计成果,所有的下载歌曲都在“下载mp3”文件夹里面 完整代码 逻辑代码 import os.path import reimport requests from PyQt5.QtWidgets import QApplication,QWidget,QM…

Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…