前言回首刚刚开始动意写这本书的时候,当时心里不是很有底,不确定能否如期完成交稿任务。经过和我的学生团队多轮讨论,确定书稿大纲和写作计划,互相监督各种碰会,终于完成了书稿的文字和代码,提交并通过了百度PaddleRec团队审核。推荐系统是为解决当前(移动)互联网背景下“信息过载”问题而诞生的一种智能应用,通常以后台服务的形式内置于大型互联网软件中。以新闻资讯类移动应用软件为例,当前网民们每天可以接触成千上万条新闻,上到新发布的国家政策,下至各地日常的奇闻趣事,各式各样的新闻也为用户带来了选择困境问题,这便是“信息过载”。而智能推荐系统能够在用户阅读新闻的过程中不断积累用户阅读历史,通过这些历史记录构建每个用户独特的用户画像,从而在用户下一次进入软件时,有针对性地为他推荐可能会吸引他的资讯,降低用户进入选择困境的可能性,提高用户在使用软件时候的体验。在当下流行的移动互联网应用中,个性化的推荐功能已经占据了核心(首页)模块,无论是出售商品的电子商务平台还是提供信息的新闻、短视频类软件,都希望用户在软件的首页能够快速、方便地发现其感兴趣的内容,从而增加用户使用软件的频次和时长,增强产品的核心竞争力。
推荐系统之所以大行其道,原因在于能够为尊贵的C端用户提供价值。从1994年第一个自动化新闻推荐系统被发明,到如今各种以个性化推荐为主打服务的软件层出不穷,无论是工业界还是学术界都在极力推动个性化推荐算法的研究和发展。在现今的智能推荐领域,“协同过滤”仍然是当之无愧的主流方法,其遵从“协同智慧”思想,认为以往拥有相似偏好的用户在未来也会具有相似的交互行为。早期的协同过滤推荐使用的是基于统计的方法,如1998年亚马逊公司上线的基于物品的协同过滤算法,它统计并使用物品两两之间被同一用户交互的相似情况来完成推荐任务,这类方法原理简单,可扩展性强,并且也很适合用于用户冷启动的场景。相比较基于统计的协同过滤方法,基于模型的协同过滤方法效果似乎更好一些,并逐渐成为学术界、工业界研究的主流。基于模型的协同过滤利用了从数据中学习规律这一传统机器学习思想,将系统已经采集到的历史交互数据用于训练推荐模型,后续再让模型来生成推荐结果,一切都是传统的机器学习的手法和思想。其中,最经典的当属矩阵分解方法,这一类方法将用户和物品的交互矩阵分解为低维的、隐语义的用户向量矩阵和物品向量矩阵创作人,在预测评分时,将目标用户和目标物品的低维向量分别抽取出来,通过计算目标用户和目标物品的隐语义向量的内积得出评分。
发展到现在游戏设计—原理与实践,各种基于深度学习的方法、基于图学习的方法也被融入协同过滤方法中,科研学者们热衷于探索计算机科学领域里最先进的技术,并将其用于提高推荐算法的准确性、多样性等各类指标,从而不断优化个性化推荐带给网络用户的体验,这些或经典、或先进,甚至昙花一现的推荐算法,本书都会尽力介绍,让读者尽可能多地了解到推荐系统领域的全貌。本书将推荐系统的理论基础与代码实践相结合游戏设计—原理与实践,可以作为推荐系统入门级教程,也可以作为科研工作者的参考书籍。本书内容涵盖各类非个性化和个性化、经典及先进的推荐算法,以及工业界推荐系统的基本流程、步骤。作者试图帮助读者快速了解、理解和掌握推荐系统的方方面面。通过本书,读者可以掌握推荐系统的基本概念、评价指标,熟悉推荐系统在工业界应用的具体过程,既可以了解基于传统机器学习的推荐算法,也可以学习基于深度学习的前沿推荐算法。本书的最后一章带领读者熟悉推荐系统领域的关键问题和挑战。全书共分为8章,第1章为推荐系统概述,为读者学习推荐系统建立一个基本的理解; 第2章介绍生产环境下的推荐系统; 第3章介绍机器学习算法基础,作为如今推荐系统所运用的主要技术之一,有助于后续学习具体的推荐算法; 第4~6章正式开始介绍各类推荐算法,从最基础的非个性化推荐算法到最前沿的基于深度学习、图学习的算法,将在这几章逐一进行介绍; 第7章是一个面向工程实战能力的训练,介绍如何搭建一个简易的推荐系统; 第8章介绍推荐系统领域里现存的一些问题与挑战。
其中第1、2、3、4、7、8章及6.5节由薛峰编写,第5章和6.1节~6.4节、6.6节~6.8节由吴乐编写,吴志华、张文慧、杨晴虹等也参与编写,并对书稿及对应的实践代码做了审阅和修改。此外,特别感谢周文杰、刘康、盛一城、邵鹏阳、蔡苗苗、杨添、李帅洋、桑胜等对书稿的材料整理和校订工作。第1章为推荐系统概述,帮助读者熟悉推荐系统这一应用型科学的整体概念,包括推荐系统的背景与价值; 推荐系统的基本任务、工作过程和工作原理; 推荐系统的发展历史; 推荐算法的分类以及如何评价一个推荐系统所用到的评测方法和评价指标。第2章介绍生产环境下的推荐系统,在学术研究之外,让读者熟悉工业界推荐系统的一些基本方法和流程步骤,包括推荐系统的业务流程、主要业务模块; 推荐系统的架构设计和线上系统的A/B测试。第3章是机器学习算法基础知识,从机器学习算法基本过程和基本分类入手,逐步介绍各个类别的传统机器学习方法,包括线性回归算法、逻辑回归算法、决策树算法、朴素贝叶斯算法、神经网络及深度学习基础知识。虽然本书不是专门讲解机器学习的,但是在本章中,作者试图将机器学习中的一些经典概念借助各种类比的方式讲通讲透,例如,梯度下降的直观理解、正则化的动机、激活函数的作用、深度神经网络为什么有效等。
第4章开始进入推荐算法的学习,介绍近二十年来最经典的推荐算法,包括两种非个性化推荐算法、基于内容的推荐算法、基于邻域的协同过滤算法(基于用户的协同过滤和基于物品的协同过滤)、基础的矩阵分解的推荐方法和它的多种改良变体、两类与基于物品协同过滤方法相关的改良方法: SLIM和FISM算法。第5章针对推荐系统领域内一个具有代表性的应用场景——点击率(Click Through Rate,CTR)预估进行专门介绍,主要包括CTR的概念和CTR典型算法两方面。其中,CTR算法包括逻辑回归模型、因式分解模型、梯度提升树模型、梯度提升树与逻辑回归的组合模型,以及基于深度学习的几种CTR模型。第6章重点介绍几种最前沿的基于深度学习技术的推荐算法,首先讲解为什么在推荐系统中引入深度学习的作用与动机,然后介绍几种典型的基于深度学习的推荐算法,包括基于深度学习的矩阵分解推荐算法(DeepMF)、基于深度学习的协同过滤推荐算法(NCF)、基于深度学习的物品协同过滤算法(DeepICF),最后介绍基于图神经网络的协同过滤算法和混合推荐算法。第7章为实战环节,以百度飞桨官方教程中推荐系统案例为参考样例,带领读者以一个公开电影数据集MovieLens作为数据集素材,依赖百度飞桨深度学习框架,从零开始搭建一个神经网络推荐模型,并以B/S架构将推荐模型部署为网络应用,模拟在线电影推荐的功能,加强读者对推荐系统的理解和运用。
第8章介绍推荐系统领域现存的一些问题和挑战,包括推荐系统中的冷启动问题、数据稀疏问题、推荐的可解释性问题、大数据处理与增量计算问题、推荐数据偏差问题、推荐系统的时效性问题、多样性问题和用户意图检测问题。书中算法章节都采用理论与实践相结合的方式,对算法的描述都提供了相应的实验代码,其中,基于深度学习的多种算法还可以在百度飞桨AI Studio上进行部署和运行,链接为。读者阅读本书的同时游戏角色,可以进行代码实战,加深对深度学习理论及模型的理解。本书面向智能推荐系统领域的工程师、研发人员、在校大学生、研究生,以及对个性化推荐系统感兴趣的读者。通过对本书的深入学习,读者将熟悉各种类型的智能推荐算法,针对不同场景,开发合适的推荐应用。作为人工智能大方向下的一个子领域,尽管推荐系统的发展仍存在诸多问题,但其对于如今“信息过载”大背景下的互联网产品具有重要的意义和作用,是产研结合的一门科学,希望本书能为广大读者学习推荐系统开发或推荐算法研究带来价值。作者2022年12月
more >
文章来源:http://www.tup.tsinghua.edu.cn/booksCenter/book_09499401.html