有电书房店铺主页二维码
有电书房
微信扫描二维码,访问我们的微信店铺

使用Python和JAX构建推荐系统

115.20
运费: ¥ 5.00-22.00
库存: 300 件
使用Python和JAX构建推荐系统 商品图0
使用Python和JAX构建推荐系统 商品图1
使用Python和JAX构建推荐系统 商品图2
使用Python和JAX构建推荐系统 商品缩略图0 使用Python和JAX构建推荐系统 商品缩略图1 使用Python和JAX构建推荐系统 商品缩略图2

商品详情

书名:使用Python和JAX构建推荐系统
书号:978-7-5239-0052-9
定价:128元
作者:[美]布莱恩·比肖夫(Bryan Bischof) [美]余养励(Hector Yee) 著 余琦 张锦程 何婷婷 译
出版时间:2025-07-10
出版社:中国电力出版社
页码: 380    字数(千字):439
开本:16开    版次:1    印次:1


品牌介绍

中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。


编辑推荐

编辑推荐 实现和设计向用户提供建议的系统是当前最流行且最重要的机器学习应用之一。无论是希望客户在你的在线商店中找到最具吸引力的商品、获取丰富且有趣的视频,还是获取他们需要了解的新闻,推荐系统(RecSys)都能提供解决方案。 在这本实用指南中,本书作者阐述了核心概念,并提供示例,帮助你构建适用于任何行业或规模的推荐系统。你将学习构建成功推荐系统所需的数学知识、基本理念,以及具体的实现细节。本书涵盖推荐系统平台的核心组件、MLOps相关工具,以及PySpark、SparkSQL、FastAPI和Weights&Biases中的代码示例和实用建议。 专家推荐 “对于希望构建真实世界系统,而不仅仅是训练模型的从业者来说,这是一本必读之作。” ——Jacopo Tagliabue Bauplan联合创始人, RecList和evalRS共同创作者 “从现在起,这本书将成为我书架上该主题的标准参考书。” —— Will Kurt AI工程师, 《Bayesian Statistics the Fun Way》和 《Get Programming with Haskell》作者


产品特色

用于大规模生产环境系统的实践。


作者介绍

Bryan Bischof在Hex负责人工智能相关的工作,他同时是罗格斯大学商业与分析硕士项目的兼职教授,教授数据科学课程。此前,他曾担任Weights&Biases的数据科学主管,期间组建了数据科学、机器学习和数据工程团队。Hector Yee是谷歌的高级软件工程师,曾参与多个项目,包括图像搜索领域中的首个基于内容的排序系统,以及自动驾驶汽车的感知系统。


内容介绍

本书的主要内容有:构建推荐系统所需的数据。如何将你的数据和业务问题框定为推荐系统问题。适用于你的系统的模型评估方法。选择、实现、训练、测试和部署模型的方法。需要跟踪的关键指标,以确保系统按预期运行。随着对用户、产品和业务的深入了解,如何不断改进你的系统。
本书适用于机器学习从业者。


前言

前言 你是如何找到这本书的?是在网站上看到的广告吗?也许是朋友或导师推荐的,或是在社交媒体上看到的相关帖子。也有可能是在书店的书架上发现的,一家你通过地图应用找到的书店。无论你是如何找到它的,你几乎可以肯定是通过某种推荐系统来到这本书的。 实现和设计为用户提供建议的系统是机器学习(ML)在任何业务中最流行和最重要的应用之一。无论你是希望帮助用户找到最符合他们品味的衣服,还是从网上商店中购买最吸引人的商品,或是提供丰富娱乐的视频,从他们的网络中呈现出最具吸引力的内容,或者是他们当天需要知道的新闻亮点,推荐系统都是实现这些目标的方式。 现代推荐系统的设计与它们所服务的领域一样多样化。这些系统不仅包括实现和执行产品目标的计算机软件架构,还包括排序的算法组件。推荐排名的方法可以来自传统的统计学习算法、线性代数的启发、几何考虑,当然还有基于梯度的方法。正如算法方法的多样性一样,推荐的建模和评估考虑也同样多样化:个性化排名、搜索推荐、序列建模,以及这些方法的评分现在都是从事推荐系统工作的机器学习工程师需要了解的内容。 如果你是一名机器学习从业者,你可能已经了解推荐系统,并且可能知道一两种最简单的建模方法,并能够专业地谈论相关的数据结构和模型架构。然而,RecSys 常常超出数据科学和机器学习的核心课程。许多拥有多年行业经验的高级数据科学家对实际构建推荐系统知之甚少,当谈及此话题时可能会感到不安。尽管RecSys 与其他机器学习问题有着相似的基础和技能,但其活跃的社区和快速发展的重点使得构建推荐系统容易被那些已经投入时间或愿意保持最新信息的其他数据科学家所忽略。 这本书的存在正是为了突破这些感知的障碍。理解推荐系统在实际层面上的应用不仅对需要向用户提供内容的商业案例有用,RecSys 的基本理念通常还能弥合其他类型机器学习之间的巨大差距。例如,一个文章推荐系统可能会利用自然语言处理(NLP)来找到文章的表示,使用序列建模来促进更长时间的参与,并使用上下文组件来允许用户查询引导结果。如果你纯粹是出于学术兴趣进入这一领域,无论你对数学的哪个方面感兴趣,迟早都会在RecSys 中找到联系或应用! 最后,如果与其他领域的联系、几乎所有数学的应用或明显的商业实用性还不足以让你对RecSys 感兴趣,那么令人惊叹的尖端技术可能会达到这个效果。RecSys 始终处于甚至超越了机器学习的前沿。拥有显著的收入影响的一个好处是,公司和从业者需要不断推动可能性的边界以及他们的实现方式。当你考虑到FAANG[ 即Meta(前Facebook)、Apple、Amazon、Netflix 和Google] 的五个字母中有四个的核心在于一个或多个推荐系统时,这并不奇怪。有人可能会争论说Apple 的核心也有推荐系统。尽管确实如此,App Store 是公司至关重要的战略产品,但我们保守地认为五个中的四个,认为推荐系统并不是Apple的主要收入来源。 作为从业者,你需要了解如何: • 将你的数据和业务问题框架化为RecSys 问题。 • 确定开始构建RecSys 所需的基本数据。 • 确定适合你的RecSys 问题的模型以及如何评估它们。 • 实现、训练、测试和部署上述模型。 • 跟踪指标以确保系统按计划运行。 • 随着你对用户、产品和业务案例的了解不断改进系统。 本书展示了完成这些步骤所需的核心概念和示例,无论行业或规模如何。我们将引导你通过数学、思想和实现细节来构建推荐系统,无论这是你的第一个还是第五十个推荐系统。我们将向你展示如何使用Python 和JAX 构建这些系统。如果你还不熟悉,JAX 是Google 推出的一个Python 框架,旨在使自动微分和函数式编程范式成为一等对象。此外,它使用特别方便于来自各种背景的机器学习从业者的NumPy API 风格。 我们将展示必要核心概念的代码示例和架构模型,并提供将这些系统扩展到生产应用的方法。 排版约定 本书采用以下排版约定。 斜体(Italic) 表示新术语、URL、电子邮件地址、文件名和文件扩展名。 等宽字体(Constant width) 表示程序清单,在段落内表示程序元素,例如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。 粗体等宽字体(Constant width bold) 表示应由用户原封不动输入的命令或其他文本。 斜体等宽字体(Constant width italic) 表示应该替换成用户提供值的文本,或者由上下文决定的值。 使用代码示例 所包含的代码片段引用了将在中等规模且大多数情况下免费的资源上运行的笔记本。为了便于实验和探索,我们通过Google Colab 笔记本提供代码。 补充材料(代码示例、练习等)可在GitHub 上的ESRecsys 下载(https://github.com/BBischof/ESRecsys/)。 与本书相关的技术问题,或者在使用代码示例上有疑问,请发电子邮件到bookquestions@oreilly.com。 本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书的几个代码片段写一个程序就无需获得许可,销售或分发O’Reilly 图书的示例集则需要获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。 我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和ISBN,例如:“Building Recommendation Systems in Python and JAX by Bryan Bischof and Hector Yee. Copyright 2024 Bryan Bischof and Resonant Intelligence LLC, 978-1-492-09799-0 ”。 如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 与我们联系。 O’Reilly 在线学习平台(O’Reilly Online Learning) 近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。 联系我们 任何有关本书的意见或疑问,请按照以下地址联系出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 我们为本书建立了一个网页,列出了勘误表、示例和任何附加信息。您可以访问https://oreil.ly/build_rec_sys_python_jax 查看该页面。 欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。 我们的LinkedIn:https://linkedin.com/company/oreilly-media。 我们的Twitter:https://twitter.com/oreillymedia。 我们的YouTube:http://youtube.com/oreillymedia。 致谢 Hector 想感谢她的丈夫Donald 在本书写作期间给予的爱与支持,以及姐姐Serena 一直送来的零食。她还想把这本书献给已经去世的亲人。特别感谢Google 评审员Ed Chi、Courtney Hohne、Sally Goldman、Richa Nigam、Mingliang Jiang 和Anselm Levskaya。感谢Bryan Hughes 审阅Wikipedia 代码。Bryan 想感谢他在Stitch Fix 的同事们,在那里他学到了本书中的许多关键理念,特别是Ian Horn 对迁移学习的耐心指导,Dr. Molly Davies 对实验和效应估计的指导,Mark Weiss 对可用性和推荐之间关系的深度合作,Dr. Reza Sohrabi对Transformers 模型的介绍,Dr. Xi Chen 对推荐系统中图神经网络的鼓励,以及Dr. Leland McInnes 对降维和近似最近邻的细心建议。Bryan 从与Dr.Natalia Gardiol、Dr. Daniel Fleischman、Dr. Andrew Ho、Jason Liu、Dr. Dan Marthaler、Dr. Chris Moody、Oz Raza、Dr. Anna Schneider、Ujjwal Sarin、Agnieszka Szefer、Dr. Daniel Tasse、Diyang Tang、Zach Winston 等人的对话中受益匪浅。除了他在Stitch Fix 的出色同事,他特别想感谢Dr. Eric Bunch、Dr. Lee Goerl、Dr. Will Chernoff、Leo Rosenberg 和Janu Verma 多年来的合作。Dr.Brian Amadio 作为出色的同事,最初建议他写这本书。Dr. Even Oldridge 鼓励他尝试写作。Eugene Yan 和Karl Higley,尽管他从未见过他们,但受到了他们的巨大启发。他还想感谢Dr. Zhongzhu Lin 和Dr. Alexander Rosenberg,他们对他的职业生涯产生了深远的影响。Cianna Salvatora 协助了早期的文献回顾,Valentina Besprozvannykh 在阅读早期草稿和提供指导方面提供了极大的帮助。两位作者感谢Tobias Zwingmann、Ted Dunning、Vicki Boykis、Eric Schles、Shaked Zychlinski 和Will Kurt,他们花了大量时间对书稿进行细致的技术反馈,没有他们,这本书将难以理解。感谢Rebecca Novack 不断督促我们签约这个项目。感谢Jill Leonard 删除了书稿中近100 个错误使用的“utilize”一词,并在书籍文本方面提供了极大的耐心合作。


目录

目录
前言 1
第一部分 热身
第1 章 概述 11
11 推荐系统的核心组件 12
111 收集器 12
112 排序器 12
113 服务器 12
12 最简单的推荐器 13
121 简单推荐器 13
122 最受欢迎的条目推荐器 14
13 JAX 的简要介绍 16
131 基础类型,初始化和不可变性 16
132 索引和切片 17
133 广播 18
134 随机数 19
135 即时编译 20
14 总结 21
第2 章 用户– 物品项评分与问题构建 23
21 用户– 物品项矩阵 23
22 用户– 用户协同过滤vs 物品项– 物品项协同过滤 27
23 Netflix 挑战 28
24 隐式评分29
25 数据收集与用户日志记录 30
251 日志记录的内容 30
252 数据收集与事件记录34
253 漏斗分析 35
26 业务洞察与用户偏好 37
27 总结 38
第3 章 数学基础 41
31 齐夫定律与马太效应在推荐系统中的应用 41
32 稀疏性 44
33 用户相似性在协同过滤中的应用 46
331 皮尔逊相关系数 47
332 基于相似性的评分 48
34 探索– 利用作为推荐系统 49
341 贪婪算法50
342 应该设为多少 52
35 自然语言处理(NLP)与推荐系统的关系 52
351 向量搜索 53
352 最近邻搜索 55
36 总结 55
第4 章 推荐系统设计 57
41 离线vs 在线 57
42 收集器 59
421 离线收集器 59
422 在线收集器 59
43 排序器 60
431 离线排序器 60
432 在线排序器 60
44 服务器 61
441 离线服务器 61
442 在线服务器 61
45 总结 62
第5 章 综合实践:基于内容的推荐系统 63
51 版本控制软件 64
52 Python 构建系统 65
53 随机物品推荐器 66
54 获取STL 数据集图像 69
55 卷积神经网络定义 70
56 在JAX、Flax 和Optax 中训练模型 71
57 输入管道73
58 总结 87
第二部分 检索
第6 章 数据处理 91
61 给系统注入数据 91
611 PySpark 91
612 例子:使用PySpark 构建用户相似度 96
613 DataLoaders 101
614 数据库快照 104
62 用于学习和推理的数据结构 105
621 向量搜索 106
622 近似最近邻(ANN) 107
623 布隆过滤器 108
624 有趣的分支:将布隆过滤器作为推荐系统 110
625 特征库 111
63 总结 115
第7 章 服务模型和架构 117
71 推荐系统的架构设计 117
711 物品到用户的推荐 118
712 基于查询的推荐 118
713 基于上下文的推荐 120
714 基于序列的推荐 121
715 为什么需要额外特征121
72 编码器架构与冷启动 122
73 部署 125
731 模型作为API 125
732 启动模型服务 126
733 工作流编排 128
74 警报和监控 130
741 模式和先验 130
742 集成测试 132
743 可观察性 133
75 生产环境中的评估 134
751 慢反馈 134
752 模型指标 135
76 持续训练和部署 136
761 模型漂移 136
762 部署拓扑 137
77 评估飞轮140
771 每日热启动 140
772 Lamada 架构和编排 141
773 日志记录 142
774 主动学习 146
78 总结 150
第8 章 综合实践:数据处理和计数推荐器 151
81 技术栈 152
82 数据的表现形式 153
83 大数据框架 155
831 集群框架 156
832 PySpark 示例 157
84 GloVE 模型定义 168
841 在JAX 和Flax 中的GloVE 模型规范 169
842 使用Optax 进行GloVE 模型训练171
85 总结 173
第三部分 排序
第9 章 基于特征和基于计数的推荐 177
91 双线性因子模型(指标学习) 177
92 基于特征的热启动 181
93 分段模型和混合模型 183
931 基于标签的推荐系统184
932 混合模型 185
94 双线性模型的局限性 186
95 计算推荐系统数量 188
951 返回最热门物品的推荐器(MPIR) 188
952 关联挖掘 189
953 通过共现计算点互信息 192
954 基于共现的相似性度量 193
955 基于相似度的推荐 194
96 总结 195
第10 章 低秩方法 197
101 潜在空间 197
102 点积相似度 199
103 共现模型 201
104 减少推荐系统排名的问题203
1041 利用ALS 优化矩阵分解(MF) 205
1042 矩阵分解的正则化 207
1043 正则化的矩阵因子分解实现 208
1044 WSABIE 233
105 降低维度 234
1051 等距嵌入 238
1052 非线性局部可度量化的嵌入 239
1053 中心核对齐241
106 亲和力和销售估计器 241
107 用于推荐系统评估的倾向性加权 243
1071 倾向 244
1072 辛普森悖论与降低混杂因素的影响 246
108 总结 247
第11 章 个性化推荐度量指标 249
111 环境 250
1111 在线与离线 250
1112 用户vs 物品度量指标 251
1113 A/B 测试 252
112 召回率和精确率 253
1121 @k 254
1122 在k 的精准率 255
1123 在k 的召回率 256
1124 r 精准率 256
113 mAP, MMR, NDCG 256
1131 mAP 257
1132 MRR 258
1133 NDCG 258
1134 mAP 与NDCG 的对比 260
1135 相关性系数 260
114 用RMSE 考虑亲和度 261
115 积分形式的指标:AUC 和cAUC 262
1151 推荐概率与AUCROC 262
1152 与其他度量指标比较 263
116 BPR 263
117 总结 264
第12 章 排名训练 265
121 排名在推荐系统中的作用是什么 265
122 排序学习 266
123 训练一个LTR 模型267
1231 用于排名的分类 267
1232 用于排名的回归 268
1233 用于排名的分类和回归 269
124 加权近似排名对(WARP) 269
125 k 阶统计量 271
126 最佳匹配25(BM25) 272
127 多模态检索 275
128 总结 276
第13 章 综合实践:实验与排序 277
131 实验提示 277
1311 保持简单 278
1312 调试打印语句 278
1313 推迟优化 279
1314 记录变更 280
1315 使用特征工程 280
1316 理解模型指标与业务指标的区别 281
1317 快速迭代 281
132 Spotify 百万播放列表数据集 282
1321 构建URI 字典 284
1322 构建训练数据 286
1323 读取输入 289
1324 建模问题 292
1325 构建损失函数 295
133 练习 300
134 总结 301
第四部分 服务
第14 章 业务逻辑 305
141 硬排序 306
142 学习避开项 307
143 手工调整权重 308
144 库存健康 308
145 实现避开项 309
146 基于模型的避开项 311
147 总结 312
第15 章 推荐系统中的偏见 313
151 推荐的多样化 314
1511 提高多样性314
1512 应用组合优化 316
152 多目标函数 317
153 谓词下推 318
154 公平性 319
155 总结 320
第16 章 加速结构 321
161 分片 322
162 局部敏感哈希(LSH) 322
163 kd 树 325
164 分层kmeans 328
165 更低成本的检索方法 330
166 总结 331
第五部分 推荐系统的未来
第17 章 序列推荐系统 335
171 马尔可夫链 336
1711 二阶马尔可夫链 337
1712 其他马尔可夫模型 338
172 RNN 和CNN 架构 339
173 注意力架构 341
1731 自注意力序列推荐 343
1732 BERT4Rec 343
1733 时效性采样344
1734 合并静态与序列数据 344
174 总结 346
第18 章 推荐系统的下一步发展 347
181 多模态推荐 348
182 基于图的推荐系统 350
1821 神经消息传递 351
1822 应用 353
1823 随机游走 354
1824 元路径与异构性 355
183 LLM 的应用 356
1831 LLM 推荐系统 357
1832 LLM 训练 357
1833 推荐系统的指令调优 360
1834 LLM 排名器 360
1835 推荐系统对AI 的帮助 361
184 总结 362


有电书房店铺主页二维码
有电书房
扫描二维码,访问我们的微信店铺

使用Python和JAX构建推荐系统

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏