猜你喜欢
推荐系统

推荐系统

书籍作者:李东胜 ISBN:9787121435089
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6027
创建日期:2023-04-10 发布日期:2023-04-10
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

推荐系统是互联网时代极具商业价值的人工智能应用之一,30 年来持续受到学术界和工业界的广泛关注。本书作者以一线研发人员的视角和经验,对推荐系统进行总结,尝试从原理与实践两个角度为读者剖析推荐系统。本书首先从原理上介绍各类经典推荐算法及前沿的深度学习推荐算法,然后分析推荐系统领域发展的前沿话题和未来方向,最后结合微软的开源项目Microsoft Recommenders 介绍推荐系统的实践经验。读者可以基于本书提供的源代码,深入学习推荐算法的设计原理和实践方式,并可以基于本书从零开始快速搭建一个准确、高效的推荐系统。


本书不仅适合互联网、大数据等相关领域技术人员阅读,也适合高等院校计算机、软件工程、人工智能等专业的本科生和研究生参考。


作者简介

李东胜

博士,微软亚洲研究院(上海)高级研究经理,复旦大学计算机学院客座教授、兼职博导,中国计算机学会协同计算专业委员会委员。主要研究方向为机器学习理论及应用,尤其是推荐算法的准确性、泛化能力、可扩展性、安全与隐私等。近年来,在PNAS、Nature Cardiovascular Research、ICML、NIPS、ICLR、SIGIR、WWW、KDD等相关领域的会议和期刊上发表论文80余篇。长期担任ICML、NIPS、ICLR、KDD、AAAI、IJCAI、CIKM等学术会议的程序委员。曾任IBM中国研究院高级研究员,于2016—2019年连续4年获得IBM杰出技术成就奖,开发的认知推荐引擎在2018年获得IBM奖——IBM Corporate Award。


练建勋

博士,毕业于中国科学技术大学,现任微软亚洲研究院主管研究员。研究方向主要包括推荐系统、用户建模与深度学习相关技术。在KDD、IJCAI、WWW、SIGIR等多个国际顶级会议上发表了多篇论文,相关的研究成果应用在必应广告、Xbox游戏和微软新闻等多个推荐场景上,获得了显著的提升效果。


张 乐

博士,人工智能架构师/总监,主导面向金融应用的人工智能和机器学习平台开发。曾任微软高级数据科学家,负责开发应用于零售、媒体和娱乐行业的工业级推荐系统在Azure云平台上的产品和解决方案。在人工智能及数据科学在多个行业的应用项目中担任主要开发和技术负责人。开源项目Microsoft Recommenders的主要参与者之一。曾在KDD、ICDM、WWW等多个人工智能学术会议上发表论文及演讲。本科毕业于哈尔滨工业大学,在新加坡南洋理工大学获得博士学位,曾在美国普渡大学交流访问。


任 侃

博士,现就职于微软亚洲研究院并担任高级研究员。主要研究领域包括数据挖掘与机器学习,特别是时空数据挖掘、序列建模与决策优化方法,及其在推荐系统、医疗健康与金融等领域的应用。在数据挖掘与机器学习领域顶级会议和期刊上发表了20余篇论文,包括TKDE、KDD、SIGIR、AAAI、ICLR、ICDM、WSDM、CIKM等。在浙江大学获得计算机科学与技术工学学士学位,在上海交通大学获得计算机科学与技术博士学位,并获得上海交通大学优秀博士学位论文提名。


卢 暾

博士,复旦大学计算机科学技术学院教授,博士生导师,美国卡耐基梅隆大学(CMU)访问学者。现任中国计算机学会(CCF)协同计算专委秘书长、大数据专家委员会通讯委员、高级会员。长期从事CSCW与社会计算、协同计算、推荐系统与人机交互等方面的研究。作为项目负责人承担多项国家自然科学基金项目、科技部重点研发计划课题、863课题和上海市项目。研究成果发表在CSCW、CHI、UbiComp、NIPS、WWW、SIGIR、IEEE TKDE等领域权威会议和期刊上。多次担任CSCW、CHI等的AC,多个国内外学术会议的PC Co-Chair,以及多个国内外学术期刊的AE和GE。


邬 涛

博士,微软Azure Gaming Services部门数据科学主管。其团队专注于人工智能技术在游戏开发、内容创作和运营中的应用。领导开发的Microsoft Recommenders开源项目是GitHub上最受欢迎的推荐系统项目。在微软、诺基亚研究中心和麻省理工学院计算机科学与人工智能实验室(CSAIL)长期负责研发和团队管理工作。


谢 幸

博士,微软亚洲研究院首席研究员,中国科学技术大学兼职博士生导师,微软-中科大联合实验室主任,中国计算机学会普适计算专委会副主任。其团队在数据挖掘、社会计算和普适计算等领域展开研究,在国际会议和学术期刊上发表了300余篇学术论文,共被引用4万余次。他是中国计算机学会会士、IEEE会士、ACM杰出会员。


编辑推荐
适读人群 :本书不仅适合互联网、大数据等相关领域技术人员阅读,也适合高等院校计算机、软件工程、人工智能等专业的本科生和研究生参考。

重温经典技术,推知前沿进展

详细阐述推荐系统基本原理、落地经验与前沿技术进展

深入浅出推荐系统的技术发展脉络

揭秘工业级推荐系统的构建方法


前言

推荐序

推荐系统:信息海洋中的导航者

2020 年,全球数据总存储量超过了40ZB,预计在2025 到2026 年,这个数字会达到200ZB。面对如此巨量的数据,大数据时代面对的第一个挑战就是如何解决信息过载的问题,即如何帮助用户在信息的海洋中找到他们需要或者喜欢的内容。我们见识过不同类型的“信息中介”,导航网站(如hao123)、门户网站(如搜狐新闻)、搜索引擎(如百度)……还有本书要介绍的推荐系统。读者可能会觉得搜索引擎在信息获取方面扮演了最重要的角色,然而实际上,绝大部分我们被动获取或者看似主动却实际被动获取的信息都来自推荐系统,这些信息占据了我们从互联网中获取信息的最大份额。举个例子,尽管我们有时会在抖音、快手和小红书上浏览关注对象的视频,但是大部分时候,当我们滑屏之后,新的视频都来自推荐系统。我们可能以为自己观看的长视频都来源于对我们兴趣的准确把握和对内容的主动定位,其实Netflix 上超过2/3 的点击来自推荐,爱奇艺超过1/2 的点击来自推荐。还有今日头条的新闻推荐、淘宝的商品推荐……我们一直被推荐系统紧紧包裹,只是这层包裹很柔软,我们往往并不自知。


读者手头的这本书,就是从理论、方法到实践,系统地介绍推荐系统这一信息海洋中最重要导航者的专著。这本书的作者是该领域蜚声国际的大学者。不得不说,针对推荐系统,已经有了很多高质量的综述论文和专著,它们各有特色。然而,大部分综述只集中于某类方法(例如Adomavicious 和Tuzhilin 主要聚焦于协同过滤,我们的综述主要聚焦于物理学的方法)或者只深入讨论某一个问题(例如Herlocker 等人的综述主要关注如何评价一个推荐系统)。Francesco Ricci 等人编写了Introduction to Recommender Systems Handbook一书,影响力很大,但这本书其实是若干专题性综述的汇编,没有在同一套语言和符号系统中由浅入深地展开叙事,因此只适合很专业的研究人员阅读。项亮撰写的《推荐系统实践》是从业者的入门和实战宝典,但理论方面的笔墨不多。与此同时,推荐系统自身的发展速度很快,原来以协同过滤、矩阵分解等为代表的单算法,已经无法应对现在的大规模推荐系统。事实上,在目前主流的推荐系统框架中,深度学习和特征工程已经扮演主角,原来不可一世的单算法(例如基于用户和基于商品的协同过滤)已经退化成前沿推荐系统框架中若干召回算法中不起眼的一员。所以,一些较完整的著作,距离推荐系统的前沿技术也比较远了。总的来说,本书是一本“来得恰到好处”的推荐系统著作,兼顾了理论性和实践性,包含了经典算法和前沿方法。


我和推荐系统有很深的缘分。2007 年,我到瑞士弗里堡大学读博士,张翼成教授与我合作的第一个题目就是推荐系统,后来推荐系统和链路预测成了支撑我博士论文的两个主要方向。回国后,我参与创立的第一家企业°最初的业务就是为电子商务网站开发推荐系统。我老婆有很长一段时间也从事推荐系统的实战工作,并作为主要负责人构建了爱奇艺的推荐系统。我和她有一段重要的共同经历,就是都曾在谢幸老师的指导下从事位置分析和推荐系统的工作。我和谢幸老师一共合作过四篇论文±,其中有三篇有关如何为用户推荐他(她)可能感兴趣的位置的,这也使我真正有机会系统地考虑如何推荐位置,以及一个相关的问题——如何利用位置信息推荐内容。


推荐系统尽管已经历了近三十年的发展,但该领域的研究依然充满活力。这在很大程度上是因为推荐系统占据了我们获取的信息活动的很大比重,而获取信息又是现代人生活学习中特别重要的部分。除了刚才提到的深度学习框架的应用,最新的技术发展又提出了若干新的挑战,例如,如何在多媒体环境中更好地设计推荐系统(与目前流行的多模态学习密切相关),如何融入专家知识来构建具备“认知能力”的推荐系统,如何在隐私保护的前提下设计推荐系统,等等。在大数据概念热火朝天时,美国网络安全和新兴技术局(CSET)发布报告,建议重新重视小数据下的人工智能应用。如何在稀疏和不充分数据条件下设计推荐系统,也是一个重大的挑战。其中,谢幸老师和他的同事们最近针对基于知识图谱的推荐系统的研究,为这个问题提出了一个可能的解决方案。我最近在推荐算法方面研究较少,又反过来关注推荐系统的伦理问题,例如,如何避免由于过度个性化让我们的视野变得狭窄,甚至陷入信息茧房中——这实际上是我博士阶段工作²的自然延续。可以说,推荐系统是一个将科学问题、技术问题和产业实践无缝结合的充满活力的领域。本书的作者们都是该领域全球范围的研究学者,且多数身在微软,因而对产业需求非常敏锐!希望各位读者都能从本书中有所得。


是为序。

周涛

电子科技大学教授



前言

推荐系统诞生于20 世纪90 年代的互联网技术蓬勃发展时期,出现伊始,便得到了学术界和工业界的普遍认可,在电子商务、新闻门户、多媒体内容、生活服务、社交网络甚至广告营销等诸多领域取得了广泛的成功,逐步成为互联网应用中不可或缺的组成部分。在移动互联网和新媒体等日益繁荣的今天,推荐系统发挥着更加无可取代的重要作用,不断降低互联网用户获取信息的难度,提升用户与信息系统交互过程中的用户体验。近年来,诸多成功的应用案例表明,推荐系统正在持续影响甚至改变人类与信息世界的交互方式。


深度学习的出现极大地改变了推荐技术的发展方向,深入理解基于深度学习的推荐技术对于推荐系统领域的研究人员和技术人员是非常必要的。首先,技术的发展通常是螺旋式的,推荐技术也不例外。众多新方法、新技术的背后往往会有传统推荐技术的影子,将传统推荐技术与基于深度学习的推荐技术融会贯通至关重要,因此本书花费较多的篇幅介绍经典推荐技术。其次,推荐技术并不局限于互联网领域,人们的日常生活中也存在着大量推荐场景,


传统行业也可以通过推荐系统来驱动其业务或者管理方式的变革。因此,本书着重介绍与业务无关的基础技术,以便处于不同阶段的研究人员以及不同行业的技术人员都能从中受益。最后,推荐系统是一个以应用为主的领域,在掌握方法和原理外,更重要的是学会如何设计和实现工业级的推荐系统。因此,本书结合微软推荐系统开源项目,以理论与实践相结合的方式呈现给读者。


为了使不同背景、不同行业的读者都能够清晰和完整地理解推荐技术发展的因与果,本书尝试从更广阔的视角看待推荐系统。本书首先从经典的推荐算法入手,介绍传统推荐算法的基本原理和主要概念,分析其优势与局限,为读者更好地理解基于深度学习的推荐技术奠定基础。然后,本书介绍深度学习的基础知识,着重介绍基于深度学习的推荐技术,分析推荐系统理论与实践中的问题,使读者能够更深入地理解推荐系统的前沿技术。最后,本书结合微软的开源项目Microsoft Recommenders 介绍推荐系统的实践经验。读者可以基于本书提供的源代码,深入学习推荐算法的设计原理和实践方式,并可以基于本书从零开始快速搭建一个准确、高效的推荐系统。


本书由李东胜、练建勋、张乐、任侃、卢暾、邬涛和谢幸撰写,具体分工如下:

李东胜撰写了本书的第1、2、3、5、7 章的部分内容;

练建勋撰写了本书的第4、6 章的部分内容;

张乐撰写了本书的第6 章的部分内容;

任侃撰写了本书的第3、4 章的部分内容;

卢暾、邬涛和谢幸对所有章节的内容进行了统筹、修改和审阅。


除本书作者外,多名博士、硕士研究生与合作伙伴协助撰写了本书的部分章节。其中,夏家峰、张光平、汪方野和王迎旭协助撰写了本书的第2 章和第5 章。杨正宇、李梓玥、王可容、张光平协助撰写了本书的第3 章。我们由衷地感谢他们对本书做出的贡献。

感谢宋亚东先生和电子工业出版社对本书的重视,以及为本书出版所做的一切。


由于时间有限,书中不足之处在所难免,敬请广大读者批评指正!

作者


目录


前言

第1 章推荐系统概述1

1.1 推荐系统发展历史/2

1.1.1 基于内容的推荐算法/2

1.1.2 基于协同过滤的推荐算法/3

1.1.3 基于深度学习的推荐算法/5

1.2 推荐系统原理/6

1.2.1 机器学习视角下的推荐系统/6

1.2.2 深度学习推荐系统新范式/12

1.2.3 推荐系统常见架构/15

1.3 推荐系统应用价值/17

1.3.1 推荐系统的业务价值/17

1.3.2 推荐、搜索与广告/19

1.3.3 推荐系统的行业应用/20

1.4 小结/22

第2 章经典推荐算法/25

2.1 基于内容的推荐算法/26

2.1.1 基于结构化内容的推荐/27

2.1.2 基于非结构化内容的推荐/33

2.1.3 基于内容推荐的优势与局限/41

2.2 基于协同过滤的推荐算法/42

2.2.1 基于记忆的协同过滤算法/42

2.2.2 矩阵分解方法与因子分解机方法/50

2.3 小结/58

第3 章深度学习基础/59

3.1 神经网络与前馈计算/60

3.2 反向传播算法/61

3.3 多种深度神经网络/64

3.3.1 卷积神经网络/64

3.3.2 循环神经网络/68

3.3.3 注意力机制/72

3.3.4 序列建模与预训练/75

3.4 小结/78

第4 章基于深度学习的推荐算法/79

4.1 深度学习与协同过滤/80

4.1.1 基于受限玻尔兹曼机的协同过滤/80

4.1.2 基于自编码器的协同过滤/82

4.1.3 深度学习与矩阵分解/84

4.1.4 基于邻域的深度协同过滤/87

4.2 深度学习与特征交互/88

4.2.1 AFM 模型/88

4.2.2 PNN 模型/89

4.2.3 Wide & Deep 模型/91

4.2.4 DeepFM 模型/93

4.2.5 DCN 模型/94

4.2.6 xDeepFM 模型/96

4.2.7 AutoInt 模型/99

4.2.8 特征交互的其他思路/100

4.3 图表示学习与推荐系统/100

4.3.1 图嵌入和图神经网络基础/101

4.3.2 图神经网络与协同过滤/106

4.3.3 图神经网络与社会化推荐/110

4.4 序列与基于会话的推荐/114

4.4.1 序列推荐的动机、定义与分类/114

4.4.2 序列推荐算法的分类/117

4.4.3 基于循环神经网络的序列推荐/122

4.4.4 基于非自回归神经网络的序列建模/125

4.4.5 基于自注意力机制的序列推荐/127

4.4.6 基于记忆神经网络的序列推荐/129

4.4.7 用户、物品双序列建模/133

4.5 结合知识图谱的推荐系统/134

4.5.1 加强用户--物品交互建模/135

4.5.2 图谱建模与物品推荐的联合学习/141

4.5.3 知识图谱增强物品的表示/146

4.5.4 可解释性/151

4.6 基于强化学习的推荐算法/158

4.6.1 基于多臂老虎机的推荐算法/160

4.6.2 强化学习基础/162

4.6.3 基于强化学习的推荐算法/ 164

4.6.4 深度强化学习的建模与优化/166

4.7 小结/170

第5 章推荐系统前沿话题/171

5.1 推荐算法研究热点/172

5.1.1 基于对话的推荐/172

5.1.2 因果推荐/173

5.1.3 常识推荐/174

5.2 推荐系统应用挑战/175

5.2.1 多源数据融合/175

5.2.2 可扩展性/176

5.2.3 功能性评估/178

5.2.4 冷启动问题/179

5.3 负责任的推荐/180

5.3.1 用户隐私/180

5.3.2 可解释性/183

5.3.3 算法偏见/187

5.4 小结/189

第6 章推荐系统实践/191

6.1 工业级推荐系统实现与架构/192

6.1.1 工业级推荐系统的基本特征/192

6.1.2 推荐系统的常见架构/193

6.1.3 推荐系统的工业实现/196

6.2 推荐系统典型应用实践/198

6.2.1 数据管理与预处理/201

6.2.2 算法选择与模型训练/208

6.2.3 评估指标与评估方式/230

6.3 基于云平台的推荐系统开发与运维/236

6.3.1 基于云平台的推荐系统的优点/236

6.3.2 基于云平台的推荐系统开发与运维/237

6.4 总结/241

第7 章总结与展望/243

参考文献247


产品特色