新書推薦:
《
有机农业
》
售價:NT$
137.0
《
不完全契约
》
售價:NT$
454.0
《
知脊:脊柱使用说明书
》
售價:NT$
500.0
《
中国早期民法新论:案例、法规、概念与法律之外
》
售價:NT$
245.0
《
六星纪元:盟战时代
》
售價:NT$
398.0
《
富足人生指南:用十年时间实现富而喜悦
》
售價:NT$
398.0
《
少女杂货铺 Procreate可爱质感插画教程
》
售價:NT$
356.0
《
数理人文(第1辑)
》
售價:NT$
500.0
|
編輯推薦: |
信用卡公司如何检测欺诈行为?
航空公司如何通过机器学习对喷气发动机进行预测性维护?
自动驾驶汽车如何看周围的世界?
谷歌翻译如何把文字翻译为另一种语言?
面部识别系统如何工作?
作者抽丝剥茧,在运用机器学习和人工智能来解决这些问题的过程中,抽离出更有利于读者理解和掌握的知识要点,旨在帮助读者放下畏难情绪,最终自己动手构建一个类似更智能的系统或者以更智能的方式使用现有的系统,将人工智能集成到工业场景下的应用中。
作者在全球很多公司和研究机构讲授人工智能和机器学习课程,《机器学习与人工智能实战:基于业务场景的工程应用》用到了课程中使用的例子和插图,全部经过实证,没有可怕的算法或者公式,可以帮助工程师和软件开发人员快速入门。更值得一提的是,书中还包含了很多实操案例。
NumPy、Pandas、Matplotlib、Scikit-learn以及Pytorch,一应俱全
涵括常见应用场景,可作为初学者入门指南以及从业者中长期参考手册
深度阐述机器学习环境搭建、数据加载、数值处理、数据分析和可视化
结合理论和实践来解释监督学习、无监督学习、回归算法以及集成学习
通过一个端到端
|
內容簡介: |
《机器学习与人工智能实战:基于业务场景的工程应用》分为两部分共14章,介绍了如何用Scikit-Learn来构建机器学习模型以及如何用Keras和TensorFlow来构建神经网络。书中的内容和实例基于作者过去几年在全球各地开设相关课程的经历,阐述了如何借助于机器学习和深度学习来构建产品或服务,从而真正解决现实业务场景中的问题,比如监测热带雨林盗伐、文本情感分析以及预测机械设备的早期故障等。
《机器学习与人工智能实战:基于业务场景的工程应用》适合相关工程师与软件开发人员阅读和参考,可以帮助他们快速入门并通过书中的操作实例迅速掌握机器学习和人工智能。
《Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案》基于作者多年的积累,通过概念及其解释、Python代码示例及其解释和代码输出,特别针对零基础读者精心设计了这本机器学习进阶指南。全书包含3部分16章的内容,在介绍完编程和数据处理基础之后,探讨了监督学习(如线性回归、逻辑回归及决策树、朴素贝叶斯和支持向量机)、集成学习以及无监督学习(如降维和聚类等)。值得一提的是,书的最后讲到了神经网络和深度学习的基本思想,探讨了人工神经网络、卷积神经网络和递归神经网络。
《Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案》适合零基础且希望了解和掌握机器学习的读者阅读与参考。
《Python推荐系统实战:基于深度学习、NLP和图算法的应用型推荐系统》分为4部分,包含11章。首先介绍推荐系统的基本方法,接着探讨当前流行的一些方法,具体包括协同过滤推荐系统、内容推荐系统以及混合推荐系统。接下来讨论如何运用当前的机器学习算法来实现推荐系统。最后讨论推荐系统的相关趋势和新兴技术。
《Python推荐系统实战:基于深度学习、NLP和图算法的应用型推荐系统》特别适合零基础的数据科学工作者参考和使用。它可以帮助读者从基础知识起步,逐步学习运用Python、深度学习和自然语言处理技术来构建推荐系统,以促进业务增长和提高客户忠诚度。
《计算机视觉与PyTorch项目实战:基于深度学习框架的端到端产品级模型设计与开发》使用PyTorch 框架来讨论计算机视觉算法及其应用。首先介绍计算机视觉基础,主题涉及卷积神经网络、ResNet、YOLO、数据增强和业内使用的其他常规技术。随后简要概述PyTorch 库。接下来探究图像分类问题、对象检测技术以及如何在训练和运行推理的同时实现迁移学习。最后通过一个完整的建模过程来阐述深度学习框架PyTorch 是如何运用优化技巧和模型AI 可解释性的。
《计算机视觉与PyTorch项目实战:基于深度学习框架的端到端产品级模型设计与开发》适合具有一定基础的中高级读者阅读和参考,可以帮助他们使用迁移学习和PyTorch 来搭建产品级的计算机视觉模型。
《人工智能B2B落地实战:基于云和Python的商用解决方案》共10章。第1章介绍AI与AI生态,第2章阐述AI最佳实践和DataOps、第3章说明AI数据的获取,第4章谈到云与机器学习,第5章讨论神经网络与深度学习,第6章聊到AutoML、AutoAI以及NoLo UI的崛起,第7章讲到AI全栈应用开发,第8章通过案例学习来贯穿AI解决方案的整个实现过程,第9章说明如何部署AI解决方案(生产化与容器化),第10章讨论了自然语言处理。书中展示了高层级的业务需求和最佳实践,探讨了如何与干系人与敏捷团队展开合作。书中包含的AI应用开发、工业案例研究以及实用指南,可以帮助读者熟练应用NoLo UI。
《人工智能B2B落地实战:基于云和Python的商用解决方案》特别针对云服务预算有限的读者提供高效的解决方案,帮助他们开发和部署看似很难的AI商用解决方案。通过本书的学习和实践,读者有望以较低的成本快速部署和交付生产级AI方案。
|
關於作者: |
杰夫·普罗西斯 (Jeff Prosise) ,资深工程师,热心于帮助工程师和软件开发人员用好人工智能和机器学习。作为Wintellect的联合创始人,他在微软培训过几千名开发人员,在一些全球软件大会上发表过演讲。此外,杰夫还效力于橡树岭国家实验室和劳伦斯利弗莫尔国家实验室,从事过高功率激光系统和聚变能研究。目前,杰夫在Atmosera担任首席学习官,致力于帮助客户在产品或服务中实际应用人工智能。
阿什温·帕扬卡(AshwinPajankar)是一名技术类作家、讲师、内容创作者和YouTuber主播。他在南德的SGGSIE&T获得了工程学士学位,在印度理工学院海德拉巴校区获得了计算机科学与工程硕士学位。他在7岁的时候接触到电子技术和计算机编程。BASIC 是他学会的第一种编程语言。他还用过其他很多编程语言,比如汇编语言、C、C 、VisualBasic、Java、ShellScripting、Python、SQL和 JavaScript。他还非常喜欢使用单板计算机和微控制器,比如树莓派、BananaPro、Arduino、BBC Microbit 和 ESP32。
他目前正专注于发展 YouTube 频道,内容涉及计算机编程、电子技术和微控制器。
阿迪亚·乔希(AdityaJoshi)是一名机器学习工程师,他曾经在早中期创业公司的数据科学和机器学习团队工作。他在浦那大学获得了工程学士学位,在印度理工学院海德拉巴校区获得了计算机科学与工程硕士学位。他在硕士学习期间对机器学习产生了兴趣,并与印度理工学院海德拉巴校区的搜索和信息提取实验室有了联系。他喜欢教学,经常参加培训研讨会、聚会和短期课程。
阿克谢·库尔卡尼(Akshay Kulkarni)
阿克谢·库尔卡尼是人工智能(AI)和机器学习(ML)领域的布道师和意见领袖。他主要为财富500强和全球多家企业提供咨询服务,帮助客户实现由AI和数据科学驱动的战略转型。作为一名谷歌开发者和技术作家,他经常受邀参加AI和数据科学大会(包括OReilly Strata数据和AI会议以及Great International Developer Summit,GIDS),发表主旨演讲。他在多所印度顶级大学的研究生院担任客座教授。2019年,他入选“印度40岁以下最优秀的40位数据科学家”名单。在空闲时间,他喜欢阅读、写作、编程,并乐于帮助有志成为数据科学家的人。他和家人居住在印度班加罗尔。
阿达沙·希瓦南达(Adarsha Shivananda)
阿达沙·希瓦南达是数据科学和MLOps领域的资深专家,致力于培养世界级的MLOps能力和持续交付人工智能的价值。他希望通过培训建立一个优秀的数据科学家团队,以解决客户的各种问题。他在制药、医疗保健、消费品、零售和市场营销领域都具有丰富的经验。他的爱好包括阅读和进行数据科学相关培训。他居住在印度班加罗尔。
安努什·库尔卡尼(Anoosh Kulkarni)
安努什·库尔卡尼是一位数据科学家和人工智能高级顾问。他与全球各行业的客户广泛合作,利用机器学习、自然语言处理(NLP)和深度学习来帮助客户解决业务问题。他乐于指导人们掌握和应用数据科学,主持过许多数据科学/机器学习会议,并乐于帮助有志成为数据科学家的人规划职业生涯。他在大学举办ML/AI研讨会,并积极参与人工智能和数据科学相关的网络研讨会、演讲和大会。他和家人居住在印度班加罗尔。
V. 阿迪西亚·克里希南(V.Adithya Krishnan)
V.阿迪西亚·克里希南是一位数据科学家和MLOps工程师。他与全球各行业的客户合作,利用机器学习来帮助他们解决业务问题。他在人工智能及机器学习领域有丰富的经验,包括时间序列预测、深度学习、NLP、机器学习、图像处理和数据分析。目前,他正在开发一套先进的工具来观察模型的实际应用价值,这套工具包括持续对模型和数据进行监控以及对实现的商业价值进行跟踪。他在IEEE会议发表过一篇论文,题为“基于深度学习的距离估计方法”,该论文与印度国防研究与发展机构(DRDO)联合署名。他和家人居住在印度金奈。
尼廷·奈杰·夏尔马(Nitin Ranjan Sharma),诺华制药产品经理,主要带领团队使用多模型技术来开发产品,此外也为财富500强公司提供咨询服务,使用机器学习和深度学习框架来帮助他们解决复杂的业务问题。他主要关注的领域和核心专长是计算机视觉,比如解决图像和视频数据的业务难题。在加入诺华制药之前,他的身份是Publicis Sapient、EY和TekSystems Global Services数据科学团队成员。他经常受邀在数据科学大会上发表演讲并喜欢培训和指导数据科学爱好者开展工作。此外,他还是一名非常活跃的开源贡献者。
贾莱姆·拉吉·罗希特(Jalem Raj Rohit),Episource公司的高级数据科学家,全面领导计算机视觉工作。他参与创办了Pydata德里和Pydata孟买等机器学习社群并以组织者和嘉宾的身份举办和参加了很多小型聚会与大型会议大会。
他写了两本书,录制了视频课程(Julia语言和无服务器项目)。他的兴趣领域包括计算机视觉、MLOps和分布式系统。
巴瑞·沃尔什(Barry Walsh)就职于Pairview,是一名软件交付顾问和AI培训师。他经验丰富,主要运用复杂的业务数据为ABB/Ventyx、Infosys、E.ON、Centrica以及自己的创业公司ce.tech优化能源资产和降低风险。他是AzureAI认证工程师、数据科学家以及 AWS云计算专业人员,为能源、IT、金融科技、电信、零售和医疗保健等行业的企业提供数据科学、商业智能和商业分析等咨询服务,成果斐然。巴瑞在商业分析和AI解决方案交付领域深耕20余年,对企业级AI充满热情。
欧拉在校期间多次入选“优等生名单”,奉行深思笃行的做事原则,擅长于问题引导和拆解,曾经运用数据模型和R语言帮助某企业在半年内实现了十倍的增长。美食爱好者。有多部译著,翻译风格活泼而准确,有志于通过文字、技术和思维来探寻商业价值与人文精神的平衡。目前感兴趣的方向有机器学习和人工智能。
|
目錄:
|
机器学习与人工智能实战:基于业务场景的工程应用
第I 部分 用Scikit-Learn 进行机器学习
第1 章 机器学习 3
1.1 什么是机器学习 4
1.1.1 机器学习与人工智能 7
1.1.2 监督和无监督学习 9
1.2 使用k-means 聚类算法的无监督学习 10
1.2.1 将k-means 聚类算法应用于客户数据 13
1.2.2 使用两个以上的维度对客户进行细分 16
1.3 监督学习 19
1.3.1 k 近邻 22
1.3.2 使用k 近邻对花卉进行分类 24
1.4 小结 28
第2 章 回归模型 30
2.1 线性回归 30
2.2 决策树 34
2.3 随机森林 37
2.4 梯度提升机 39
2.5 支持向量机 41
2.6 回归模型的精度测量 42
2.7 使用回归来预测车费 46
2.8 小结 51
第3 章 分类模型 53
3.1 逻辑回归 54
3.2 分类模型的准确率度量 56
3.3 分类数据 61
3.4 二分类 63
3.4.2 检测信用卡欺诈 68
3.5 多分类 73
3.6 构建数字识别模型 74
3.7 小结 78
第4 章 文本分类 80
4.1 准备用于分类的文本 81
4.2 情感分析 84
4.3 朴素贝叶斯 88
4.4 垃圾邮件过滤 91
4.5 推荐系统 95
4.5.1 余弦相似性 96
4.5.2 构建一个电影推荐系统 98
4.6 小结 100
第5 章 支持向量机 102
5.1 支持向量机的工作原理 102
5.1.1 核 105
5.1.2 核技巧 106
5.2 超参数调整 109
5.3 数据归一化 112
5.4 管道化 117
5.5 使用SVM 进行面部识别 118
5.6 小结 124
第6 章 主成分分析 126
6.1 理解主成分分析 127
6.2 噪声过滤 133
6.3 数据匿名化 135
6.4 可视化高维数据 137
6.5 异常检测 140
6.5.1 使用PCA 检测信用卡欺诈 141
6.5.2 使用PCA 来预测轴承故障 145
6.5.3 多变量异常检测 150
6.6 小结 151
第7 章 机器学习模型的操作化 152
7.1 从Python 客户端使用Python 模型 153
7.2 pkl 文件的版本管理 157
7.3 从C# 客户端使用Python 模型 157
7.4 容器化机器学习模型 160
7.5 使用ONNX 来桥接不同的语言 161
7.6 用ML.NET 在C# 中构建ML 模型 165
7.6.1 用ML.NET 进行情感分析 166
7.6.2 保存和加载ML.NET 模型 169
7.7 为Excel 添加机器学习功能 169
7.8 小结 173
第II 部分 用Keras 和TensorFlow 进行深度学习
第8 章 深度学习 177
8.1 了解神经网络 178
8.2 训练神经网络 182
8.3 小结 185
第9 章 神经网络 187
9.1 用Keras 和TensorFlow 构建神经网络 188
9.1.1 设定神经网络的大小 192
9.1.2 使用神经网络来预测车费 193
9.2 用神经网络进行二分类 197
9.2.1 进行预测 199
9.2.2 训练神经网络来检测信用卡欺诈 200
9.3 用神经网络进行多分类 204
9.4 训练神经网络进行面部识别 207
9.5 Dropout 210
9.6 保存和加载模型 211
9.7 Keras 回调 213
9.8 小结 216
第10 章 用卷积神经网络进行图像分类 218
10.1 理解CNN 219
10.1.1 使用Keras 和TensorFlow 来构建CNN 223
10.1.2 训练CNN 来识别北极野生动物 227
10.2 预训练CNN 232
10.3 使用ResNet50V2 对图像分类 235
10.4 转移学习 237
10.5 通过转移学习来识别北极野生动物 240
10.6 数据增强 243
10.6.1 用ImageDataGenerator 进行图像增强 244
10.6.2 使用增强层进行图像增强 247
10.6.3 将图像增强应用于北极野生动物 248
10.7 全局池化 251
10.8 用CNN 进行音频分类 252
10.9 小结 259
第11 章 面部检测和识别 261
11.1 人脸检测 262
11.1.1 用Viola-Jones 算法进行人脸检测 263
11.1.2 使用Viola-Jones 的OpenCV 实现 265
11.1.3 用卷积神经网络检测人脸 267
11.1.4 从照片中提取人脸 271
11.2 面部识别 273
11.2.1 将迁移学习应用于人脸识别 274
11.2.2 用任务特定的权重强化转移学习 277
11.2.3 ArcFace 280
11.3 综合运用:检测和识别照片中的人脸 281
11.4 处理未知人脸:闭集和开集分类 287
11.5 小结 288
第12 章 目标检测 290
12.1 R-CNN 291
12.2 Mask R-CNN 294
12.3 YOLO 300
12.4 YOLOv3 和Keras 302
12.5 自定义目标检测 307
12.5.1 用自定义视觉服务训练自定义目标检测模型 308
12.5.2 使用导出的模型 315
12.6 小结 317
第13 章 自然语言处理 318
13.1 文本准备 319
13.2 词嵌入 322
13.3 文本分类 323
13.3.1 自动化文本矢量处理 327
13.3.2 在情感分析模型中使用TextVectorization 328
13.3.3 将词序纳入预测的因素 330
13.3.4 循环神经网络(RNN) 331
13.3.5 使用预训练模型进行文本分类 333
13.4 神经机器翻译 335
13.4.1 LSTM 编码器- 解码器 336
13.4.2 Transformer 编码器- 解码器 338
13.4.3 构建基于Transformer 的NMT 模型 340
13.4.4 使用预训练模型来翻译文本 349
13.5 基于变换器的双向编码器(BERT) 350
13.5.1 构建基于BERT 的答题系统 352
13.5.2 调优BERT 以进行情感分析 355
13.6 小结 359
第14 章 Azure 认知服务 361
14.1 Azure 认知服务简介 362
14.1.1 密钥和终结点 364
14.1.2 调用Azure 认知服务API 367
14.1.3 Azure 认知服务容器 369
14.2 计算机视觉服务 371
14.3 语言服务 380
14.4 翻译服务 383
14.5 语音服务 385
14.6 集大成者Contoso Travel 386
14.7 小结 391
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
第Ⅰ部分?PYTHON机器学习
第1章?Python 3和Jupyter Notebook入门 3
1.1?Python概述 4
1.1.1?Python编程语言的历史 4
1.1.2?Python编程语言的哲学 4
1.1.3?Python的使用范围 5
1.2?安装Python 6
1.2.1?在Linux 发行版上安装 Python 7
1.2.2?在macOS 上安装Python 7
1.3?Python模式 7
1.3.1?交互模式 7
1.3.2?脚本模式 11
1.4?Pip3工具 13
1.5?科学Python生态系统 14
1.6?Python的实现和发行版 14
1.7?Anaconda发行版 15
1.8?小结 16
第2章?NumPy入门 17
2.1?开始使用NumPy 18
2.2?Ndarray的索引 20
2.3?Ndarray的属性 22
2.4?NumPy常量 23
2.5?小结 24
第3章?数据可视化入门 25
3.1?用于创建Ndarray的NumPy例程 26
3.2?Matplotlib数据可视化 28
3.3?小结 34
第4章?Pandas入门 35
4.1?Pandas基础知识 36
4.2?Pandas中的Series 36
4.3?Pandas中的数据框架 38
4.4?在数据框架中实现数据的可视化 40
4.5?小结 46
第Ⅱ部分?机器学习方法
第5章?Scikit-learn机器学习概述 49
5.1?从数据中学习 50
5.1.1?监督式学习 50
5.1.2?无监督学习 51
5.2?机器学习系统的结构 52
5.2.1?问题理解 53
5.2.2?数据收集 53
5.2.3?数据标注和数据准备 53
5.2.4?数据整理 53
5.2.5?模型的开发、训练和评估 54
5.2.6?模型的部署 54
5.3?Scikit-Learn 55
5.4?安装Scikit-Learn 55
5.5?了解API 56
5.6?第一个Scikit-learn实验 57
5.7?小结 60
第6章?为机器学习准备数据 61
6.1?数据变量的类型 62
6.1.1?名目数据 62
6.1.2?次序数据 62
6.1.3?等距数据 63
6.1.4?等比数据 63
6.2?转换 63
6.2.1?转换名目属性 64
6.2.2?转换有序属性 66
6.3?归一化 67
6.3.1?线性函数归一化 68
6.3.2?标准缩放 69
6.4?预处理文本 70
6.4.1?准备NLTK 70
6.4.2?NLP流水线的5个步骤 71
6.4.3?词干提取和词形还原 72
6.4.4?移除停用词 73
6.4.5?准备词向量 73
6.5?预处理图像 75
6.6?小结 77
第7章?初探监督式学习方法 79
7.1?线性回归 80
7.2?逻辑回归 86
7.2.1?表达式概率的线与曲线的比较 87
7.2.1?学习参数 87
7.2.2?可视化决策边界 90
7.3?决策树 91
7.3.1?构建决策树 92
7.3.2?Python中的决策树 93
7.4?小结 96
第8章?对监督式学习进行调试 97
8.1?训练和测试过程 98
8.2?性能的衡量标准 98
8.2.1?混淆矩阵 99
8.2.2?精确率 100
8.2.3?准确率 100
8.2.3?F值 100
8.2.4?Python中的性能指标 101
8.3?交叉验证 103
8.3.1?为什么要进行交叉验证 104
8.3.2?使用Python进行交叉验证 105
8.4?ROC曲线 106
8.5?过拟合和正则化 109
8.5.1?偏差和方差 112
8.5.2?正则化 113
8.6?超参数调优 116
8.7?小结 120
第9章?再谈监督学习方法 121
9.1?朴素贝叶斯 122
9.1.1?贝叶斯定理 122
9.1.2?条件概率 123
9.1.3?朴素贝叶斯的运作方式 123
9.1.4?多项朴素贝叶斯 124
9.1.5?Python中的朴素贝叶斯 124
9.2?支持向量机 126
9.2.1?SVM的运作方式 127
9.2.2?非线性分类 128
9.2.3?SVM中的核技巧 129
9.2.4?Python中的支持向量机 130
9.3?小结 134
第10章?集成学习方法 135
10.1?Bagging算法和随机森林 136
10.2?Boosting算法 140
10.3?Stacking集成 146
10.4?小结 150
第11章?无监督学习方法 151
11.1?降维 152
11.1.1?了解维数灾难 152
11.1.2?主成分分析 153
11.1.3?Python中的主成分分析 154
11.2?聚类 157
11.2.1?使用k-均值进行聚类 158
11.2.2?Python中的k-均值 158
11.2.3?什么是正确的k 161
11.2.4?聚类之图像分割 162
11.2.5?使用DBSCAN进行聚类 165
11.3?频繁模式挖掘 168
11.3.1?购物篮分析 168
11.3.2?Python中的频繁模式挖掘 169
11.4?小结 172
第Ⅲ部分?神经网络和深度学习
第12章?神经网络和PyTorch基础 175
12.1?安装PyTorch 177
12.2? PyTorch的基础知识 177
12.2.1?创建张量 177
12.2.2?张量操作 179
12.3?感知器 181
12.4?人工神经网络 185
12.5?小结 186
第13章?前馈神经网络 187
13.1?前馈神经网络 188
13.1.1?训练神经网络 189
13.1.2?损失函数 193
13.2?使用人工神经网络进行回归 195
13.3?激活函数 198
13.3.1?ReLU 激活函数 198
13.3.2?Sigmoid 激活函数 199
13.3.3?tanh激活函数 200
13.4?多层人工神经网络 200
13.4.1?PyTorch中的神经网络(NN)类 206
13.4.2?过拟合和Dropout 208
13.5?分类手写数字 209
13.6?小结 214
第14章?卷积神经网络 215
14.1?卷积运算 216
14.2?CNN的结构 219
14.3?在PyTorch中使用卷积神经网络 221
14.4?使用CNN进行图像分类 223
14.5?卷积神经网络的深度网络 233
14.5?小结 234
第15章?循环神经网络 235
15.1?循环单元 236
15.2?RNN的类型 238
15.2.1?一对一 238
15.2.2?一对多 238
15.2.3?多对一 238
15.2.4?多对多 239
15.3?Python中的RNN 239
15.4?长短期记忆 240
15.4.1?LSTM单元 241
15.4.2?时间序列预测 242
15.5?门控循环单元 252
15.6?小结 252
第16章?项目实战 253
16.1?数据科学生命周期 254
16.2?如何提供ML应用 257
16.3?通过实践学习 258
16.3.1?定义问题 258
16.3.2?数据 259
16.3.3?准备模型 263
16.3.4?序列化模型,以便未来用于预测 268
16.3.5?托管模型 270
16.4?未来可期 271
Python推荐系统实战:基于深度学习、NLP和图算法的应用型推荐系统
详?细?目?录
第Ⅰ部分 基本方法
第1章?推荐系统简介
什么是推荐引擎 003
推荐引擎的类型 004
基于规则的推荐系统 011
流行度 011
全球流行的商品 013
按国家计算热销商品 014
再次购买 015
小结 016
第2章?超市购物车分析(关联规则挖掘)
实现 017
数据收集 018
清洗数据 019
从数据集获取的洞察 020
基于DateTime的模式 022
免费商品和销售 026
热销商品 034
经常一起购买的商品 037
Apriori算法概念 038
关联规则 040
新建函数 041
关联规则的可视化 043
小结 049
第Ⅱ部分?流行方法
第3章?内容过滤
数据收集和下载词嵌入 054
将数据导入为DataFrame 054
预处理数据 055
文本转为特征 057
OHE 057
词频向量器CountVectorizer 057
TF-IDF 058
词嵌入 058
相似性度量 059
欧几里得距离 059
余弦相似度 060
曼哈顿距离 061
使用CountVectorizer构建模型 062
使用TF-IDF特征构建模型 064
使用Word2vec特征构建模型 065
使用fastText特征构建模型 067
使用GloVe特征构建模型 068
使用共现矩阵构建模型 071
小结 072
第4章?协同过滤
实现 074
数据收集 074
关于数据集 075
基于内存的方法 076
基于客户对客户的协同过滤 078
实现 078
项目对项目的协同过滤 081
实现 082
基于KNN的方法 085
机器学习 085
监督式学习 086
小结 090
第5章?使用矩阵分解、奇异值分解和共聚类的协同过滤
实现矩阵分解、共聚类和SVD 092
实现NMF 096
实现共聚类 098
实现SVD 099
获取推荐 100
小结 104
第6章?混合推荐系统
实现 106
数据收集 106
数据准备 108
模型构建 112
合并训练集和测试集后的最终模型 117
获取推荐 117
小结 119
第Ⅲ部分?先进的机器学习算法
第7章?基于聚类的推荐系统
数据收集和下载所需的词嵌入 125
预处理数据 126
探索性数据分析 127
标签编码 129
模型构建 130
k均值聚类 130
肘部方法 131
层次聚类 131
小结 142
第8章?基于分类算法的推荐系统
方法 143
数据收集以及下载词嵌入 144
以DataFrame(pandas)形式导入数据 144
数据预处理 146
特征工程 152
探索性数据分析 153
模型构建 156
拆分训练集和测试集 157
逻辑回归 157
实现 159
决策树 161
实现 162
随机森林 163
实现 163
KNN 164
实现 164
小结 166
第Ⅳ部分?相关趋势和新技术
第9章?基于深度学习的推荐系统
深度学习(人工神经网络)基础 169
神经协同过滤(NCF) 170
实现 172
数据收集 172
以DataFrame(pandas)形式导入数据 173
数据预处理 174
拆分训练集和测试集 175
建模和推荐 175
小结 180
第10章?基于图的推荐系统
实现 182
小结 191
第11章?新兴领域和新技术
实时推荐 193
对话式推荐 194
上下文感知推荐系统 194
多任务推荐系统 195
联合表征学习 196
小结 198
计算机视觉与PyTorch项目实战:基于深度学习框架的端到端产品级模型设计与开发
简明目录
第1章 计算机视觉的基础构成
第2章 图像分类
第3章 构建目标检测模型
第4章 构建图像分割模型
第5章 基于图像的搜索和推荐系统
第6章 姿态估计
第7章 图像异常检测
第8章 图像超分辨率
第9章 视频分析
第10章 计算机视觉的可解释AI
详细目录
第1章 计算机视觉的基本构成 001
1.1 什么是计算机视觉 002
1.1.1 应用 002
1.1.2 通道 005
1.1.3 卷积神经网络 007
1.1.4 了解CNN架构类型 014
1.1.5 掌握深度学习模型 021
1.1.6 PyTorch简介 024
1.2 小结 026
第2章 图像分类 027
2.1 本章所涵盖的主题 028
2.2 方法概述 028
2.3 创建图像分类流程 029
2.3.1 第一个基本模型 030
2.3.2 数据 030
2.3.3 数据探索 032
2.3.4 数据加载器 033
2.3.5 定义模型 035
2.3.6 训练过程 040
2.3.7 基本模型的第二种变体 044
2.3.8 基本模型的第三种变体 046
2.3.9 基本模型的第四种变体 052
2.7 小结 053
第3章 构建目标检测模型 055
3.1 使用Boosted Cascade进行目标检测 056
3.2 R-CNN 058
3.2.1 区域候选网络 059
3.2.2 快速区域卷积神经网络 062
3.2.3 候选区域网络的工作原理 063
3.2.4 锚框生成层 064
3.2.5 候选区域层 065
3.3 Mask R-CNN 065
3.4 YOLO 066
3.5 YOLO V2/V3 068
3.6 项目代码片段 069
3.7 小结 082
第4章 构建图像分割模型 083
4.1 图像分割 084
4.2 PyTorch预训练支持 086
4.2.1 语义分割 086
4.2.2 实例分割 089
4.3 模型优化 090
4.4 小结 106
第5章 基于图的搜索和推荐系统 107
5.1 问题陈述 107
5.2 方法和方法论 108
5.3 实现 109
5.3.1 数据集 109
5.3.2 安装和导入库 110
5.3.3 导入和理解数据 111
5.3.4 特征工程 114
5.3.5 计算相似度和排名 121
5.3.6 可视化推荐结果 122
5.3.7 从用户处接收图输入并推荐相似产品 125
5.4 小结 128
第6章 姿态估计 129
6.1 自顶向下的方法 130
6.2 自底向上的方法 130
6.3 OpenPose 131
6.3.1 分支1 131
6.3.2 分支2 131
6.4 HRNet 133
6.5 Higher HRNet 135
6.6 PoseNet 136
6.6.1 PoseNet工作机制 136
6.6.2 PoseNet的优点和缺点 140
6.6.3 姿态估计的应用 140
6.6.4 在杂货店视频上进行的测试用例 140
6.7 实现 141
6.8 小结 148
第7章 图像异常检测 149
7.1 异常检测 149
7.2 方法1:使用预训练的分类模型 151
7.3 方法2:使用自编码器 165
7.4 小结 168
第8章 图像超分辨率 169
8.1 利用最近邻概念放大图像 170
8.2 理解双线性插值 171
8.3 变分自编码器 172
8.4 生成式对抗网络 176
8.5 模型代码 177
8.6 模型开发 177
8.7 运行应用程序 188
8.8 小结 190
第9章 视频分析 191
9.1 问题陈述 192
9.2 方法 194
9.3 实现 195
9.3.1 数据 196
9.3.2 把视频上传到Google Colab 197
9.3.3 将视频转换为一系列图像 197
9.3.4 图像提取 198
9.3.5 数据预处理 198
9.3.6 确定杂货店中的热点 200
9.3.7 导入图像 203
9.3.8 获取人群计数 203
9.3.9 安保与监控 205
9.3.10 确定人口统计学特征(年龄和性别) 208
9.4 小结 210
第10章 计算机视觉的可解释AI 211
10.1 Grad-CAM 212
10.2 Grad-CAM 213
10.3 NBDT 214
10.4 Grad-CAM和Grad-CAM 的实现 216
10.4.1 在单个图像上的Grad-CAM和Grad-CAM 实现 216
10.4.2 在单个图像上的NBDT实现 219
10.5 小结 221
人工智能B2B落地实战:基于云和Python的商用解决方案
简?明?目?录
第1章?AI与AI生态系统简介 1
第2章?AI最佳实践和DataOps 35
第3章?AI的数据获取 63
第4章?云机器学习 91
第5章?神经网络与深度学习 109
第6章?AutoML、AutoAI与NoLo UI 155
第7章?AI全栈:应用开发 173
第8章?AI案例研究 203
第9章?部署AI解决方案(生产化与容器化) 239
第10章?自然语言处理 263
详?细?目?录
第1章?AI与AI生态系统简介 1
1.1?AI生态系统 2
1.1.1?技术成熟度曲线 2
1.1.2?历史背景 2
1.1.3?与AI相关的一些定义 3
1.1.4?AI的现状 4
1.1.5?什么是人工智能 6
1.1.6?云计算 6
1.1.7?CSP都提供什么 7
1.1.8?更广泛的AI生态系统 8
1.1.9?全栈AI 8
1.1.10?AI伦理和风险:问题和顾虑 9
1.2?AI的应用 11
1.2.1?机器学习 12
1.2.2?深度学习 12
1.2.3?自然语言处理 14
1.2.4?认知机器人流程自动化 15
1.2.5?其他AI应用 15
1.3?数据获取与AI管道 18
1.3.1?AI工程 18
1.3.2?什么是数据管道 19
1.3.3?提取、转换和加载(ETL) 19
1.3.4?数据整理 20
1.3.5?性能基准测试 21
1.3.6?AI流水线自动化:AutoAI 21
1.4?神经网络和深度学习 22
1.4.1?机器学习 23
1.4.2?什么是神经网络 24
1.4.3?简单感知器 24
1.4.4?深度学习 25
1.4.5?神经网络:术语 26
1.4.6?深度学习工具 27
1.5?AI的生产化 29
1.5.1?计算和存储 29
1.5.2?云服务提供商(CSP) 30
1.5.3?容器化 31
小结 34
第2章?AI最佳实践和DataOps 35
2.1?DataOps和MLOps入门 36
2.1.1?关于DataOps 36
2.1.2?数据工厂 36
2.1.3?从DataOps到MLOps:AI的问题 37
2.1.4?企业级AI 38
2.2?敏捷开发 40
2.2.1?敏捷团队和协作 40
2.2.2?开发/产品冲刺 41
2.2.3?敏捷的好处 42
2.2.4?适应性 42
2.3?代码存储库 45
2.3.1?关于Git和GitHub 45
2.3.2?版本控制 46
2.3.3?分支和合并 46
2.3.4?Git工作流 47
2.4?持续集成和持续交付(CI/CD) 50
2.4.1?DataOps中的CI/CD 51
2.4.2?Jenkins简介 51
2.4.3?项目管理工具Maven 52
2.4.4?容器化 53
2.5?测试、性能评估和监控 55
2.5.1?Selenium框架 55
2.5.2?TestNG测试框架 56
2.5.3?问题管理 57
2.5.4?监控和警报 58
小结 62
第3章?AI的数据获取 63
3.1?数据获取简介 64
3.1.1?数据获取:当下的挑战 64
3.1.2?AI阶梯 64
3.1.3?云架构/云堆栈 65
3.1.4?定期(OLAP)与流式(OLTP)数据 66
3.1.5?API 67
3.1.6?数据类型(结构化与非结构化) 68
3.1.7?文件类型 68
3.2?用于AI的数据存储 71
3.2.1?数据存储:数据湖和数据仓库 72
3.2.2?确定项目数据需求的范围 73
3.2.3?OLTP/OLAP:确定最佳方法 73
3.2.4?ETL与ELT 74
3.2.5?SQL与NoSQL数据库 75
3.2.6?弹性与可扩展性 76
3.3?数据获取的云服务 77
3.3.1?云端(SQL)数据仓库 77
3.3.2?数据湖存储 78
3.3.3?流处理和流分析 80
3.4?数据管道编排:最佳实践 82
3.4.1?存储考虑因素 82
3.4.2?数据获取计划 83
3.4.3?构建交付管道 85
小结 89
第4章?云机器学习 91
4.1?机器学习基础 92
4.2?监督式机器学习 92
4.2.1?分类和回归 92
4.2.2?时间序列预测 93
4.3?无监督机器学习 94
4.3.1?聚类 94
4.3.2?降维 95
4.4?半监督机器学习 96
4.5?机器学习的实施 97
4.6?探索性数据分析 97
4.7?数据整理 98
4.7.1?特征工程 99
4.7.2?混洗和数据分割/拆分 100
4.7.3?采样 101
4.8?算法建模 102
4.9?性能基准测试 104
4.10?模型选择、部署和推理 107
4.11?强化学习 108
小结 108
第5章?神经网络与深度学习 109
5.1?深度学习简介 110
5.1.1?什么是深度学习 110
5.1.2?为什么现在是深度学习的时代 111
5.1.3?AI与深度学习的炒作周期 111
5.1.4?高级架构 113
5.2?随机过程 114
5.2.1?生成式模型与判别式模型 115
5.2.2?随机游走 115
5.2.3?马尔可夫链和马尔可夫过程 115
5.2.4?其他随机过程:鞅 116
5.3?神经网络简介 117
5.3.1?人工神经网络 117
5.3.2?简单感知器 118
5.3.3?多层感知器 119
5.3.4?卷积神经网络 120
5.3.5?循环神经网络 120
5.3.6?长短期记忆网络 121
5.3.7?其他类型的神经网络 122
5.4?深度学习工具 128
5.4.1?用于深度学习的工具 128
5.4.2?TensorFlow 128
5.4.3?Keras 129
5.4.4?PyTorch 129
5.4.5?其他重要的深度学习工具 130
5.5?深度学习和实现的框架 131
5.5.1?张量 131
5.5.2?TensorFlow的关键概念 132
5.5.3?深度学习建模生命周期 132
5.5.4?顺序和函数模型API 133
5.5.5?实现卷积神经网络 134
5.5.6?实现循环神经网络 136
5.5.7?神经网络:术语 138
5.5.8?计算多层神经网络的输出 138
5.6?深度学习模型调优 141
5.6.1?激活函数 141
5.6.2?梯度下降和反向传播 143
5.6.3?反向传播 144
5.6.4?其他优化算法 144
5.6.5?损失函数 145
5.6.6?提高深度学习性能 146
5.6.7?深度学习最佳实践:超参数 147
小结 152
第6章?AutoML、AutoAI与NoLo UI 155
6.1?机器学习:过程回顾 157
6.2?全局搜索算法 158
6.3?基于Python的自动化库 159
6.3.1?PyCaret 159
6.3.2?auto-sklearn 160
6.3.3?Auto-WEKA 160
6.3.4?TPOT 161
6.4?AutoAI工具和平台 162
6.4.1?IBM Cloud Pak for Data 163
6.4.2?Azure ML 164
6.4.3?Google Cloud Vertex AI 165
6.4.4?Google Cloud Composer 165
6.4.5?AWS SageMaker Autopilot 166
6.4.6?TensorFlow Extended (TFX) 166
小结 167
第7章?AI全栈:应用开发 173
7.1?AI应用开发简介 174
7.1.1?开发AI解决方案 174
7.1.2?AI应用——启动并运行 175
7.1.3?API和终结点 175
7.1.4?分布式处理和集群 176
7.1.5?虚拟环境 179
7.2?AI开发的软件和工具 182
7.2.1?数据和云是AI不可或缺的 182
7.2.2?云平台 184
7.2.3?基于Python的用户界面 187
7.2.4?其他AI软件供应商 189
7.3?ML应用 193
7.3.1?开发机器学习应用 193
7.3.2?客户体验 194
7.3.3?欺诈检测和网络安全 195
7.3.4?运营管理、决策和业务支持 195
7.3.5?风险管理、投资组合和资产优化 195
7.4?深度学习应用 197
7.4.1?开发深度学习应用程序 198
7.4.2?深度学习的关键应用 199
小结 202
第8章?AI案例研究 203
8.1?行业案例研究 204
8.1.1?对AI的企业/组织需求 204
8.1.2?AI的使能器 204
8.1.3?按垂直行业划分AI解决方案 204
8.1.4?AI用例:解决方案框架 205
8.1.5?解决方案架构 206
8.1.6?电信解决方案 207
8.1.7?实时仪表板 209
8.1.8?情绪分析 210
8.1.9?预测性分析 212
8.1.10?从Python连接到Twitter API 212
8.1.11?零售行业的解决方案 214
8.1.12?银行和金融服务/金融科技的解决方案 219
8.1.13?供应链的解决方案 224
8.2?石油和天然气/能源和公用事业解决方案 227
8.3?医疗和制药行业的解决方案 229
8.3.1?医疗行业:AI的鸿沟 229
8.3.2?医疗和制药行业的解决方案 229
8.4?人力资源解决方案 230
8.4.1?人力资源领域的现状 230
8.4.2?示例人力资源解决方案 231
8.5?其他案例研究 233
8.5.1?公共部门和政府 233
8.5.2?制造业 234
8.5.3?网络安全 235
8.5.4?保险/车联网 235
8.5.5?法律 236
小结 237
第9章?部署AI解决方案(生产化与容器化) 239
9.1?AI应用中的生产化 240
9.1.1?生产的典型障碍 240
9.1.2?云/CSP轮盘 241
9.1.3?使AI的挑战简单化:从小处着手,专注于特定领域 242
9.2?AI项目生命周期 245
9.2.1?从设计思维到敏捷开发 245
9.2.2?通过假设驱动的开发 245
9.2.3?协作、测试、度量、重复 246
9.2.4?持续的过程改进 247
9.2.5?数据漂移 248
9.2.6?自动化再训练 248
9.3?启用工程和基础设施 250
9.3.1?AI生态系统:AI云堆栈 250
9.3.2?数据湖部署:最佳实践 251
9.3.3?数据管道运营化和编排 252
9.4?大数据引擎和并行化 253
9.5?全栈与容器化:最后的疆域 256
9.5.1?全栈AI:React和Flask案例研究 257
9.5.2?使用Docker容器在云端部署 257
9.5.3?实现持续交付流水线 258
小结 259
第10章?自然语言处理 263
10.1?NLP简介 264
10.1.1?NLP的基础 264
10.1.2?NLP的历史背景和发展 265
10.1.3?NLP的目标和特定领域的用例 265
10.1.4?NLP的生命周期 266
10.2?预处理和语言学 270
10.2.1?预处理/初始清理 270
10.2.2?语言学和数据转换 271
10.2.3?语法分析 272
10.2.4?语义分析 275
10.3?NLP中的文本向量化、词嵌入和建模 277
10.3.1?基于规则/频率的嵌入 278
10.3.2?词嵌入/基于预测的嵌入 280
10.3.3?NLP建模 281
10.4?NLP的工具和应用 287
10.4.1?Python库 287
10.4.2?自然语言处理的应用 288
10.4.2?NLP 2.0 289
小结 292
结语 295
后记 297
|
內容試閱:
|
机器学习与人工智能实战:基于业务场景的工程应用
我的一生见证过三次伟大的技术革命,先后是是个人电脑、互联网和智能手机。机器学习(ML)和人工智能(AI)的重要性与这三者比肩,并将对我们的生活产生同样深刻的影响。
记得有一天,信用卡公司打电话给我,向我确认我是不是要购买一条价值700美元的项链。打那天起,我就对机器学习产生了兴趣。虽然并不是我要买,但我很好奇:“他们是怎么知道那可能不是我的呢?”我在世界各地都使用信用卡,而且要说明的是,我确实会时不时地给我的妻子买些好东西。信用卡公司从没拒绝过合法的刷卡交易,但有几次他们正确标记了信用卡诈骗。此前有一次是巴西某个家伙试图盗刷我的信用卡买机票。这一次不同的是,那家珠宝店距离我家只有2英里。我试着想象,到底是一种怎样的算法可以在商店里如此靠谱地检测到信用卡欺诈盗刷。没过多久,我就意识到有种东西比单纯的算法更强大,是它在发挥作用。
事实证明,信用卡公司用了一个复杂的机器学习模型来运行每一笔交易,这个模型非常善于检测欺诈行为。有了这个意识之后,我的生活发生了变化,因为这个例子很有说服力,证明ML和AI可以使世界变得更美好。此外,了解ML如何实时分析信用卡交易和筛选出非法交易的同时对合法交易开绿灯,成为我接下来注定要登顶的高峰。
本书面向的读者
最近,我接到某制造公司某位工程主管的电话。他是这样说的:“直到上周,我都不知道ML和AI是啥意思。现在,CEO给我布置了任务,要我弄清楚它们如何赋能我们的业务,而且还要领先于竞争对手之前做到这一点。我现在要从头开始。你能帮忙吗?”
下一通电话来自一家想要使用机器学习来检测税务欺诈和洗钱行为的政府外包公司。团队对机器学习理论相当精通,但不知道如何以最好的方式建立可以满足其需要的模型。
全球各地的专业人士都意识到,ML和AI代表着一场技术海啸,他们试图抢占风口浪尖以免被吞没。本书就是为这些人准备的,他们包括工程师、软件开发人员、IT经理以及其他相关人员。他们想要实际理解ML和AI并应用这些知识来解决以前难以甚至不可能解决的问题。本书试图传达一种直观的理解,所以只有在必要时才“祭出”公式。无论你以前有没有听过,但你真的不必成为精通微积分或线性代数的高手,大多数人都能建一个系统来识别照片中的物体(对象或目标),将英语翻译成法语,或者爆光贩毒的人和偷税漏税的人。
我为什么要写这本书
每个作者的内心深处都住着一个小精灵,它让他们知道他们可以用别人不会的方式讲故事。我在30多年前写了第一本计算机书,20多年前写了最后一本,原本并不打算再写的。但现在我要讲一个故事。这个故事很重要,每个工程师和软件开发人员都应该听听。我对别人讲这个故事的方式不是完全满意,所以就写了这本书,我希望自己当初学习ML和AI时能够有这本书。它从基础知识开始,带领大家攀登ML和AI世界中一座又一座的高峰。最后,让大家明白种种奥秘:信用卡公司如何检测欺诈行为?航空公司如何通过机器学习对喷气发动机进行预测性维护?自动驾驶汽车如何看周围的世界?谷歌翻译如何把文字翻译为另一种语言?面部识别系统如何工作?此外,你还能自己动手构建一个类似的系统或者使用现有的系统,将AI集成到自己写的应用程序中。
如今,最先进的机器学习模型需要在配备图形处理单元(GPU)或张量处理单元(TPU)的计算机上进行训练,而这通常要花费大量时间和费用。本书的一个特点是提供一些例子,这些例子能在没有配备GPU的普通PC或笔记本电脑上构建。在讲到识别照片中目标的计算机视觉模型时,我会解释这种模型是如何工作的以及它们如何在GPU集群上用数以百万计的图像进行训练。但我随后会向大家展示如何使用迁移学习这种技术来重用现有模型以解决领域特有的问题,并在普通的笔记本电脑上训练模型。
本书在很大程度上取材于我在世界各地的公司和研究机构上过的课程和做过的研讨,我喜欢当老师,因为我喜欢看到有人眼里发光,从中得到了启发。在ML和AI的课程开始时我经常会说:“我不是来教书的,我是来改变你们的人生的!”希望你们的人生会从读这本书开始变得有一点点不同,有一点点好。
运行本书的示例代码
作为工程师,最好通过动手实践来学习新东西,而不仅仅是读书。本书包含大量代码示例,你可以通过运行这些例子来巩固每一章所学的知识。这些例子中,大多数是用Python来写的,使用的是流行的开源库,例如Scikit-Learn、Keras和TensorFlow。所有这些都可以在我专门建的一个GitHub公共存储库中找到(https://oreil.ly/applied-machine-learning-code)。这是所有代码示例的唯一来源,我会随时保持更新。
有一些机器学习平台允许在不写代码的情况下构建和训练模型。但要想了解这些平台能做什么以及具体如何做,建议你最好还是写写代码。Python是一种简单的编程语言。很容易学。今天的工程师必须会写代码。你可以通过本书的例子来学习Python,如果已经掌握了Python(以及更常规意义上的编程),那么说明你其实已经领先别人一步了。
若是要在台式计算机或笔记本电脑上运行我在书中提供的例子,则需要安装64位的Python3.7或更高版本。可以从Python.org下载一个Python运行时或者可以安装一个Python发行版,例如Anaconda(https://oreil.ly/4NCqN)。另外,还需要确保已经安装了以下软件包及其依赖项:
?用于构建机器学习模型的Scikit-Learn和TensorFlow
?用于数据处理和可视化的Pandas、Matplotlib和Seaborn
?用于图像处理的OpenCV和Pillow
?用于调用RESTAPI和构建网络服务的Flask和Requests
?用于开放神经网络交换(OpenNeuralNetworkExchange,ONNX)模型的Sklearn-onnx和Onnxruntime
?用于从音频文件生成频谱图的Librosa
?用于构建面部识别系统的MTCNN和Keras-vggface
?用于构建自然语言处理(NaturalLanguageProcessing,NLP)模型的KerasNLP、Transformers、Datasets和PyTorch
?用于调用Azure认知服务(AzureCognitiveServices)的Azurecognitiveservices-
vision-computervision、Azure-ai-textanalytics和Azurecognitiveservices-speech。
可以用pipinstall命令来安装其中大多数包。如果安装了Anaconda,就表明其中许多包已经安装好了,可以用condainstall命令或类似的命令来安装其余的包。
至于环境,最好是用虚拟Python环境来防止安装的这些包与其他包发生冲突。如果不熟悉虚拟环境,则可以在Python.org上阅读它们的相关信息。如果使用的是Anaconda,那么说明虚拟环境已经就位了。
我的大部分代码示例是为Jupyter笔记本(Jupyternotebooks)构建的,后者为编写和执行Python代码提供了一个交互平台。数据科学界经常使用“笔记本”来探索数据和训练机器学习模型。可以通过安装Notebook(https://oreil.ly/ZWQyG)或JupyterLab(https://oreil.ly/5A3Ia)等包在本地运行Jupyter笔记本,也可以使用GoogleColab(https://oreil.ly/RdRBa)等云托管环境。Colab的优点是不必在自己的电脑上安装任何东西,就连Python都不用。而且,在我的例子要求GPU的罕见情况下,Colab也能为你提供GPU。
Python开发环境难以设置和维护是出了名的,尤其是在Windows电脑上。如果不想创建这样的环境,或者尝试过但没成功,那么下载一个东西就可以了。我在Docker容器镜像(https://oreil.ly/wzEbA)中打包了一个完整的开发环境,适合运行本书中的所有例子。如果你的电脑上安装了Docker引擎(https://oreil.ly/XO5GD),那么可以用以下命令启动容器:
dockerrun-it-p8888:8888jeffpro/applied-machine-learning:latest
然后,在浏览器中访问输出结果中显示的URL,就会进入一个完整的Jupyter环境,里面有我所有的代码示例和运行它们所需的一切。它们存储在一个文件夹中(名为Applied-Machine-Learning),该文件夹是从同名GitHub存储库中克隆的。不过,使用容器有一个缺点,即所做的更改默认不会保存。补救办法之一是在docker命令中使用-v开关,从而绑定到一个本地目录。详情可以参考Docker文档中的“绑定挂载”(https://oreil.ly/7wgda)。
本书导航
本书分为两部分。
?第I部分(第1章~第7章)讲解机器学习的基础知识,介绍流行的机器学习算法,比如逻辑回归和梯度提升。
?第II部分(第8章~第14章)讨论深度学习。作为今天人工智能的代名词,它使用了深度神经网络来实现数学模型和数据拟合。
强烈建议在阅读本书时动手练习,以便能对这些内容有更深刻的理解,进而开始思考如何修改我在书中提供的代码,玩一玩“假如…?”(whatif?)游戏。
本书采用的约定
本书采用了以下排版约定:
等宽字体(Constantwidth)
代码清单和段落中出现的程序元素(例如变量、函数、数据库、数据类型、环境变量、语句和关键字等)使用等宽代码字体。例如,fromskl2onnximportconvert_sklearn
等宽粗体(Constantwidthbold)
要由用户亲自输入的命令或其他字面值使用加粗的等宽字体。例如,请输入abc
这个视觉元素代表提示或建议
这个视觉元素代表常规的注意事项
这个视觉元素代表警告或提醒
使用代码示例
如前所述,本书的补充材料(代码实例、练习等)可以从https://oreil.ly/appliedmachine-learning-code下载。
如果有技术问题或者在使用代码示例时遇到问题,请电邮至bookquestions@oreilly.com。
本书的目的是帮助大家完成自己的工作。一般来说,如果书中提供了示例代码,那么你可以在自己的程序和文档中使用。不需要联系我们获得许可,除非要复制代码的很大一部分。例如,写一个用到了本书几处代码的程序不需要许可。销售或分发O’Reilly书中的示例则需要。引用本书正文和示例代码来回答一个问题不需要许可。将本书大量示例代码纳入你的产品文档,则需要许可。
我们感谢但一般不强求署名。如果要署名,通常应该包括标题、作者、出版商和ISBN。例如,AppliedMachineLearningandAIforEngineersbyJeffProsise(O’Reilly)。Copyright2023JeffProsise,978-1-492-09805-8。
如果觉得对代码示例的使用超出了合理使用或上述许可的范畴,请随时联系我们:
permissions@oreilly.com。
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
我们一直想要合作写一本以机器学习为主题的书。十年前,我们刚开始接触AI。如今,这个领域已经有了突飞猛进的发展和扩张。作为终身学习者,我们意识到,在最开始接触任何领域时,都需要一份更明晰的资料来清楚地指明前方的道路。在通过阅读、学习和利用所学的知识来加强学习体验的过程中,也需要有一系列明确的解释和偶尔的灵感。我们在软件开发、数据科学和机器学习的学术经历与职业生涯中经常使用Python。通过这本书,我们做了一次非常谦卑的尝试,为绝对零基础的初学者写一本以机器学习为主题的分步骤指南。本书的每一章都包含对概念的解释、代码示例、对代码示例的解释以及代码输出截图。
第Ⅰ部分包含4章的内容。第1章讲解不同平台上如何设置Python环境。第2章涉及NumPy和Ndarray。第3章探讨如何用Matplotlib进行可视化。第4章介绍Pandas数据科学库。最开始的这几章都旨在建立编程和基本的数据处理基础,这是学习机器学习的先决条件之一。
第Ⅱ部分探讨传统的机器学习方法。在第5章中,我们先对机器学习领域进行概览,然后讲解如何安装Scikit-learn,并介绍一个简短而快速的使用Scikit-learn的机器学习解决方案示例。第6章详细说明一些方法,以帮助大家理解结构化数据、文本数据和图像数据,并将这些数据转化为机器学习库所能接受的格式。第7章介绍监督学习式,讲解了针对回归问题的线性回归和针对分类问题的逻辑回归和决策树。在每个实验中,我们还展示了如何利用决策边界图(decisionboundaryplot)来绘制算法所学到的可视化内容。第8章深入研究如何进一步微调机器学习模型。我们解释了一些评估模型性能的想法,过拟合和欠拟合的问题,以及处理这些问题和提升模型性能的方法。第9章继续探讨监督式学习方法并重点介绍朴素贝叶斯和支持向量机。第10章讲解集成学习,这种解决方案将多个较简单的模型结合起来,以获得比单独这些模型更好的性能。在第11章中,我们讨论了无监督学习,并重点关注降维、聚类和频繁模式挖掘方法。每个部分都包含一个使用Scikit-learn实现所讨论方法的完整例子。
最后,第Ⅲ部分中的第12章介绍神经网络和深度学习的基本思想。我们介绍了一个非常流行的开源机器学习框架PyTorch,后续章节的例子都会用到它。第13章讲解人工神经网络,并深入论述了前馈(feedforward)和反向传播(backpropagation)的理论基础,然后要地介绍损失函数(lossfunction)和一个简单神经网络的例子。在后半部分中,我们解释了如何创建一个能够识别手写数字的多层神经网络。在第14章中,我们讨论卷积神经网络并讲述了一个图像分类案例。第15章探讨递归神经网络,并指导您解决一个序列建模问题。在最后的第16章中,我们论述规划、管理和设计机器学习和数据科学项目的策略。我们还讲解了一个端到端的案例,它很简短,使用了深度学习来进行情感分析。
如果是初次接触这个主题,那么我们强烈建议您按照章节顺序阅读本书,因为其中概念是相互关联的。仔细阅读所有代码,可以随意地尝试修改和调整代码结构、数据集和超参数。
如果对一些主题已经有所了解,请随意跳到自己感兴趣的章节并深入研究相关内容。祝大家学习顺利。
Python推荐系统实战:基于深度学习、NLP和图算法的应用型推荐系统
近些年来,推荐系统受到了广泛关注,并在不同领域得到广泛应用,有效推动了销量和利润的增长。在这样的背景下,掌握推荐系统的开发技能成为了一项重要的加分项。本书专为有此需求的读者设计,即便是零基础的读者,也能通过本书掌握推荐系统的相关概念,并学会如何开发推荐系统。
本书分为4部分,包含11章。第Ⅰ部分包含第1章和第2章,介绍了推荐系统的基本概念和方法。第Ⅱ部分包含第3章到第6章,探讨了当前流行的推荐方法,如协同过滤推荐系统、内容推荐系统以及混合推荐系统。第Ⅲ部分包含第7章和第8章,讨论了如何运用先进的机器学习算法来构建推荐系统。第Ⅳ部分包含第9章到第11章,讨论了推荐系统的最新发展趋势和新技术。
本书中提供的实现代码和所需数据集可在GitHub上找到,网址为github.com/apress/applied-recommender-systems-python。为了顺利完成本书中的所有项目,建议在Windows或Unix操作系统上安装并运行Python3.x或更高版本,处理器频率应达到2.0GHz,内存至少4GB。可以通过其他渠道或Anaconda下载Python,并使用Jupyter笔记本完成所有编码工作。本书假设读者具有基本的Keras知识并了解如何安装机器学习和深度学习需要用到的基础库。在实践过程中,建议升级或安装书中提及的所有库至最新版本。
计算机视觉与PyTorch项目实战:基于深度学习框架的端到端产品级模型设计与开发
在计算机视觉领域,有很多方法更为流行,比如本书介绍的PyTorch框架。为了充分利用深度学习,很多研究人员、开发人员和初学者往往都会首选这个框架。
本书要介绍一些计算机视觉问题及其解决方案,同时结合PyTorch实现的代码来介绍一些较为关键的挑战(尤其适用于Python初中级用户)。此外,本书还要介绍用于解决业务问题的各种方法。
针对书中介绍的重要概念,我们还要提供相关的生产级别的代码,旨在帮助大家快速入门。这些代码可以在本机或者云端运行,与有没有GPU(图形处理单元)无关。
在本书中,我们要分阶段介绍图像处理的概念。首先,介绍计算机视觉的基本概念。然后再深入研究深度学习领域,解释如何为视觉相关任务开发模型。随后,我们要帮助大家快速了解PyTorch,为理解本书后面介绍的商业挑战实例奠定基础。同时,我们还要探讨具有革命性意义的卷积神经网络以及VGG、ResNet、YOLO、Inception、R-CNN和其他许多架构。
接下来深入探讨与图像分类、目标检测和分割相关的业务问题以及在许多行业中广泛使用的超分辨率和生成对抗网络(GAN)架构等概念。大家可以从中学习和掌握图像相似度和姿态估计等主题(它们对解决无监督学习问题非常有帮助)。另外,书中还涉及视频分析相关话题,旨在帮助大家学会使用图像和基于时间的帧等概念来考虑问题。最后,讨论如何向业务合作伙伴解释这些深度学习模型。
本书力求为研究计算机视觉业务问题的读者提供一整套产品级解决方案。
人工智能B2B落地实战:基于云和Python的商用解决方案
失败的数据科学项目处处可见,技术债日益增长甚至达到积重难返的程度,很多组织正在尝试正视AI,实施一种更广泛、更深思熟虑的设计/系统思维方法,以求揭开炒作的迷雾,去伪存真。这里的关键在于,需要确保一开始就建立有多用户(包括技术人员和非技术人员)参与的数据/AI解决方案,同时还要全面考虑整个系统的生态系统、企业数据中心、基础设施/集成和端到端的过程。
利用最新的技术,人工智能应用牢牢地占据着这个技术成熟度曲线的制高点。AI的生产力优势令人难以忽视,与此同时,新冠肺炎疫情和数字化转型加剧催生了一种恶性的颠覆式文化。这种快速变化使得一些相对脆弱的公司不得不构建或购买更便宜、更小、开源程度更高的解决方案。这些因素共同作用,导致人们对快速原型开发和加速AI解决方案交付的需求与日俱增。
然而,并不是每家公司都了解AI能做什么或者它意味着什么。这些公司往往受制于遗留工具和糟糕的创新实践。有些人担心就业会受到影响,有些人有道德顾虑。但对大多数C级别的高管来说,可以明确的一点是,AI的实施必须符合“企业级AI”的愿景,这个3410亿美元的市场正在发展成为一个多样化但高度集成的Best-of-BreedAI解决方案组成的平台。
对我们这样职业生涯与就业市场、数据及数字化密不可分的人来说,这些有意义的、高价值的AI解决方案就是雇主所追求的目标。并且,持续关注提供投资回报率(ReturnOnInvestment,ROI),不仅要理解,还要使用AI(通常是机器学习和深度学习)来提供切实可见的成果,这是我们得以安身立命的根本。
对于企业领导者来说,一部分挑战在于,技术性强的技能往往无法为组织内的其他人提供非常直观的、可交流并且可理解的成果。大部分数据科学家并不擅长BI或者不是因为他们的软技能而被聘用的。如今的就业市场,雇主们越来越多地开始寻找更全面/更广泛的端到端技能,这些技能可以转化为更好的可视化成果、前端功能和集成方案。数据专业的相关人员的竞争优势在于通过解决技术债并拥有提供全栈数据解决方案。
这种机会在很大程度上依赖于云计算。AI或数据科学不仅涉及PythonNotebook和活动挂图,还需要识别和获取合适的数据集,并利用云服务来从沙盒扩展到概念验证,再到原型,再到最简可行产品(MinimumViableProduct,MVP)。如今,大多数公司和组织的最终目标是企业级AI。但对于许多从事特定职位的个人和许多非企业单位,云是一个处处有坑的雷区,有相当多的歧义的、文档不全的工件和隐形成本。企业级AI并不是每个人都能负担得起的。
成功(并且负担得起)的企业级AI项目交付需要有足够高的情商,如敏捷思维、稳健的数据驱动管道以及大量的变通方法,以设计、涵盖和实现人员、流程和工具的整合。我们依赖于三个主要的超大规模云服务商(Hyperscaler)/云服务提供商(CSP):亚马逊云计算服务(AmazonWebServices,AWS)、MicrosoftAzure和谷歌云端平台(GoogleCloudPlatform),他们提供数据中心、可扩展存储空间和计算实例。
|
|