首页>参考读物>计算机科学与技术>人工智能

人工智能开发实践:云端机器学习导论(英文版)
作者 : [美] 挪亚·吉夫特(Noah Gift) 著
丛书名 : 经典原版书库
出版日期 : 2020-05-11
ISBN : 978-7-111-65402-5
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 英文
页数 : 266
开本 : 16
原书名 : Pragmatic AI: An Introduction to Cloud-based Machine Learning
原出版社: Pearson Education Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书不仅解释了如何将机器学习应用于大型数据集,还为技术反馈循环提供了一个有价值的视角。同时将帮助你逐步构建基于云的AI/ML应用程序,以解决体育营销、项目管理、产品定价、房地产等方面的实际问题。无论你是商业专业人士、决策者、学生还是程序员,本书介绍的案例研究都将有助于你解决几乎任何环境中的数据科学问题。

图书特色

图书前言

大约20年前,我在帕萨迪纳市的加州理工学院(Caltech)工作,梦想有朝一日每天都与人工智能(AI)打交道。21世纪初,对AI感兴趣的人并不多。尽管如此,我还是在这里开始与AI相伴,而本书的编写将我对AI和科幻小说的长期迷恋推向了高潮。在加州理工学院期间,我很幸运地接触了AI领域的一些顶尖人物,毫无疑问,这段经历让我走上了写作本书的道路。
然而,除了AI之外,我还迷恋自动化和实用主义。本书也包含一些这方面的主题。作为一名经验丰富的管理者,不断推出产品并在糟糕、无用的技术环境中生存的经历,让我变得更加务实。若技术未部署到生产环境,就不算数;若产品非自动,就不完整。希望本书能启发他人分享我的观点。
目标读者
本书适用于对AI、机器学习、云及其融合感兴趣的读者。程序员和非程序员都能从本书获取有价值的宝贵知识。在NASA、PayPal以及加州大学戴维斯分校举办的研讨会上,许多与我互动过的学生都能以有限的或极少的编程经验来吸收、借鉴这些观点或知识。本书大量使用Python编程案例,如果你是编程新手,Python是一种最理想的语言。
与此同时,本书还涵盖许多高级主题,如使用云计算平台(即AWS、GCP和Azure)以及实施机器学习与AI编程。对于精通Python、云和机器学习的高级技术人员来说,本书的许多有用思路可直接移植到当前工作之中。
本书组织结构
本书分为三个部分:第一部分是实用人工智能基础,第二部分是云端人工智能,第三部分是创建实际AI应用程序。
第一部分(第1~3章)介绍Python及AI的基础知识。
第1章是本书概览和Python快速教程,并提供了足够的背景知识让读者了解Python的一些基本应用。
第2章介绍数据科学项目中系统构建、命令行和Jupyter Notebook的生命周期。
第3章将实际生产反馈回路引入项目之中,并介绍了Docker、AWS SageMaker以及TensorFlow处理单元(TPU)等工具和框架。
第二部分(第4章和第5章)介绍AWS和Google云。
第4章介绍Google云平台(GCP)及其提供的一些独特、开发者友好的产品,还讨论了TPU、Colaboratory合作实验工具和Datalab数据处理工具等服务。
第5章深入介绍AWS上的工作流,如Spot实例、CodePipeline、使用和测试Boto以及这些服务的高级概览。
第三部分(第6~11章)讨论实际的AI应用及一些示例。
第6章介绍初创公司的业务和大数据等主题,包括:什么因素影响了球队价值?获胜是否能给比赛带来更多的球迷?薪水是否与社交媒体表现相关?
第7章介绍如何创建一个无服务器的聊天机器人,该机器人从网站抓取数据并向Slack机器人母公司提供摘要信息。
第8章研究一种常见行为数据源—GitHub元数据,使用Pandas、Jupyter Notebook和click命令行工具挖掘行为数据。
第9章介绍将 AWS作业转换为使用机器学习技术来优化定价的可能性。
第10章使用机器学习和交互式绘图技术研究美国房价。
第11章讨论如何使用AI与用户生成的内容进行交互,包括情绪分析和推荐引擎等主题。
附录A讨论专门为运行AI工作负载而设计的硬件芯片,给出一个来自Google的TPU的AI加速器示例。
附录B讨论聚类大小的选择应被看作一项更艺术而非科学的活动(尽管有些技术可以使决策过程更加清晰)。
示例代码
贯穿本书,每章都配套有一个或多个Jupyter Notebook应用示例。这些Notebook应用示例是在我过去几年的文章、研讨班或课程的基础上开发的。
说明
本书所有源代码示例(Jupyter Notebook文件格式)都可以在https://github.com/noahgift/ pragmaticai 网站上找到。
另外,书中许多示例还包括下面这样的Makefile文件。

Makefile文件是编排Python语言或R语言中数据科学项目的不同方面的很好方式。值得注意的是,这些文件还可用于设置环境、通过lint检测源码、运行测试和部署代码。此外,像virtualenv这样独立环境的使用确实能消除一大堆问题。令人奇怪的是,我遇到的很多学生都存在下面的共性问题:他们在一个Python解释器中安装了某个工具却使用了另一个工具,或者,由于两个包彼此冲突而导致无法正常工作。
一般来说,该问题的解决之道是为每个项目使用一个虚拟环境,并在处理该项目时始终选择该环境。细微的项目规划对防止将来出现问题大有裨益,Makefile、lint检测、Jupyter Notebook测试、SaaS构建系统以及单元测试都是推荐使用的最佳实践。

专家评论

“本书是一部全面的指南,它弥补了人工智能要做的事情和部署实际项目要解决的棘手问题之间的差距。它清晰,实用,远远不止介绍Python和AI算法。”
—Christopher Brousseau,企业人工智能平台Surface Owl创始人和CEO

“我对本书的喜爱、赞美之情难以形容,本书对于任何技术发烧友都是极好的补充资料!Noah Gift真正让本书成为一部实用指南,它适用于任何机器学习行业的人士。本书不仅解释了如何将机器学习应用于大型数据集,还对技术反馈回路提供了有价值的观点。本书将使许多数据科学与开发团队受益,让他们从一开始就能高效地创建和维护应用程序。”
—Nivas Durairaj,AWS技术客户经理(AWS注册专业架构师)

“如果你希望深入研究产品级品质的机器学习管道和工具,从而真正帮助你的数据工程、数据科学或数据开发运维团队,那么本书就是一本很好的读物。即使是经验丰富的开发人员也常常会发现自己在低生产率的任务上浪费时间。通常,软件书籍和大学课堂并没有讲述投入生产所需的步骤。Noah在寻求软件部署的实用方法方面很有天赋,这些实用方法可以真正加快开发和交付过程。他专注并致力于实现非常独特的快速软件解决方案。
“建立产品级品质的机器学习管道的关键是自动化。工程师在研究阶段或原型阶段可以人工完成的任务及步骤必须自动化和规模化,以便创建生产系统。本书充满了实用且有趣的实践实例,它们将帮助Python开发人员实现自动化并将管道扩展到云端。
“我目前在一家在线房地产公司的Roofstock.com房地产平台上工作,主要工作涉及大数据、机器学习管道、Python、AWS、Google云和Azure,该平台分析数据库接近5亿条记录!我在本书中找到了很多实用技巧和实践实例,它们立即提升了我的工作效率。特此推荐本书! ”
—Michael Vierling,房地产平台Roofstock.com首席工程师

上架指导

计算机/人工智能/机器学习

封底文字

本书讲解Amazon、Google和Microsoft公司的强大云服务产品,以及Python数据科学生态系统的成熟技术,所介绍的工作流程和案例涉及从部署到生产各个环节,通过使用当代机器学习、人工智能和云计算工具逐步构建多种云端机器学习应用程序(覆盖体育、项目管理、产品定价、房地产等领域中的实际问题),帮助你构建可扩展的能交付于生产的解决方案。

通过本书,你将能够:
快速查看构建机器学习应用程序所需的Python代码。
掌握人工智能和机器学习工具链以及项目生命周期。
使用Python数据科学工具,包括IPython、Pandas、NumPy、Juypter Notebook和scikit-learn。
结合实用高效的反馈回路不断提高工作流程和系统的效率。
使用Google云平台产品,包括TPU处理器、Colaboratory合作实验工具及Datalab服务。
定义AWS云AI工作流程,包括Spot实例、CodePipeline、Boto、无服务器、SageMaker等。
使用Microsoft Azure云AI API。
构建6个完整的交付型AI应用程序。

图书目录

第一部分 实用人工智能基础
第1章 实用人工智能简介3
Python功能介绍4
程序语句4
字符串和字符串格式化6
数字与算术运算8
数据结构9
函数11
在Python中使用控制结构18
for循环18
while循环19
if/else语句20
生成器表达式20
列表推导式21
中级主题21
进一步思考24
第2章 人工智能与机器学习的工具链27
Python数据科学生态系统:IPython、Pandas、NumPy、Jupyter Notebook、scikit-learn27
R语言、RStudio、Shiny和ggplot28
电子表格:Excel和Google表格28
使用Amazon网络服务开发云端AI 29
AWS上的DevOps29
持续交付 29
为AWS创建软件开发环境 30
集成Jupyter Notebook 35
集成命令行工具 38
集成AWS CodePipeline 41
数据科学中的基本Docker容器设置45
其他构建服务器:Jenkins、CircleCI、Codeship和Travis46
小结46
第3章 斯巴达式AI生命周期47
实用生产反馈回路47
AWS SageMaker50
AWS Glue反馈回路51
AWS批处理55
基于Docker容器的反馈回路56
小结58
第二部分 云端人工智能
第4章 使用Google云平台开发云端AI61
Google云平台概述62
Colaboratory合作实验工具62
Datalab数据处理工具64
使用Docker和Google容器注册表扩展Datalab 64
使用Datalab启动强大的机器 65
BigQuery云数据仓库67
Google云端AI服务69
云端TPU和TensorFlow72
小结74
第5章 使用Amazon Web服务开发云端AI 75
在AWS上构建增强现实和虚拟现实解决方案77
计算机视觉:带有EFS和Flask的AR/VR管道 77
带EFS、Flask和Pandas的数据工程管道 79
小结93
第三部分 创建实际AI应用程序
第6章 预测社交媒体在NBA中的影响力97
提出问题97
收集具有挑战性的数据源116
收集运动员的Wikipedia页面访问量 116
收集运动员的Twitter参与度 120
探索NBA运动员数据 123
NBA球员的无监督机器学习126
使用R语言对NBA球员执行分面聚类绘图 127
汇总:球队、球员、影响力和广告代言 129
更多的实际进阶与学习131
小结132
第7章 使用AWS创建智能的Slack机器人133
创建机器人133
将库转换为命令行工具134
使用AWS工作流服务将机器人提升到新水平136
获取IAM证书设置136
建立工作流144
小结146
第8章 从GitHub组织中寻找项目管理的思考147
软件项目管理问题综述147
开始创建数据科学项目框架149
收集和转换数据150
与GitHub组织交·流152
创建特定领域的统计信息153
将数据科学项目连接到CLI客户端154
使用Jupyter Notebook探索GitHub 组织156
查看CPython项目中的文件元数据158
查看CPython项目中的已删除文件161
将项目部署到Python包索引库164
小结166
第9章 动态优化基于AWS的弹性计算云(EC2)实例167
在AWS上运行作业167
EC2 Spot实例 167
Spot实例理论和定价历史 168
编写Spot实例启动程序 176
编写更复杂的Spot实例启动程序 181
小结182
第10章 房地产数据研究183
美国房地产价值探索183
Python中的交互式数据可视化185
规模等级和价格聚类187
小结194
第11章 用户生成内容的生产环境AI195
Netflix奖未在生产中实施196
推荐系统的基本概念196
在Python中使用Surprise 框架197
推荐系统的云解决方案199
推荐系统的实际生产问题200
云端自然语言处理和情绪分析204
Azure上的NLP 204
GCP上的NLP 208
AWS上的生产型无服务器NLP AI管道 210
小结215
附录A AI加速器217
附录B 聚类大小的选择219
索 引221

Contents

I: Introduction to Pragmatic AI 1
1 Introduction to Pragmatic AI 3
Functional Introduction to Python 4

Procedural Statements 4

Strings and String Formatting 6

Numbers and Arithmetic Operations 8

Data Structures 9

Functions 11

Using Control Structures in Python 18

for Loops 18

while Loops 19

if/else 20

Generator Expression 20

List Comprehension 21

Intermediate Topics 21

Final Thoughts 24

2 AI and ML Toolchain 27
Python Data Science Ecosystem: IPython, Pandas, NumPy, Jupyter Notebook, scikit-learn 27
R, RStudio, Shiny, and ggplot 28
Spreadsheets: Excel and Google Sheets 28
Cloud AI Development with Amazon Web Services 29
DevOps on AWS 29
Continuous Delivery 29
Creating a Software Development Environment for AWS 30
Integrating Jupyter Notebook 35
Integrating Command-Line Tools 38
Integrating AWS CodePipeline 41
Basic Docker Setup for Data Science 45
Other Build Servers: Jenkins, CircleCI, and Travis 46
Summary 46
3 Spartan AI Lifecycle 47
Pragmatic Production Feedback Loop 47

AWS SageMaker 50

AWS Glue Feedback Loop 51

AWS Batch 55

Docker-based Feedback Loops 56

Summary 58

II: AI in the Cloud 59
4 Cloud AI Development with Google Cloud Platform 61
GCP Overview 62
Colaboratory 62
Datalab 64
Extending Datalab with Docker and Google Container Registry 64
Launching Powerful Machines with Datalab 65
BigQuery 67
Google Cloud AI Services 69
Cloud TPU and TensorFlow 72
Summary 74
5 Cloud AI Development with Amazon Web Services 75
Building Augmented Reality and Virtual Reality Solutions.on AWS 77
Computer Vision: AR/VR Pipelines with EFS and Flask 77
Data Engineering Pipeline with EFS, Flask, and Pandas 79
Summary 93
III: Creating Practical AI Applications from Scratch 95
6 Predicting Social-Media Influence in the NBA 97
Phrasing the Problem 97

Collecting Challenging Data Sources 116

Collecting Wikipedia Pageviews for Athletes 116

Collecting Twitter Engagement for Athletes 120

Exploring NBA Athlete Data 123

Unsupervised Machine Learning on NBA Players 126

Faceting Cluster Plotting in R on NBA Players 127

Putting it All Together: Teams, Players, Power, and Endorsements 129

Further Pragmatic Steps and Learnings 131

Summary 132

7 Creating an Intelligent Slackbot on AWS 133
Creating a Bot 133

Converting the Library into a Command-Line Tool 134

Taking the Bot to the Next Level with AWS Step Functions 136

Getting IAM Credentials Set Up 136

Building Out the Step Function 144

Summary 146

8 Finding Project Management Insights from a GitHub Organization 147
Overview of the Problems in Software Project Management 147

Creating an Initial Data Science Project Skeleton 149

Collecting and Transforming the Data 150

Talking to an Entire GitHub Organization 152

Creating Domain-specific Stats 153

Wiring a Data Science Project into a CLI 154

Using Jupyter Notebook to Explore a GitHub Organization 156

Looking at File Metadata in the CPython Project 158

Looking at Deleted Files in the CPython Project 161

Deploying a Project to the Python Package Index 164

Summary 166

9 Dynamically Optimizing EC2 Instances on AWS 167
Running Jobs on AWS 167
Spot Instances 167
Spot Instances Theory and Pricing History 168
Writing a Spot Instance Launcher 176
Writing a More Sophisticated Spot Instance Launcher 181
Summary 182
10 Real Estate 183
Exploring Real Estate Values in the United States 183
Interactive Data Visualization in Python 185
Clustering on Size Rank and Price 187
Summary 194
11 Production AI for User-Generated Content 195
The Netflix Prize Wasn’t Implemented in Production 196
Key Concepts in Recommendation Systems 196
Using the Surprise Framework in Python 197
Cloud Solutions to Recommendation Systems 199
Real-World Production Issues with Recommendations 200
Cloud NLP and Sentiment Analysis 204
NLP on Azure 204
NLP on GCP 208
Production Serverless AI Pipeline for NLP on AWS 210
Summary 215
A AI Accelerators 217
B Deciding on Cluster Size 219
Index 221

教学资源推荐
作者: [加] 大卫·L. 普尔(David L. Poole) 阿兰·K. 麦克沃斯(Alan K. Mackworth) 著
作者: [巴西]迪亚戈·克里斯蒂亚诺·席尔瓦(Thiago Christiano Silva) 赵亮(Liang Zhao) 著
作者: [意]安吉洛?坎杰洛西(Angelo Cangelosi), [美]马修?施莱辛格(Matthew Schlesinger)著
参考读物推荐
作者: 李天瑞 纪圣塨 易修文 等著
作者: [意] 安东尼奥·古利(Antonio Gulli) [印] 阿米塔·卡普尔(Amita Kapoor) [美] 苏吉特·帕尔(Sujit Pal) 著
作者: [美]马克·E. 芬纳(Mark E. Fenner) 著
作者: 刘忠雨 李彦霖 周洋 著