当前位置: 首页 > news >正文

【新书速递】深入理解XGBoost:高效机器学习算法与进阶

新书速递

长按二维码
了解及购买

推荐语:滴滴工程师撰写。打通高效机器学习脉络,深入剖析XGBoost原理、分布式实现、模型优化、深度应用等。

编辑推荐

1)知名互联网公司工程师撰写,打通高效机器学习脉络,掌握竞赛神器XGBoost

2)以机器学习基础知识做铺垫,深入剖析XGBoost原理、分布式实现、模型优化、深度应用等

内容简介

本书以机器学习基础知识做铺垫,深入剖析XGBoost的原理、分布式实现、模型优化、深度应用等。
第1~3章使读者对机器学习算法形成整体认知,了解如何优化模型以及评估预测结果,并熟悉常用机器学习算法的实现原理和应用,如线性回归、逻辑回归、决策树、神经网络、支持向量机等。
第4章借助实际案例,讲解如何通过XGBoost解决分类、回归、排序等问题,并介绍了XGBoost常用功能的使用方法。
第5~7章是本书的重点,从理论推导与源码层面深入剖析XGBoost,涵盖XGBoost原理与理论证明、分布式XGBoost的实现、XGBoost各组件的源码解析。
第8~9章为进阶内容,着重解析算法实践与工程应用中的难点,进而帮助读者更好地解决实际问题。
第10章介绍了一些较为前沿的将树模型与其他模型融合的研究方法,以开拓眼界,拓展思路。

作者简介

何龙——现就职于滴滴出行,XGBoost开源社区贡献者,专注于人工智能和机器学习领域,从底层算法原理到上层应用实践都有广泛的兴趣和研究。较早接触XGBoost,熟悉XGBoost应用开发,深入阅读源码,具有丰富的项目开发经验。

目录

前言

第1章 机器学习概述1

1.1 何谓机器学习1

1.1.1 机器学习常用基本概念2

1.1.2 机器学习类型3

1.1.3 机器学习应用开发步骤4

1.2 集成学习发展与XGBoost提出5

1.2.1 集成学习5

1.2.2 XGBoost6

1.3 小结7

第2章 XGBoost骊珠初探9

2.1 搭建Python机器学习环境9

2.1.1 Jupyter Notebook10

2.1.2 NumPy11

2.1.3 Pandas18

2.1.4 Matplotlib32

2.1.5 scikit-learn39

2.2 搭建XGBoost运行环境39

2.3 示例:XGBoost告诉你蘑菇是否有毒42

2.4 小结44

第3章 机器学习算法基础45

3.1 KNN45

3.1.1 KNN关键因素46

3.1.2 用KNN预测鸢尾花品种47

3.2 线性回归52

3.2.1 梯度下降法53

3.2.2 模型评估55

3.2.3 通过线性回归预测波士顿房屋价格55

3.3 逻辑回归57

3.3.1 模型参数估计59

3.3.2 模型评估60

3.3.3 良性/恶性乳腺肿瘤预测61

3.3.4 softmax64

3.4 决策树65

3.4.1 构造决策树66

3.4.2 特征选择67

3.4.3 决策树剪枝71

3.4.4 决策树解决肿瘤分类问题71

3.5 正则化75

3.6 排序78

3.6.1 排序学习算法80

3.6.2 排序评价指标81

3.7 人工神经网络85

3.7.1 感知器85

3.7.2 人工神经网络的实现原理87

3.7.3 神经网络识别手写体数字90

3.8 支持向量机92

3.8.1 核函数95

3.8.2 松弛变量97

3.8.3 通过SVM识别手写体数字98

3.9 小结99

第4章 XGBoost小试牛刀100

4.1 XGBoost实现原理100

4.2 二分类问题101

4.3 多分类问题109

4.4 回归问题113

4.5 排序问题117

4.6 其他常用功能121

4.7 小结145

第5章 XGBoost原理与理论证明146

5.1 CART146

5.1.1 CART生成147

5.1.2 剪枝算法150

5.2 Boosting算法思想与实现151

5.2.1 AdaBoost151

5.2.2 Gradient Boosting151

5.2.3 缩减153

5.2.4 Gradient Tree Boosting153

5.3 XGBoost中的Tree Boosting154

5.3.1 模型定义155

5.3.2 XGBoost中的Gradient Tree Boosting156

5.4 切分点查找算法161

5.4.1 精确贪心算法161

5.4.2 基于直方图的近似算法163

5.4.3 快速直方图算法165

5.4.4 加权分位数概要算法167

5.4.5 稀疏感知切分点查找算法167

5.5 排序学习169

5.6 DART174

5.7 树模型的可解释性177

5.7.1 Saabas177

5.7.2 SHAP179

5.8 线性模型原理183

5.8.1 Elastic Net回归183

5.8.2 并行坐标下降法184

5.8.3 XGBoost线性模型的实现185

5.9 系统优化187

5.9.1 基于列存储数据块的并行学习188

5.9.2 缓存感知访问190

5.9.3 外存块计算191

5.10 小结192

第6章 分布式XGBoost193

6.1 分布式机器学习框架Rabit 193

6.1.1 AllReduce193

6.1.2 Rabit195

6.1.3 Rabit应用197

6.2 资源管理系统YARN 200

6.2.1 YARN的基本架构201

6.2.2 YARN的工作流程202

6.2.3 XGBoost on YARN203

6.3 可移植分布式XGBoost4J205

6.4 基于Spark平台的实现208

6.4.1 Spark架构208

6.4.2 RDD210

6.4.3 XGBoost4J-Spark211

6.5 基于Flink平台的实现223

6.5.1 Flink原理简介224

6.5.2 XGBoost4J-Flink227

6.6 基于GPU加速的实现229

6.6.1 GPU及其编程语言简介229

6.6.2 XGBoost GPU加速原理230

6.6.3 XGBoost GPU应用236

6.7 小结239

第7章 XGBoost进阶240

7.1 模型训练、预测及解析240

7.1.1 树模型训练240

7.1.2 线性模型训练256

7.1.3 模型预测258

7.1.4 模型解析261

7.2 树模型更新264

7.2.1 updater_colmaker264

7.2.2 updater_histmaker264

7.2.3 updater_fast_hist271

7.2.4 其他更新器276

7.3 目标函数278

7.3.1 二分类279

7.3.2 回归280

7.3.3 多分类282

7.3.4 排序学习284

7.4 评估函数288

7.4.1 概述289

7.4.2 二分类291

7.4.3 多分类295

7.4.4 回归296

7.4.5 排序297

7.5 小结299

第8章 模型选择与优化300

8.1 偏差与方差300

8.2 模型选择303

8.2.1 交叉验证304

8.2.2 Bootstrap306

8.3 超参数优化307

8.3.1 网格搜索308

8.3.2 随机搜索310

8.3.3 贝叶斯优化313

8.4 XGBoost超参数优化315

8.4.1 XGBoost参数介绍315

8.4.2 XGBoost调参示例319

8.5 小结334

第9章 通过XGBoost实现广告分类器335

9.1 PCA335

9.1.1 PCA的实现原理335

9.1.2 通过PCA对人脸识别数据降维338

9.1.3 利用PCA实现数据可视化341

9.2 通过XGBoost实现广告分类器343

9.3 小结357

第10章 基于树模型的其他研究与应用358

10.1 GBDT、LR融合提升广告点击率358

10.2 mGBDT360

10.3 DEF362

10.4 一种基于树模型的强化学习方法366

10.5 小结370

数据库专题天猫上线

复制¥JPJc1VWZ3e4¥

直达店铺专场


你点的每个赞,我都认真当成了喜欢

相关文章:

  • IEEE 2020 年 12 大技术趋势:边缘计算、量子计算、AI、数字孪生等
  • 春招面试必备书单,今日韬光隐晦,他日一鸣惊人
  • 【直播预告】2月16日 | 数字化转型“拐点”:以灯塔模型突破“疫情式”影响...
  • 一个架构师谈什么是架构,以及怎么成为架构师
  • 2020年,最适合AI的5种编程语言
  • 【直播预告】2月20日 | 来聊聊考研、保研那些事
  • 2020春节假期VR/AR资讯汇总
  • 写出一手烂代码的19条准则
  • 学Linux高性能Web集群,看这本书就够了
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • 5000 字带你快速入门 Apache Kylin
  • 卡内基梅隆大学机器人研究所教授最新力作:移动机器人学
  • 人人可懂的机器学习入门要点和阅读路径
  • 数据可视化的一些小技巧
  • 一文读懂Istio服务网格
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android交互
  • golang 发送GET和POST示例
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java 网络编程(2):UDP 的使用
  • PhantomJS 安装
  • React16时代,该用什么姿势写 React ?
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 复习Javascript专题(四):js中的深浅拷贝
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 构建工具 - 收藏集 - 掘金
  • 网络应用优化——时延与带宽
  • 写代码的正确姿势
  • 原生JS动态加载JS、CSS文件及代码脚本
  • MPAndroidChart 教程:Y轴 YAxis
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​渐进式Web应用PWA的未来
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (九)One-Wire总线-DS18B20
  • (三)docker:Dockerfile构建容器运行jar包
  • (十一)图像的罗伯特梯度锐化
  • (一)为什么要选择C++
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)Sql Server 保留几位小数的两种做法
  • .Net mvc总结
  • .NET企业级应用架构设计系列之技术选型
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [17]JAVAEE-HTTP协议
  • [20190401]关于semtimedop函数调用.txt
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)