0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你知道XGBoost背后的数学原理是什么吗?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-08-22 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

编者按:说到Kaggle神器,不少人会想到XGBoost。一周前,我们曾在“从Kaggle历史数据看机器学习竞赛趋势”介绍过它的“霸主地位”:自提出后,这种算法在机器学习竞赛中被迅速普及,并被多数夺冠模型视为训练速度、最终性能提升的利器。那么,你知道XGBoost背后的数学原理是什么吗?

好奇的李雷和韩梅梅

李雷和韩梅梅是形影不离的好朋友,一天,他们一起去山里摘苹果。按照计划,他们打算去摘山谷底部的那棵大苹果树。虽然韩梅梅聪明而富有冒险精神,而李雷有些谨慎和迟钝,但他们中会爬树的只有李雷。那么他们的路径是什么呢?

如上图所示,李雷和韩梅梅所在的位置是a点,他们的目标苹果树位于g点。山里环境复杂,要怎么做才能确定自己到了山谷底部呢?他们有两种方法。

1.由韩梅梅计算“a”点的斜率,如果斜率为正,则继续朝这个方向前进;如果为负,朝反方向前进。

斜率给出了前进的方向,但没有说明他们需要朝这个方向移动多少。为此,韩梅梅决定走几步台阶,算一下斜率,确保自己不会到达错误位置,最终错过大苹果树。但是这种方法有风险,控制台阶多少的是学习率,这是个需要人为把控的值:如果学习率过大,李雷和韩梅梅很可能会在g点两侧来回奔走;如果学习率过小,可能天黑了他们都未必摘得到苹果。

听到可能会走错路,李雷不乐意了,他不想绕远路,也不愿意错过回家吃饭的时间。看到好友这么为难,韩梅梅提出了第二种方法。

2.在第一种方法的基础上,每走过特定数量的台阶,都由韩梅梅去计算每一个台阶的损失函数值,并从中找出局部最小值,以免错过全局最小值。每次韩梅梅找到局部最小值,她就发个信号,这样李雷就永远不会走错路了。但这种方法对女孩子不公平,可怜的韩梅梅需要探索她附近的所有点并计算所有这些点的函数值。

XGBoost的优点在于它能同时解决以上两种方案的缺陷。

梯度提升(Gradient Boosting)

很多梯度提升实现都会采用方法1来计算目标函数的最小值。在每次迭代中,我们利用损失函数的梯度训练基学习器,然后用预测结果乘上一个常数,将其与前一次迭代的值相加,更新模型。

它背后的思路就是在损失函数上执行梯度下降,然后用基学习器对其进行拟合。当梯度为负时,我们称它为伪残差,因为它们依然能间接帮助我们最小化目标函数。

XGBoost

XGBoost是陈天奇在华盛顿大学求学期间提出的成果。它是一个整体加法模型,由几个基学习器共同构成。

那么,我们该如何在每次迭代中选择一个函数?这里可以用一种最小化整体损失的方法。

在上述梯度提升算法中,我们通过将基学习器拟合到相对于先前迭代值的损失函数的负梯度,在每次迭代时获得ft(xi)。而在XGBoost中,我们只探索几个基学习器或函数,选择其中一个计算最小值,也就是韩梅梅的方法2。

如前所述,这种方法有两个问题:

探索不同的基学习器;

计算所有基学习器的损失函数值。

XGBoost在计算基学习器ft(xi)最小值的,使用的方法是泰勒级数逼近。比起计算精确值,计算近似值可以大大减轻韩梅梅的工作量。

虽然上面只展开到二阶导数,但这种近似程度就足够了。对于任意ft(xi),第一项C都是常数。gi是前一次迭代中损失的一阶导数,hi是其二阶导数。韩梅梅可以在探索其他基学习器前直接计算gi和hi,这就成了一个简单的乘法问题,计算负担大大减轻了,不是吗?

解决了损失函数值的问题,我们还要探索不同的基学习器。

假设韩梅梅更新了一个具有K个叶子节点的基学习器ft。设Ij是属于节点j的实例集合,wj是该节点的预测。因此,对于Ij中的实例i,我们有ft(xi)=wj。所以我们在上式中用代入法更新了L(t)的表达式。更新后,我们就能针对每个叶子节点的权重采用损失函数的导数,以获得最优权重。

以上就是对于具有K个叶子节点的基学习器的最佳损失。考虑到这样的节点会有上百个,一个个探索它们是不现实的。

所以让我们来看韩梅梅的情况。她现在已经知道如何使用泰勒展开来降低损失计算量,也知道了什么是叶子节点中的最佳权重。唯一值得关注的是如何探索所有不同的树结构。

XGBoost不会探索所有可能的树结构,它只是贪婪地构建一棵树,选择导致最大损失的方法,减少分叉。在上图中,树从节点I开始,根据标准,节点分为左右分叉。所以我们的实例一部分被放进了左侧的叶子节点,剩下的则去了右侧的叶子节点。现在,我们就可以计算损失值并选择导致损失减少最大的分叉。

解决了上述问题后,现在韩梅梅就只剩下一个问题:如何选择分叉标准?XGBoost使用不同的技巧来提出不同的分割点,比如直方图。对于这部分,建议去看论文,本文不再作解释。

XGBoost要点

虽然梯度提升遵循负梯度来优化损失函数,但XGBoost计算每个基学习器损失函数值用的是泰勒展开。

XGBoost不会探索所有可能的树结构,而是贪婪地构建一棵树。

XGBoost的正则项会惩罚具有多个叶子节点的树结构。

关于选择分叉标准,强烈建议阅读论文:arxiv.org/pdf/1603.02754.pdf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 梯度
    +关注

    关注

    0

    文章

    30

    浏览量

    10575
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208

原文标题:计算:XGBoost背后的数学之美

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数学工程计算+失效分析,双轮驱动电路可靠性

    ”的循环?面对复杂电路,不知道如何用数学工具进行精准计算与风险预估?为什么需要这门课?武老师20年航天及工业产品设计经验,结合数学分析、器件物理、失效机理,构建了一
    的头像 发表于 02-27 17:44 390次阅读
    <b class='flag-5'>数学</b>工程计算+失效分析,双轮驱动电路可靠性

    内存泡沫,和它背后的幽灵订单

    内存泡沫,和它背后的幽灵订单
    的头像 发表于 02-10 00:37 1.2w次阅读
    内存泡沫,和它<b class='flag-5'>背后</b>的幽灵订单

    的导航早已“中国芯”:北斗如何静默取代GPS,成为日常出行主力?

    四大全球卫星系统深度对比+实测验证指南当你说“打开导航”时,知道背后是哪颗“星辰”在为指引方向吗?今天,我们将深入探讨全球卫星定位系统的格局,并揭示一个
    的头像 发表于 02-05 19:33 974次阅读
    <b class='flag-5'>你</b>的导航早已“中国芯”:北斗如何静默取代GPS,成为日常出行主力?

    学单片机编程对数学英语有要求吗

    辛苦学数学和英语到底是为毛?数学和英语不是单片机开发的门槛,但却决定以后能达到的高度,如果数学和英语不行,那么月薪20K可能就是
    发表于 02-02 06:24

    避繁就简!商汤日日新大模型灵性巧解数学难题,获赞“机器的审美”

    大模型也能拥有某种数学家“直觉”! 在近日举办的第十届世界华人数学家大会“人工智能与数学”夜话活动上,由菲尔兹奖得主丘成桐院士引领,集结国内四大顶尖模型团队,上海人工智能实验室、商汤科技、阿里通义
    的头像 发表于 01-12 11:41 408次阅读
    避繁就简!商汤日日新大模型灵性巧解<b class='flag-5'>数学</b>难题,获赞“机器的审美”

    从微积分的视角结构功率电子:碳化硅(SiC)技术的数学原理与工程价值解析报告

    从微积分的视角结构功率电子:碳化硅(SiC)技术的数学原理与工程价值解析报告 倾佳电子(Changer Tech)是一家专注于功率半导体和新能源汽车连接器的分销商。主要服务于中国工业电源、电力
    的头像 发表于 01-11 09:21 176次阅读
    从微积分的视角结构功率电子:碳化硅(SiC)技术的<b class='flag-5'>数学原理</b>与工程价值解析报告

    国产TDDI芯片:藏在屏幕背后的&quot;隐形冠军&quot;,谁能笑到最后?:藏在屏幕背后的&quot;隐形冠军&quot;,谁能

    知道吗?每次滑动手机屏幕时,都有一个 "隐形指挥官" 在默默工作。它既不是处理器,也不是内存,而是藏在显示屏背后的 TDDI芯片 。这块比指甲盖还小的芯片,正在掀起一场国产替代的暗战。 被忽视
    的头像 发表于 11-24 15:05 603次阅读

    经销商智能电表价格比物业公司买的贵?看完知道了!

    “贵”这个字,背后往往藏着两种逻辑:一种是“价格高”,另一种是“价值更高”。 今天,我们就来聊一聊,经销商的“贵”,到底贵在了哪里。
    的头像 发表于 11-04 16:51 719次阅读
    经销商智能电表价格比物业公司买的贵?看完<b class='flag-5'>你</b>就<b class='flag-5'>知道</b>了!

    薄膜电容的关键词是什么知道吗?

    薄膜电容是一种以金属箔作为电极,以聚乙酯、聚丙烯、聚苯乙烯等塑料薄膜作为电介质的电容器,在电子电路中具有重要作用。薄膜电容有哪些关键词知道吗?
    的头像 发表于 10-13 15:30 630次阅读
    薄膜电容的关键词是什么<b class='flag-5'>你</b><b class='flag-5'>知道</b>吗?

    知道板卡厂商参与芯片研发的α阶段意味着什么?

    大家都知道芯片很重要,但是否知道一颗芯片从设计构思到最终量产,需要经历怎样一个漫长的过程吗?
    的头像 发表于 09-24 17:08 7730次阅读
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>板卡厂商参与芯片研发的α阶段意味着什么?

    光模块拉环颜色背后的神秘意义,知道多少?

    在数据中心的复杂网络世界里,光模块扮演着至关重要的角色,它负责实现电信号与光信号之间的高效转换,确保数据在光纤网络中稳定、高速地传输。而光模块上小小的拉环颜色,看似不起眼,却隐藏着诸多关键信息,下面跟着小易,一起揭开其神秘的面纱。
    的头像 发表于 08-05 16:22 1396次阅读
    光模块拉环颜色<b class='flag-5'>背后</b>的神秘意义,<b class='flag-5'>你</b><b class='flag-5'>知道</b>多少?

    知道光耦的特性参数包括哪些吗?

    知道光耦的特性参数包括哪些吗? 一、输入特性参数 正向工作电压(Forward Voltage):在给定的工作电流下,LED本身的压降。 反向电压(Reverse Voltage):LED所能承受
    的头像 发表于 07-31 09:44 2112次阅读
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>光耦的特性参数包括哪些吗?

    已收藏!需要知道的57个常用树莓派命令!

    初次使用树莓派并不总是那么容易,因为可能还没有使用命令行的习惯。然而,终端命令是必不可少的,而且通常比通过图形用户界面(GUI)操作更高效。那么,有哪些重要的命令是应该知道的呢?有相当多的命令
    的头像 发表于 07-23 18:36 1278次阅读
    已收藏!<b class='flag-5'>你</b>需要<b class='flag-5'>知道</b>的57个常用树莓派命令!

    知道船用变压器有哪些吗?

    在船舶和海洋平台上,电力系统的稳定运行至关重要,而船用变压器作为其中的关键设备,其种类繁多,各具特点。知道船用变压器有哪些吗?让我们一起来揭开它们的神秘面纱。CSD船用变压器是船舶供电系统中
    的头像 发表于 06-01 00:00 855次阅读
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>船用变压器有哪些吗?

    嵌入式工控机vs普通工控机:区别在哪?谁才更适合的生产线?

    说到智能制造,大家第一时间可能会想到自动化生产线、机器人、MES系统这些高大上的名词。但知道吗?这些系统背后都有一个“幕后英雄”在默默运转,那就是——嵌入式工控机。
    的头像 发表于 05-15 10:09 1971次阅读
    嵌入式工控机vs普通工控机:区别在哪?谁才更适合<b class='flag-5'>你</b>的生产线?