本书主要讲解推荐系统中的召回算法和排序算法,以及各个算法在主流工具Sklearn、Spark、TensorFlow等中的实现和应用。
书中本着循序渐进的原则进行讲解。首先,介绍推荐系统中推荐算法的数学基础,推荐算法的平台、工具基础,以及具体的推荐系统。其次,讲解推荐系统中的召回算法,主要包括基于行为相似的协同过滤召回和基于内容相似的Word2vec召回,并且介绍其在Spark、TensorFlow主流工具中的实现与应用。再次,讲解推荐系统中的排序算法,包括线性模型、树模型和深度学习模型,分别介绍逻辑回归、FM、决策树、随机森林、GBDT、GBDT+LR、集成学习、深度森林、DNN、Wide & Deep、DeepFM、YouTube推荐等模型的原理,以及其在Sklearn、Spark、TensorFlow主流工具中的实现与应用。最后,介绍推荐算法的4个实践案例,帮助读者进行工程实践和应用,并且介绍如何在Notebook上进行代码开发和算法调试,以帮助读者提升工作效率。
本书适合 AI、数据挖掘、大数据等领域的从业人员阅读,书中为开发者展现了推荐算法的原理、实现与应用案例。
本书系统、全面、深入地解析了推荐系统中的推荐算法,配有丰富的工程案例和源代码,可以帮助读者进行工程实践并在实际工作中应用
黄美灵 现任一线互联网公司的高级工程师,拥有多年大型互联网公司推荐系统和机器学习实战经验,现从事广告推荐、应用分发和资讯Feeds流推荐相关工作。
前 言
随着互联网行业的高速发展,人们获取信息的方式越来越多,从主动获取信息逐渐变为被动接收信息,信息量也呈爆发式增长。因此,人们已经从信息匮乏时代进入信息“过载”时代。人们对信息获取的有效性和针对性的需求随之出现,推荐系统也应运而生。推荐系统就是互联网时代的一种信息检索工具,推荐系统的任务就是连接用户和信息,创造价值。
推荐系统从20世纪90年代开始出现,逐渐成为一门独立的学科,并且在学术界和工业界应用中都取得了诸多成果。本书主要讲解目前学术界和工业界的一些主流、常用的推荐方法和工具。
首先从基础开始,介绍数学基础、具体的推荐系统,以及常用的推荐算法工具,包括目前主流的工具Sklearn、Spark MLlib、TensorFlow,并且介绍效率提升工具Zeppelin Notebook和Jupyter Notebook。
随后讲解推荐系统中的召回算法,包括常见的协同过滤和Word2vec两个算法,并且介绍这两个算法在Spark、TensorFlow主流工具中的实现。
接着讲解推荐系统中的排序算法——线性模型,包括常见的逻辑回归和FM两个算法,并且介绍这两个算法在Sklearn、Spark、TensorFlow主流工具中的实现。
然后讲解推荐系统中的排序算法——树模型,包括常见的随机森林、GBDT、GBDT+LR、集成学习算法以及最近出现的深度森林算法,并且介绍各个算法在Sklearn、Spark、TensorFlow主流工具中的实现。
之后讲解推荐系统中的排序算法——深度学习模型,包括深度学习在推荐算法中的应用、常见的DNN算法以及最近出现的DeepFM、Wide & Deep、YouTube推荐模型等,并且介绍各个算法在TensorFlow工具中的实现。
最后讲解电商平台的商品召回、音乐的评分预测、Kaggle竞赛Outbrain的点击率预估和电商商品点击率预估4个推荐算法的实践案例,并且讲解在Notebook上进行代码开发的实践案例和算法调试的实践案例。
本书主要对推荐系统中的常见方法和工具进行全面讲解,并且配合讲解算法原理、实现以及案例,通过本书可从基础到实践全面掌握推荐系统中的推荐算法。
学习本书内容需要具备以下基础:Python基础知识、Spark基础知识、TensorFlow基础知识、Scala基础知识、线性代数基础知识等。
本书面向以下各类读者:机器学习工程师、数据挖掘工程师、大数据工程师、各高校的研究生和高年级本科生等。
本书学习指南
第1部分 推荐系统的算法基础
第1章 数学基础
第2章 推荐系统介绍
第3章 推荐算法工具
本部分涵盖以下内容:
√推荐算法的基础知识讲解,包括数学基础知识的讲解,如对线性代数、概率与统计、损失函数、优化方法和评价方法等内容的介绍;
√对具体推荐系统的介绍;
√常用的推荐算法工具,如Sklearn、Spark MLlib、TensorFlow、Zeppelin Notebook和Jupyter Notebook
通过本部分的学习,可掌握数学基础、常用工具、推荐系统入门等相关知识
第2部分 推荐系统的召回算法
第4章 协同过滤——基于行为相似的召回
第5章 Word2vec——基于内容相似的召回
本部分介绍推荐系统的召回算法,包含常见的协同过滤和Word2vec
通过本部分的学习,可掌握常见的两个召回算法,以及其在Spark、TensorFlow主流工具中的实现,读者可以实现简单的召回方法开发,并可以实现具体的实践应用
第3部分 推荐系统的排序算法——线性模型
第6章 逻辑回归
第7章 因子分解机(FM)
第4部分 推荐系统的排序算法——树模型
第8章 决策树
第9章 集成学习
第5部分 推荐系统的排序算法——深度学习模型
第10章 深度学习在推荐算法中的应用
第11章 DNN算法
第12章 Wide & Deep模型
第13章 DeepFM模型
第14章 YouTube的深度神经网络模型
这几部分介绍推荐系统的排序算法,包括线性模型、树模型、深度学习模型:
√线性模型部分介绍逻辑回归、FM算法等内容;
√树模型部分介绍决策树、随机森林、GBDT、GBDT+LR、集成学习、深度森林等内容;
√深度学习模型部分介绍DNN、Wide & Deep、DeepFM、YouTube推荐模型等内容
通过这几部分的学习,可掌握常见的排序算法,以及其在Sklearn、Spark、TensorFlow主流工具中的实现,读者可以实现简单的排序方法开发,并可以实现具体的实践应用
第6部分 推荐系统的算法实践
第15章 实践——基于电商平台的商品召回
第16章 实践——基于逻辑回归的音乐评分预测
第17章 实践——Kaggle竞赛Outbrain的点击率预估
第18章 实践——基于深度学习的电商商品点击率预估
第19章 Notebook实践
本部分介绍推荐算法的具体实践,包括电商平台的商品召回、音乐评分预测、Outbrain的点击率预估和电商商品点击率预估4个推荐算法的实践案例,以及Notebook的使用方法(包括Zeppelin Notebook和Jupyter Notebook)
通过本部分的学习,可以帮助读者进行具体的工程实践和应用,以及掌握Notebook的使用方法,提升工作效率
在本书的编写过程中,参考了一些国内外文献,主要如下。
【第1章】1.4节“优化方法”,参考了张志华审校的《深度学习》一书中的第8章(英文版是由Ian Goodfellow、Yoshua Bengio和Aaron Courville编写的Deep Learning)。
【第5章】5.1节“Word2vec算法”,参考了Xin Rong在2016年发表的论文Word2vec Parameter Learning Explained。
【第6章】6.1节“逻辑回归算法”,参考了李航编写的《统计学习方法》的第6章。
【第7章】7.1节“FM算法”,参考了美团技术文章《深入FFM原理与实践》、Steffen Rendle在2010发表的论文Factorization Machines、Yu-Chin Juan在2016年发表的论文Field-aware Factorization Machines for CTR Prediction。
【第9章】9.1节“GBDT+LR算法”,参考了He Xinran在2014年发表的论文Practical Lessons from Predicting Clicks on Ads at Facebook。9.2节“深度森林算法”,参考了周志华在2018年发表的论文Deep Forest: Towards an Alternative to Deep Neural Networks。
【第11章】11.2.2节“Attention机制”,参考了Colin Raffel在2016年发表的论文Feed- forward networks with attention can solve some long-term memory problems。
【第12章】参考了Heng-Tze Cheng在2016年发表的论文Wide & Deep Learning for Recommender Systems。
【第13章】参考了Huifeng Guo在2017年发表的论文DeepFM: A Factorization-Machine based Neural Network for CTR Prediction。
【第14章】参考了Paul Covington在2016年发表的论文Deep Neural Networks for YouTube Recommendations。
另外,书中参考的部分内容未能找到原始出处和作者,在此对相关作者表示衷心感谢。
何娟、何丹、黄春林参与了全书的编写、整理及校对工作。邱泰生、吴德龙对全书提出了宝贵意见。
由于笔者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者也可以通过微信公众号“推荐系统算法实践”、邮箱403122592@qq.com和QQ群715526135 联系到我,期待能够得到读者朋友的真挚反馈,在技术之路上互勉共进。
本书在写作的过程中得到了很多朋友及同事的帮助和支持,在此表示衷心感谢!
在工作中笔者也得到了很多同事的指导、支持和帮助,尤其感谢王雪晖、吴俊彦、邱泰生、KUN BAI、吴德龙、江伟森、李钊、吴春成、周远远、林伟兵、黄韬、文双炳,米成锦、郭嘉杰、谢维邦、彭佑辉、钟俊葳、郭鑫鹏、谢毅、陈庆麟、胡荣杰、何锦潮、戴智君、张燕、林也、邱鑫、代锋、骆顺昌、李阳、熊先明、樊鹏等给予的支持与帮助。
感谢电子工业出版社的付睿编辑,她不仅积极策划和推动本书的出版,而且在写作过程中提出了极为详细的改进意见。感谢电子工业出版社的李云静、王中英编辑为本书做了非常辛苦和专业的编辑工作。
感谢我的父母和妻子,有了你们的帮助和支持,我才有时间和精力去完成本书的写作。
最后,将此书献给热爱AI和大数据技术的朋友们!
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
√提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
√交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/37040
这本书就是垃圾,这么长时间了还没数据集,全书就是在那里粘贴代码。
这本书怎么搞的,好多代码直接略。而且书中百度链接,群,作者都加不上,建议这种书代码,数据集应该把配套资源做好
请问:有没有和本书配套的课件?ppt和pdf都可以,谢谢
这本书没有数据集吗?那怎么实践?只有算法没有数据集算法的正确性都得不到验证
你好,阅读时候发现第五章数据还不全,就是只有训练数据,而没有配置文件,无法根据id去找相应的word