目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5929.6k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(632)
赞(0)

XGBoost算法

image-20230104113400639

XGBoost介绍

XGBoost全称是eXtreme Gradient Boosting,可译为极限梯度提升算法。它是GBDT的

高效实现,由陈天奇设计,致力于让提升树突破自身的计算极限,以实现运算快速,性能优

秀的工程目标。

XGBoost既可以做分类分析,也可以做回归分析,对应的模型分别为:

  • XGBoost分类模型(XGBClassifier)
  • XGBoost回归模型(XGBRegressor)

XGBoost原理

XGBoost作为GBDT的高效实现,在如下两个方面做了优化:

  • 算法本身的优化

XGBoost算法的损失函数,除了本身的损失,还加上了正则化部分,可以防止过拟合,

泛化能力更强。XGBoost算法的损失函数是对误差部分采用二阶泰勒展开,相较于GBDT算

法的损失函数只对误差部分做负梯度(一阶泰勒)展开,更加准确。

1Ni=1NL(yi,f(xi))+λJ(f)

其中λ是正则化系数, J(f)是正则项。

  • 算法运行效率的优化

XGBoost构建树的分裂策略是 Level-wise,即同一层的叶子节点每次都一起分裂,容易

进行多线程优化,从而提升运行效率。

image-20230104150347138

注意:

  • XGBoost 构建树的分裂策略是Level-wise
  • GBDT的另外一个经典实现LightGBM采用的分裂策略是Leaf-wise

XGBoost的安装

实时效果反馈

1. 关于XGBoost,下列说法正确的是:

A XGBoost的计算性能一般

B XGBoost只能解决分类问题

C XGBoost是GBDT的高效实现

D XGBoost是比尔.盖茨研究的算法

2. 关于XGBoost与GBDT,下列说法正确的是:

A XGBoost算法的损失函数,除了本身的损失,还加上了正则化部分

B GBDT的效率比XGBoost高

C XGBoost与GBDT没有任何关系

D XGBoost 构建树的分裂策略是leaf-wise

答案

1=>C 2=>A

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2