正版二手图书,可开发票,请放心购买。
¥ 13.75 2.0折 ¥ 69 九品
仅1件
作者达伦.库克(Darren Cook)
出版社机械工业出版社
ISBN9787111600510
出版时间2018-07
装帧平装
开本16开
定价69元
货号1157756578091876358
上书时间2024-12-23
前言
经过漫长的发展,机器学习逐渐变得越来越成熟。它最早可以追溯到 20世纪 50年代,当时开发出第一个根据经验进行学习的程序(下跳棋),这也是第一个神经网络。人工智能研究人员多次提到这是一个当今早就不再关注的“指日可待”的重大突破。但也许研究人员是一直沿着正确的道路进行研究,或许只是需要一个更大数量级的处理能力,或一个微小的算法调整,就可以将毫无意义的研究变成富有成效并具有远大前途的工作。
在 20世纪 90年代早期,人们普遍将神经网络看作在人工智能方面取得的一项新的重大突破。当时本人曾多次尝试在计算机中实际应用神经网络,但在与利用特定领域的知识工程以及重新改进的树搜索方法所得到的结果相比时,发现其处理能力非常糟糕(结果仍是相当普通的)。而且其处理大规模数据的能力也很差。 20年后,当听说深度学习这一新概念在计算机领域取得了令人瞩目的成果时,本人感到非常困惑的是这与多年前所放弃研究的神经网络究竟有何不同。答案其实是“并没有太大不同”,或许只需要一个具有更强大处理能力(在这种情况下需提高 5~6个数量级)的算法,就能取得丰硕成果。
H2O是一种用于机器学习和数据分析的软件。怀着想要了解深度学习所具有的强大功能的这一想法,促使本人深入学习 H2O(尽管并不仅限于此,还包括搜索树、线性模型、无监督学习等),结果立刻就留下了深刻印象。H2O具有下列特性:
. 开源(免费的 Apache许可证);
. 易于使用;
. 可扩展到大数据;
. 文档完备且具有商业支持;
. 第三版(即成熟架构);
. 广泛的操作系统 /语言支持。
H2O.ai(开发 H2O的公司)聚集了高质量的优秀团队,将会发展得越来越好。在整个开发过程中,公司不仅始终坚持“如何才能使得 H2O更好地发挥作用”,而且始终坚持“如何使其在大数据范畴下有效工作”的发展理念。如果机器学习已完全成熟,那么 H2O就好比既是一辆经济实用的家用车,同时也是一辆大载重量的货车。如果进一步深化比喻,本书将不仅介绍仪表盘控件所做的工作,而且还将讨论实现车辆从 A到 B的最佳方式。为了尽可能实用,本书只对学习算法相关的数学原理或理论进行最低程度的解释。
当然 H2O也并非完美,以下是一些需要注意的问题。首先, H2O不支持 GPU(它可实现深度学习,尤其是更快的学习)一。其次,集群都是针对低层(大数据),而不支持高层(复杂但相对较少的数据),因此对于后者,可能只需要一个单一的、快速的、有多个内核一 Deep Water是一个正在开发的新的 H2O项目,可允许与其他深度学习库进行交互,因此 H2O将会很快支持 GPU。
原书前言
的机器。另外,集群也不具备高可用性( HA)。第三, H2O是 Java语言编译的,可以实现很好的优化,且 H2O算法以执行速度快而著称,当然从理论上来说,更加优化的 C++语言可能会更快。第四,在 H2O中不具有 SVM(状态向量机)算法。最后, H2O还试图支持众多开发平台,因此每个平台都有一些简单的接口,有时会由于试图保持所有平台同步而导致开发过程较慢。
换言之,如果还是用车辆来比喻:一级方程式赛车会在直道上击败 H2O,但实际情况中尚未出现这种情况。
选择 H2O的用户及原因
一些知名公司( http://www.h2o.ai/customers/)已正在利用 H2O进行大数据处理, H2O网站已声称目前有超过 5000家公司在使用 H2O。同时,开发 H2O的 H2O.ai公司拥有 80多名员工,其中一半以上是开发人员。
但这些都是给投资者留下深刻印象的统计数据,而对于开发人员毫无意义。对于那些感觉已掌握所有所需机器学习库的 R和 Python开发人员而言, H2O所具有的主要优点是易用性和防止数据集过大而导致存储空间不足的有效扩展性。对于觉得已掌握 SparkML的用户来说, H2O算法数量较少,但运算速度明显更快。另外 H2O还有一个优点,就是智能默认值意味着代码更加紧凑且宜于阅读:直接利用一行语句就可以得到一个性能良好的最先进的深度学习模型。本书的目的之一是介绍如何调整模型,但正如在书中所见,有时会由于无法比默认模型更好而不得不放弃调节。
关于读者
在基于一些假设条件的基础上,将本书控制在 1000页以内。首先假设读者已熟悉 R或 Python语言。由于不会用到高级语言特性,因此具备任何编程语言的能力都足以理解书中内容,但本书中的示例仅提供了 R和 Python这两种语言。由于熟悉 pandas,Python用户可能更具优势,尤其是因为 pandas会使得所有的数据科学更加容易。
另外,还假设有一些心理暗示:为重复保存每个示例两次:希望 R用户能够理解 Py-thon示例中所发生的,而 Python用户可以理解 R示例。对于 R用户来说,这些 Python示例是一个好的开始(对于 R用户也是如此)。
即使使用电子表格或 SQL表,也需要具有一些数据处理的经验。在此,假设读者对机器学习和人工智能,及其在公共基础设施中越来越多的应用具有一些正确认识。也许读者阅读本书的目的是想实现部分功能,并确保这些转变是出于伦理道德,同时让所有人受益,不论种族、性别、国籍或信仰。如果的确如此,向您致敬。
另外,还假设读者了解一些统计知识。这并没什么可担心的,本书的书名中强调了实用性,尽量将机器学习算法的相关理论降低到只需了解如何进行调节(而不是能够从头开始实现)。若想了解更多知识,可以利用维基百科或搜索引擎。但至少应该了解模式中中位数的含义,知道什么是标准差和正态分布。
但更重要的是,希望读者能够了解统计存在误导,且机器学习可能会过拟合( https:// en.wikipedia.org/wiki/Over.tting)。当提到 p=0.05对一个实验具有显著意义时,这意味着每进行 20次该实验,可能会有一次是错误的。体会显著的最明显时刻是在 xkcd(https://xkcd. com/882/)上。
在谈到计时的某些时候,这是介绍“我的机器”的一个好机会。书中所用的是一个中端便携式计算机,有一些年份了,具有 8GB内存、四核、 8个超线程。但已足以运行书中的所有示例,实际上 4GB的系统内存就足够了。然而,对于某些网格搜索(在第 5章中介绍),“假设”不能在本机运行而在云平台启动集群(第 10章简单介绍了“聚类”概念)。这样做只是出于实用性考虑:并不想等待 24h后完成一个实验,然后再写出来。
本书的排版约定
本书通过不同排版风格表达内容,具体说明如下:
斜体字(Italic)
表示新术语、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及在段落中引用的程序元素。如变量或函数名、数据库、数据类型、环境变量、语句和关键字。
等宽粗体字(Constant width)
显示应由用户逐字输入的命令或其他文本。
等宽斜体字(Constant width)
显示由用户提供的值或由上下文确定的值替代的文本。
表示提示或建议
表示一般注释
表示警告或注意事项
代码示例使用
https://github.com/DarrenCook/h2o/提供了可供下载的补充材料(代码示例、练习等)。
原书前言
本书用于帮助实现所需工作。一般来说,本书提供了示例代码,可以在程序和文档中使用。不需要与作者联系以获得许可,除非复制了代码的主要部分。例如,在编写一个使用了本书中几个代码段的程序时,不需要任何权限。但销售或分销 O’Reilly图书中的光盘实例需要授权。引用本书或引用示例代码来回答问题不需要权限。但将本书中的大量示例代码导入到产品文档需要授权。
非常感谢,但请不必,这归于属性。属性通常包括标题、作者、出版社和 ISBN。例如本书(O’Reilly)。版权所有 .2017 Darren Cook,978-1-491-96469-6”。如果感觉所使用的示例未合理使用或达到上述许可,请随时与 O’Reilly出版社联系: permissions@oreilly.com。
如何联系我们
敬请对本书提出宝贵的建议和意见:
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway Noth
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街 2号成铭大厦 C座 807室(100035)奥莱利技术咨询(北京)有限公司
针对本书,提供了一个网页,其中列出了勘误表、示例和任何附加信息。可访问 http://
bit.ly/practical-machine-learning-with-h2o。关于本书的任何评论或技术咨询,请发邮件到 bookquestions@oreilly.com。有关图书、课程、会议和新闻的更多信息,请参见网站 http://www.oreilly.com。 Facebook地址: http://facebook.com/oreilly。 Twitter地址: http://twitter.com/oreillymedia。 YouTube地址: http://www.youtube.com/oreillymedia。
原书致谢
首先要感谢技术顾问:谢谢对本书的肯定,真心感谢。同时也对本书的错误抱歉。感谢 Katharine Jarmul、Yulin Zhuang、Hugo Mathien、Erin LeDell、Tom Kraljevic。如果没有采纳他们所提出的建议或包括了一些调侃,敬请谅解。除此之外,还感谢 Erin和 Tom,他
们为本人提供了非常有用的 H2O.ai问题的解答。另外还要非常感谢 Arno Candel、Tomas Nykodym、Michal Kurka、Navdeep Gill、SriSatish Ambati、Lauren DiPerna以及所有在此未列出的人员(抱歉!)
感谢 Nicole Tache作为本书前半部分的编辑,以及 Debbie Hardin在 Nicole决定生孩子而离开本项目后接手本书其余部分的编辑。感谢你们保持冷静,全神贯注于本书建模而忘记截止日期。
感谢家人默默忍受本人写书的漫长时间。
最后,感谢所有人:在 StackOver.ow、博客文章、视频教程、写书、维护维基百科准确地回答问题的人。他们大量的工作,弥补了作者的知识漏洞。这为本人提供了一个完整的循环:不要犹豫,让我知道书中的所有错误。或者简单地说,如何能做得更好。
Darren Cook是一名具有20多年经验的软件开发师、数据分析师和技术总监,从事从金融交易系统到自然语言处理、数据可视化工具以及为一些全球大品牌制作网站等各类相关工作。他精通各种计算机编程语言,包括R、C++、PHP、JavaScript和Python。他在QQ Trend公司工作,这是一家金融数据分析和数据产品公司。
连晓峰,已发表学术论文40余篇,其中被EI收录20余篇;主持项目子课题两项,省部级项目三项,校级项目两项,参与完成项目四项,省部级项目六项;出版教材两部,专著两部,译著四十部;获得国家发明专利两项,实用新型专利一项;现为中国电子学会高级会员,系统仿真学会会员,北京高新技术企业认定委员会专家库专家,《机器人技术与应用》杂志社理事,国家工信部工业和信息化科技人才专家库专家。
译者序
原书前言
第 1章 安装和快速启动 \ 1
1.1 安装准备 \ 1
1.1.1 安装 R \ 1
1.1.2 安装 Python \ 2
1.1.3 隐私保护 \ 2
1.1.4 安装 Java \ 2
1.2 利用 R(CRAN)安装 H2O \ 3
1.3 利用 Python(pip)安装 H2O \ 4
1.4 第一个学习示例 \ 5
1.4.1 利用 Python进行训练和预测 \ 8
1.4.2 利用 R进行训练和预测 \ 10
1.4.3 性能与预测 \ 12
1.4.4 运气不佳 \ 13
1.5 Flow \ 13
1.5.1 数据 \ 14
1.5.2 模型 \ 16
1.5.3 预测 \ 17
1.5.4 Flow中的其他注意事项 \ 18
1.6 小结 \ 18
第2章 数据导入/数据导出\19
2.1 存储空间要求 \ 19
2.2 数据准备 \ 20
2.3 数据导入到 H2O \ 21
2.3.1 加载 csv文件 \ 21
2.3.2 加载其他格式文件 \ 23
2.3.3 从 R中直接加载 \ 23
2.3.4 从 Python中直接加载 \ 25
2.4 数据操作 \ 26
2.4.1 懒操作、命名和删除 \ 26
2.4.2 数据汇总 \ 27
2.4.3 列操作 \ 28
2.4.4 行聚合 \ 29
2.4.5 索引 \ 30
2.4.6 H2O中的数据拆分 \ 31
2.4.7 行和列 \ 35
2.5 数据从 H2O中导出 \ 38
2.5.1 导出数据帧 \ 38
2.5.2 POJO \ 39
2.5.3 模型文件 \ 40
2.5.4 保存所有模型 \ 40
2.6 小结 \ 41
第3章 数据集 \ 42
3.1 数据集:建筑节能 \ 42
3.1.1 设置和加载 \ 43
3.1.2 数据列 \ 44
3.1.3 拆分数据 \ 45
3.1.4 观察 \ 46
3.1.5 关于数据集 \ 50
3.2 数据集:手写体 \ 50
3.2.1 设置和加载 \ 51
3.2.2 观察 \ 52
3.2.3 帮助建模 \ 54
3.2.4 关于数据集 \ 55 5.4 建筑节能:默认的随机森林 \ 91
3.3 数据集:足球比分 \ 56
3.3.1 相关性 \ 59
3.3.2 缺失数据.更多列 \ 62
3.3.3 如何训练和测试? \ 63
3.3.4 设置和加载 \ 63
3.3.5 其他第三方 \ 64
3.3.6 缺失数据(再次)\ 67
3.3.7 设置和加载(再次)\ 67
3.3.8 关于数据集 \ 70
3.4 小结 \ 70
第 4章 常用模型参数 \ 71
4.1 支持测度 \ 71
4.1.1 回归指数 \ 72
4.1.2 分类指数 \ 72
4.1.3 二项式分类 \ 73
4.2 要素 \ 75
4.3 努力 \ 76
4.4 评分和验证 \ 76
4.5 提前终止 \ 77
4.6 检查点 \ 79
4.7 交叉验证(又名 k-folds)\ 81
4.8 数据加权 \ 82
4.9 抽样、归纳 \ 84
4.10 回归 \ 85
4.11 输出控制 \ 87
4.12 小结 \ 87
第5章 随机森林\88
5.1 决策树 \ 88
5.2 随机森林 \ 89
5.3 参数 \ 89 5.5 网格搜索 \ 93
5.5.1 笛卡尔 \ 94
5.5.2 随机离散 \ 96
5.5.3 高层策略 \ 98
5.6 建筑节能:改进的随机森林 \ 99
5.7 MNIST:默认的随机森林 \ 101
5.8 MNIST:改进的随机森林 \ 102
5.8.1 增强数据 \ 105
5.9 足球比赛:默认的随机森林 \ 106
5.10 足球比赛:改进的随机森林 \ 108
5.11 小结 \ 110
第 6章 梯度推进机 // 111
6.1 推进 // 111
6.2 好处、坏处和…神秘之处 // 112
6.3 参数 // 113
6.4 建筑节能:默认 GBM // 114
6.5 建筑节能:改进 GBM // 115
6.6 MNIST:默认 GBM // 119
6.7 MNIST:改进 GBM // 120
6.8 足球比赛:默认 GBM // 122
6.9 足球比赛:改进 GBM // 123
6.10 小结 // 125
第 7章 线性模型 // 126
7.1 GLM参数 // 126
7.2 建筑节能:默认 GLM // 130
7.3 建筑节能:改进 GLM // 132
7.4 MNIST:默认 GLM // 136
7.5 MNIST:改进 GLM // 137
7.6 足球比赛:默认 GLM // 139
7.7 足球比赛:改进 GLM // 141
7.8 小结 // 142
第 8章 深度学习(神经网络)// 143
8.1 什么是神经网络? // 143
8.1.1 数值与分类 // 145
8.1.2 神经网络层 // 146
8.1.3 激活函数 // 147
8.2 参数 // 148
8.2.1 深度学习正则化 // 148
8.2.2 深度学习评分 // 149
8.3 建筑节能:默认的深度学习 // 152
8.4 建筑节能:改进的深度学习 // 153
8.5 MNIST:默认的深度学习 // 157
8.6 MNIST:改进的深度学习 // 159
8.7 足球比赛:默认的深度学习 // 163
8.8 足球比赛:改进的深度学习 // 164
8.9 小结 // 168
8.10 附录:更多的深度学习参数 // 169
第 9章 无监督学习 // 171
9.1 k均值聚类 // 172
9.2 深度学习自动编码器 // 174
9.2.1 层叠自动编码器 // 177
9.3 主成分分析 // 178
9.4 GLRM // 179
9.5 缺失数据 // 180
9.5.1 GLRM // 183
9.5.2 失去 R // 183
9.6 小结 // 187
第 10章 其他内容 // 188
10.1 重要且需要分析的内容 // 188
10.2 安装最新版本的 H2O // 188
10.2.1 由源代码构建 // 189
10.3 命令行运行 // 189
10.4 聚类 // 189
10.4.1 EC2 // 190
10.4.2 其他云提供商 // 191
10.4.3 Hadoop // 191
10.5 Spark/Sparkling Water // 191
10.6 朴素贝叶斯 // 192
10.7 集成 // 192
10.7.1 层叠: h2o.ensemble // 193
10.7.2 分类集成 // 195
10.8 小结 // 195
第 11章 后记:一切运行良好! // 196
11.1 建筑节能结果 // 196
11.2 MNIST结果 // 197
11.3 足球比赛结果 // 199
11.4 究竟有多差? // 200
11.4.1 越多越好 // 201
11.4.2 仍渴望更多 // 202
11.4.3 困难排除 // 202
11.4.4 自动编码器 // 203
11.4.5 卷积和收缩 // 204
11.4.6
— 没有更多了 —
以下为对购买帮助不大的评价