书名:基于H2O的机器学习实用方法:一种强大的可扩展的人工智能和深度学习技术
原书名:Practical Machine Learning with H2O:Powerful, Scalable Techniques for Deep Learning and AI
出版社:机械工业出版社
出版日期:2018年7月
定价:69.00元

经过漫长的发展,机器学习逐渐变得越来越成熟。它最早可以追溯到 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用户能够理解Python示例中所发生的,而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后完成一个实验,然后再写出来。

目录:
译者序
原书前言
第 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 集成 // 205
11.4.7 这就是可能最差的情况. // 206
11.5 小结 // 206

H2O机器学习:一种强大的可扩展的人工智能和深度学习技术相关推荐

  1. 一种基于子序列的亚细胞定位预测的深度学习框架(DeepLncLoc: a deep learning frame work for long non-coding RNA subcellular)

    一种基于长链非编码RNA子序列的亚细胞定位预测的深度学习框架 期刊:biorxiv 文章地址:https://www.biorxiv.org/content/10.1101/2021.03.13.43 ...

  2. 机器学习原来这么有趣!第四章:用深度学习识别人脸

    第一章:全世界最简单的机器学习入门指南 https://blog.csdn.net/wskzgz/article/details/89917343 第二章:用机器学习制作超级马里奥的关卡 https: ...

  3. 一文读懂机器学习、数据科学、人工智能、深度学习和统计学之间的区别

    在这篇文章中,数据科学家与分析师 Vincent Granville 明晰了数据科学家所具有的不同角色,以及数据科学与机器学习.深度学习.人工智能.统计学.物联网.运筹学和应用数学等相关领域的比较和重 ...

  4. 机器学习 深度学习技术区别_体育技术机器学习金钱和灵感的圣杯

    机器学习 深度学习技术区别 I claim that anyone with a math background and a love of baseball has at one time give ...

  5. 人声抑制 深度学习_一种融合骨振动传感器和麦克风信号的深度学习语音提取和降噪方法与流程...

    本发明涉及电子设备语音降噪技术领域,更具体地说,涉及一种融合骨振动传感器和麦克风信号的深度学习降噪方法. 背景技术: 语音降噪技术是指从带噪语音信号中分离出语音信号,该技术拥有广泛的应用,通常有单麦克 ...

  6. 【代码实现】最新PyTorch机器学习与深度学习技术方法

    近年来,随着AlphaGo.无人驾驶汽车.医学影像智慧辅助诊疗.ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮.尤其是深度学习技术,在许多行业都取得了颠覆性的成果.另外,近年来, ...

  7. 理解这25个概念,你的人工智能,深度学习,机器学习才算入门!

    相关阅读: 300本计算机编程的经典书籍下载 人工智能,深度学习,机器学习-无论你在做什么,如果你对它不是很了解的话-去学习它.否则的话不用三年你就跟不上时代的潮流了. --马克.库班 马克.库班的这 ...

  8. PyTorch机器学习与深度学习技术方法与案例实践应用

    目录 第一章.Python基础知识串讲 第二章.PyTorch简介与环境搭建 第三章.PyTorch编程入门与进阶 第四章.PyTorch前向型神经网络 第五章.PyTorch卷积神经网络 第六章.P ...

  9. 基于可解释人工智能和深度学习的组织病理学图像中的副结核病诊断;用于恶意软件检测的安全稳健的认知系统设计;带有涂鸦注释的弱监督伪装对象检测;Time Majority Voting:一种面向非专家用户的

    可解释的机器学习 中文标题:基于可解释人工智能和深度学习的组织病理学图像中的副结核病诊断 英文标题:Diagnosis of Paratuberculosis in Histopathological ...

最新文章

  1. 科研经验:一篇学术文章要写多久
  2. CobarClient源码分析
  3. 如何使用Spring和Velocity在Java中编写HTML电子邮件
  4. excel oss 上传_java实现上传文件到oss(阿里云)功能示例
  5. 爬虫爬取车主指南各类汽车数据
  6. python中算法是什么意思_什么是算法?Python中的基础算法有几种?
  7. java实现上传寸照并剪裁,给寸照换背景_用java处置图片(jpg,png,gif.)的背景颜色
  8. 163个人邮箱你了解多少?如何注册下载163邮箱呢?
  9. python的一个基础性问题,求平行四边形的面积
  10. 啊~北京~~啊~首都~
  11. java 6 17 32_java学习class6(1)
  12. XILINX DMA/Bridge Subsystem for PCI Express (XDMA)笔记1(基于VU250 board)
  13. VisualStudio2012的序列号
  14. 用JS解决那些有趣的数学题!
  15. python手写数字识别实验报告_python神经网络编程实现手写数字识别
  16. 平平淡淡从从容容才是真?
  17. day 1 学习MySQL数据库作业 - 创建员工表思考与表之间的关系
  18. 我的PhoneGap安装配置经历
  19. 如何迁移单台或多台服务器?
  20. 高速下载器Aria2配置与启动 macOS

热门文章

  1. mysql查询结果赋予变量_MySQL设置会话变量:把查询结果赋值给变量
  2. 用数据告诉你,哪位导演是漫威影片中的票房收割机?
  3. 《读书是教师最好的修行》读后感优秀范文2200字
  4. 闲聊机器人实例二:python实现小姜机器人(检索式chatbot_fuzzywuzzy)
  5. velodyne运行Loam_velodyne过程记录
  6. 电商产品设计:拆单规则和业务场景详解
  7. POJ 1861 Network(KUS算法)
  8. 一文讲透,商业智能BI的未来形态,发展现状及前景分析|推荐收藏
  9. Django框架(一)
  10. 三重积分--------球坐标系