-
内容大纲
本书以机器学习必会知识做铺垫,深入剖析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.3 机器学习应用开发步骤
1.2 集成学习发展与XGBoost提出
1.2.1 集成学习
1.2.2 XGBoost
1.3 小结
第2章 XGBoost骊珠初探
2.1 搭建Python机器学习环境
2.1.1 Jupyter Notebook
2.1.2 NumPy
2.1.3 Pandas
2.1.4 Matplotlib
2.1.5 scikit-learn
2.2 搭建XGBoost运行环境
2.3 示例:XGBoost告诉你蘑菇是否有毒
2.4 小结
第3章 机器学习算法基础
3.1 KNN
3.1.1 KNN关键因素
3.1.2 用KNN预测鸢尾花品种
3.2 线性回归
3.2.1 梯度下降法
3.2.2 模型评估
3.2.3 通过线性回归预测波士顿房屋价格
3.3 逻辑回归
3.3.1 模型参数估计
3.3.2 模型评估
3.3.3 良性/恶性乳腺肿瘤预测
3.3.4 softmax
3.4 决策树
3.4.1 构造决策树
3.4.2 特征选择
3.4.3 决策树剪枝
3.4.4 决策树解决肿瘤分类问题
3.5 正则化
3.6 排序
3.6.1 排序学习算法
3.6.2 排序评价指标
3.7 人工神经网络
3.7.1 感知器
3.7.2 人工神经网络的实现原理
3.7.3 神经网络识别手写体数字
3.8 支持向量机
3.8.1 核函数
3.8.2 松弛变量
3.8.3 通过SVM识别手写体数字
3.9 小结
第4章 XGBoost小试牛刀
4.1 XGBoost实现原理
4.2 二分类问题
4.3 多分类问题
4.4 回归问题
4.5 排序问题
4.6 其他常用功能
4.7 小结
第5章 XGBoost原理与理论证明
5.1 CART
5.1.1 CART生成
5.1.2 剪枝算法
5.2 Boosting算法思想与实现
5.2.1 AdaBoost
5.2.2 Gradient Boosting
5.2.3 缩减
5.2.4 Gradient Tree Boosting
5.3 XGBoost中的Tree Boosting
5.3.1 模型定义
5.3.2 XGBoost中的Gradient Tree Boosting
5.4 切分点查找算法
5.4.1 精确贪心算法
5.4.2 基于直方图的近似算法
5.4.3 快速直方图算法
5.4.4 加权分位数概要算法
5.4.5 稀疏感知切分点查找算法
5.5 排序学习
5.6 DART
5.7 树模型的可解释性
5.7.1 Saabas
5.7.2 SHAP
5.8 线性模型原理
5.8.1 Elastic Net回归
5.8.2 并行坐标下降法
5.8.3 XGBoost线性模型的实现
5.9 系统优化
5.9.1 基于列存储数据块的并行学习
5.9.2 缓存感知访问
5.9.3 外存块计算
5.10 小结
第6章 分布式XGBoost
6.1 分布式机器学习框架Rabit
6.1.1 AllReduce
6.1.2 Rabit
6.1.3 Rabit应用
6.2 资源管理系统YARN
6.2.1 YARN的基本架构
6.2.2 YARN的工作流程
6.2.3 XGBoost on YARN
6.3 可移植分布式XGBoost4J
6.4 基于Spark平台的实现
6.4.1 Spark架构
6.4.2 RDD
6.4.3 XGBoost4J-Spark
6.5 基于Flink平台的实现
6.5.1 Flink原理简介
6.5.2 XGBoost4J-Flink
6.6 基于GPU加速的实现
6.6.1 GPU及其编程语言简介
6.6.2 XGBoost GPU加速原理
6.6.3 XGBoost GPU应用
6.7 小结
第7章 XGBoost进阶
7.1 模型训练、预测及解析
7.1.1 树模型训练
7.1.2 线性模型训练
7.1.3 模型预测
7.1.4 模型解析
7.2 树模型更新
7.2.1 updater_colmaker
7.2.2 updater_histmaker
7.2.3 updater_fast_hist
7.2.4 其他更新器
7.3 目标函数
7.3.1 二分类
7.3.2 回归
7.3.3 多分类
7.3.4 排序学习
7.4 评估函数
7.4.1 概述
7.4.2 二分类
7.4.3 多分类
7.4.4 回归
7.4.5 排序
7.5 小结
第8章 模型选择与优化
8.1 偏差与方差
8.2 模型选择
8.2.1 交叉验证
8.2.2 Bootstrap
8.3 超参数优化
8.3.1 网格搜索
8.3.2 随机搜索
8.3.3 贝叶斯优化
8.4 XGBoost超参数优化
8.4.1 XGBoost参数介绍
8.4.2 XGBoost调参示例
8.5 小结
第9章 通过XGBoost实现广告分类器
9.1 PCA
9.1.1 PCA的实现原理
9.1.2 通过PCA对人脸识别数据降维
9.1.3 利用PCA实现数据可视化
9.2 通过XGBoost实现广告分类器
9.3 小结
第10章 基于树模型的其他研究与应用
10.1 GBDT、LR融合提升广告点击率
10.2 mGBDT
10.3 DEF
10.4 一种基于树模型的强化学习方法
10.5 小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...