作者 |
布奇·昆托 何龙 |
丛书名 |
智能系统与技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782105211724 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8080976 - 基于Spark的下一代机器学习:XGBoost、LightGBM、Spark NLP与Keras分布式深度学习实例--------------------------- 本书先简单介绍了Spark和Spark MLlib,然后介绍标准Spark MLlib库之外的更强大的第三方机器学习算法和库。通过阅读本书,你将能够通过几十个实际的例子和深刻的解释,将所学到的知识应用到真实世界的用例。 ---------------------------8065617 - 深入理解XGBoost:高效机器学习算法与进阶--------------------------- 本书主要介绍:XGBoost相关的机器学习基础算法;XGBoost安装编译与简单使用;XGBoost的实现原理与理论证明;XGBoost基于CPU多线程的实现以及分布式训练方法;剖析XGBoost源码,从代码层面洞彻XGBoost的实现原理,以及XGBoost的应用与调优,通过典型示例为读者提供使用参考,掌握实战技能。 通过阅读本书,不仅能使读者理解XGBoost的原理,将XGBoost应用到业务场景中,更能从源码的角度深入学习XGBoost的并行化和分布式实现等优化技术,以更短的时间训练出高准确度的模型,使XGBoost成为学习和工作中的一把利剑。 |
目录 |
[套装书具体书目] 8065617 - 深入理解XGBoost:高效机器学习算法与进阶 - 9787111642626 - 机械工业出版社 - 定价 99 8080976 - 基于Spark的下一代机器学习:XGBoost、LightGBM、Spark NLP与Keras分布式深度学习实例 - 9787111681250 - 机械工业出版社 - 定价 99 ---------------------------8080976 - 基于Spark的下一代机器学习:XGBoost、LightGBM、Spark NLP与Keras分布式深度学习实例--------------------------- 前言 致谢 关于作者 关于技术审校人员 第1章 机器学习介绍 1 1.1 人工智能和机器学习用例 2 1.1.1 零售业 2 1.1.2 交通运输 3 1.1.3 金融服务 3 1.1.4 医疗保健和生物技术 3 1.1.5 制造业 3 1.1.6 政府部门 4 1.2 机器学习与数据 4 1.3 机器学习方法 6 1.3.1 有监督学习 6 1.3.2 无监督学习 6 1.3.3 半监督学习 6 1.3.4 强化学习 6 1.4 深度学习 7 1.5 神经网络 7 1.6 卷积神经网络 7 1.7 特征工程 7 1.7.1 特征选择 8 1.7.2 特征重要性 9 1.7.3 特征提取 9 1.7.4 特征构建 9 1.8 模型评估 10 1.8.1 准确率 10 1.8.2 精度 10 1.8.3 召回率 11 1.8.4 F1度量 11 1.8.5 AUROC 11 1.9 过拟合与欠拟合 12 1.10 模型选择 12 1.11 总结 12 1.12 参考资料 13 第2章 Spark和Spark MLlib 介绍 16 2.1 概述 16 2.2 架构 17 2.3 执行Spark应用程序 19 2.3.1 集群模式 19 2.3.2 客户端模式 19 2.4 spark-shell介绍 19 2.4.1 SparkSession 20 2.4.2 弹性分布式数据集 21 2.5 Spark SQL、DataSet和DataFrame的 API 29 2.6 Spark数据源 31 2.6.1 CSV 31 2.6.2 XML 31 2.6.3 JSON 32 2.6.4 关系数据库和MPP数据库 33 2.6.5 Parquet 36 2.6.6 HBase 36 2.6.7 Amazon S3 41 2.6.8 Solr 42 2.6.9 Microsoft Excel 43 2.6.10 SFTP 44 2.7 Spark MLlib介绍 44 2.8 ML管道 46 2.8.1 管道 47 2.8.2 转换器 47 2.8.3 估计器 47 2.8.4 ParamGridBuilder 47 2.8.5 CrossValidator 47 2.8.6 评估器 47 2.9 特征提取、转换和选择 48 2.9.1 StringIndexer 48 2.9.2 Tokenizer 49 2.9.3 VectorAssembler 50 2.9.4 StandardScaler 51 2.9.5 StopWordsRemover 52 2.9.6 n-gram 52 2.9.7 OneHotEncoderEstimator 53 2.9.8 SQLTransformer 54 2.9.9 词频–逆文档频率 55 2.9.10 主成分分析 57 2.9.11 ChiSqSelector 57 2.9.12 Correlation 58 2.10 评估指标 60 2.10.1 AUROC 60 2.10.2 F1度量 61 2.10.3 均方根误差 61 2.11 模型持久化 62 2.12 Spark MLlib示例 62 2.13 图处理 66 2.14 超越Spark MLlib:第三方机器学习集成 66 2.15 利用Alluxio优化Spark和Spark MLlib 66 2.16 为什么使用Alluxio 68 2.16.1 显著提高大数据处理性能和可扩展性 68 2.16.2 多个框架和应用程序可以以读写内存的速度共享数据 69 2.17 在应用程序终止或失败时提供高可用性和持久性 71 2.18 优化总体内存使用并最小化垃圾收集 74 2.19 降低硬件要求 74 2.20 Apache Spark和Alluxio 75 2.21 总结 75 2.22 参考资料 76 第3章 有监督学习 79 3.1 分类 79 3.1.1 分类类型 79 3.1.2 Spark MLlib分类算法 80 3.1.3 第三方分类和回归算法 85 3.1.4 使用逻辑回归算法的多类别分类 86 3.1.5 使用随机森林算法进行流失预测 95 3.1.6 使用XGBoost4J-Spark的极端梯度提升算法 108 3.1.7 LightGBM:来自微软的快速梯度提升算法 118 3.1.8 使用朴素贝叶斯进行情感分析 127 3.2 回归 133 3.2.1 简单线性回归 134 3.2.2 使用XGBoost4J-Spark进行多元回归分析 137 3.2.3 使用LightGBM进行多元回归分析 143 3.3 总结 148 3.4 参考资料 149 第4章 无监督学习 154 4.1 k-means聚类算法 154 4.2 使用隐含狄利克雷分布进行主题建模 162 4.2.1 Stanford CoreNLP 163 4.2.2 John Snow实验室的Spark NLP 164 4.2.3 示例 170 4.3 使用孤立森林进行异常检测 182 4.3.1 参数 185 4.3.2 示例 186 4.4 使用主成分分析进行降维 188 4.5 总结 197 4.6 参考资料 197 第5章 推荐 200 5.1 推荐引擎的种类 201 5.1.1 使用交替最小二乘法的协同过滤 201 5.1.2 参数 203 5.1.3 示例 203 5.2 使用FP增长进行购物篮分析 209 5.2.1 示例 210 5.2.2 基于内容的过滤 217 5.3 总结 218 5.4 参考资料 218 第6章 图分析 221 6.1 图介绍 221 6.1.1 无向图 221 6.1.2 有向图 222 6.1.3 有向多重图 222 6.1.4 属性图 223 6.2 图分析用例 223 6.2.1 欺诈检测和反洗钱 224 6.2.2 数据治理和法规遵从性 224 6.2.3 风险管理 224 6.2.4 运输 225 6.2.5 社交网络 225 6.2.6 网络基础设施管理 225 6.3 GraphX简介 225 6.3.1 Graph 225 6.3.2 VertexRDD 226 6.3.3 Edge 226 6.3.4 EdgeRDD 226 6.3.5 EdgeTriplet 226 6.3.6 EdgeContext 226 6.3.7 GraphX 示例 226 6.3.8 图算法 229 6.3.9 GraphFrames 232 6.4 总结 235 6.5 参考资料 236 第7章 深度学习 238 7.1 神经网络 239 7.2 神经网络的简短历史 240 7.3 卷积神经网络 242 7.4 深度学习框架 247 7.4.1 TensorFlow 247 7.4.2 Theano 247 7.4.3 PyTorch 247 7.4.4 DeepLearning4J 247 7.4.5 CNTK 248 7.4.6 Keras 248 7.4.7 使用Keras进行深度学习 248 7.5 Spark分布式深度学习 258 7.5.1 模型并行与数据并行 258 7.5.2 Spark分布式深度学习框架 259 7.6 Elephas:使用Keras和Spark进行分布式深度学习 261 7.7 Dist-Keras 270 7.7.1 使用基于Keras和Spark的Dist-Keras来识别MNIST中的手写数字 271 7.7.2 猫和狗的图像分类 276 7.8 总结 283 7.9 参考资料 283 ---------------------------8065617 - 深入理解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 |