PREFACE
前言
为什么要写这本书
2019年,我正式接触推荐系统。在此之前,在我的印象中,推荐系统就是利用机器学习算法或者深度学习算法去改进推荐效果,所以那时我把主要精力放在了研究基础的算法理论和一些经典算法模型上。当时,市面上大多数与推荐系统相关的书籍是讲算法理论或者代码实践的。这其实会给新手造成一种错误的引导——只要掌握了算法理论和复现算法,就可以搞好推荐系统。
当我真的参与推荐系统的工作以后我才发现,推荐系统是一套很复杂的系统,不仅涉及算法,还涉及对推荐业务的理解,以及不同推荐链路的作用、推荐策略的应用等内容。可惜的是,对于算法以外的内容,尤其是推荐系统在不同业务场景中的应用及对应的设计原理,无论媒体还是图书都少有涉及。
在开始的时候,我对推荐系统的理解也处于懵懵懂懂的状态,但“功夫不负有心人”,在遇到不懂的问题时我就记下来,然后去和同行交流、查找文献、自己实验,努力弄明白问题是如何产生的,以及怎么去解决或者规避问题。慢慢地,大量的问题被我解决。在这个过程中,我收获很多,并有幸得到了不少同行的认可。回顾之前遇到的问题和得到的解决方案,我发现很多内容对于当前处于迷茫状态的推荐系统从业者很有价值,可以帮他们迅速走出困境,提高工作效率,激发自我成长。所以我对自己这几年的经验和教训进行了总结与提炼,最终形成了这本书。
读者对象
本书适合所有推荐系统相关从业者,尤其是从初级向中高级进阶的推荐算法工程师阅读。另外,互联网产品经理、互联网推荐相关(如信息流、电商、短视频等)从业者也可以通过本书了解推荐系统底层的工作原理,进而帮助自己更好地应对本职工作。
本书特色
相比于其他同类书,本书的主要特色如下。
1)不介绍过于基础和理论化的内容,完全根据推荐系统从业者的实际工作展开。比如,本书对推荐系统的剖析完全基于不同互联网业务场景中的应用。本书开篇就从与各个App的交互页面开始,一步步地深入讲解整个推荐流程是如何在App中进行流转和产生作用的,包括电商业务、视频推荐业务、广告业务、信息流业务和拉活促销业务等场景。
2)按推荐系统的流程(冷启动、召回、精排、粗排和重排)进行精讲,这样不仅能让读者更好地理解内容,还能让读者把所学内容直观对应到实际工作中。
3)囊括所有重点内容,比如用户冷启动、物料冷启动和流量分配机制、协同过滤召回、双塔召回、Word2vec召回、图召回、树网络召回、模型蒸馏、工程优化、传统DNN模型、交叉模型、偏置建模、因果模型、序列建模和多目标建模。
4)对模型的调参进行精讲,这是不少有关推荐系统的书讲得不够好但又非常重要的内容。书中讲解了常用的机器学习模型的调参,如决策树调参、随机森林调参、XGBoost调参、LightGBM调参和全局优化调参等,并深度解读了神经网络调参,如DNN网络深度和宽度的影响、激活函数的选择、优化器的选择、各个损失函数的原理和适合的业务场景、过拟合和欠拟合等相关问题。
如何阅读本书
这是一本基于实际工作场景指导中高级推荐算法工程师高质量推动推荐系统落地的专业工具书。本书不针对零基础从业者,而是帮助初级算法工程师向中高级进阶,帮助推荐算法工程师从底层理解推荐系统在实际业务场景中出现的各种问题的本质,并按照推荐系统工作流程逐一破解。本书既是作者在阿里巴巴做推荐算法工程师的工作总结,又是一套完整的推荐系统高质量落地的解决方案。
本书共包括11章。
第1章 主要介绍推荐系统的总体情况及其在各个互联网业务场景中的落地,包括构建推荐系统可能面临的问题、电商推荐系统、视频网站推荐系统、广告业务推荐系统、信息流推荐系统、拉活促销推荐系统。
第2章 介绍推荐系统的整体架构。本书将推荐系统的框架分为冷启动链路、召回链路、粗排链路、精排链路和重排链路。针对各个链路的原理和应用,本章进行了整体梳理。通过这一章,读者可以对推荐系统形成比较深刻的整体认知。
第3章 对推荐系统所需要的数据和特征处理进行深度阐述,主要包括数据的收集、非结构化数据的结构化清洗、连续特征处理(标准化、无监督分箱和有监督分箱)等内容。
第4章 对推荐系统的线上指标和线下指标进行深度解读。此外,因为AB实验是推荐系统中重要的一环,所以本章也对AB实验的设计和需要注意的细节进行了一一讲解。
第5、6章 主要对机器学习和神经网络的设计及调参进行了详细的解读。这是本书的重点,也是很多推荐算法工程师的难点。这部分内容非常丰富,包括XGBoost的重要参数调优、集成学习最大化推荐效果利用、DNN网络深度和宽度的影响、激活函数的选择、优化器的选择、各个损失函数的原理和适合的业务场景、过拟合和欠拟合等。
第7~9章 分别对召回层、精排层、粗排层进行详细解读,包括协同过滤召回、双塔召回、Word2vec召回、图召回、树网络召回、传统DNN建模、偏置建模、模型可解释性、因果建模、序列建模、模型蒸馏、特征蒸馏、近离线计算等重点内容。
第10章 主要介绍精排模型的模型分析方法和定位优化方向、重排模型(PRM、生成式重排模型)和混排(混排的原理和强化学习在混排中的应用)。
第11章 主要介绍冷启动环节的设计,主要包括新用户如何冷启动、新物料如何冷启动和冷启动涉及的流量分配算法。这是本书的特色内容。
勘误和支持
由于作者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。欢迎提出宝贵意见,可发送邮件至邮箱tomtang110@outlook.com或者知乎咨询Tang AI,期待你的真挚反馈。
致谢
感谢同学和朋友对我的指导及帮助,尤其是冯洁、刘智柯花费了很多时间对本书格式进行校正。
感谢我的父母,感谢他们将我培养成人,并时时刻刻鼓励我,让我充满信心和力量!
谨以此书献给广大推荐领域从业者,希望行业越来越好。