(六)推荐系统学习路径
1. 初阶
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
0 | 掌握机器学习和深度学习的基础知识 | 【基础】 | 具体学习路径参考下面链接的“初阶”部分:https://www.xiaogeedu.net/sys-nd/191.html |
1 | "五环"脉络梳理 | 【快速入门】 作为一个前菜入门,讲的挺生动的,也很容易看完 | 想学习推荐系统,如何从小白成为高手? - 石塔西的回答 - 知乎 |
1‘ | 一张二维表格,一个拓扑图,一条时间线 | 【快速入门】 作为一个前菜入门,讲的挺生动的,也很容易看完 | 想学习推荐系统,如何从小白成为高手? - 阿里巴巴大淘宝技术的回答 - 知乎 |
3 | 《推荐系统 Recommender systems: an introduction》by Jannach D, Zanker M, Felfernig A, et al. | 【大局观】【经典算法】 因为这本书年代比较久远,没有涵盖最新的模型和算法,所以就当作打基础的书籍来看 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgkb2HuwYo9N3p5gE.pdf 这本书内容覆盖较全面,可以认为是2010年前推荐系统论文的综述集合。理论相对简单,不会有太多难懂的公式。这本书最大的优点是对推荐系统做了一个很好的整理和概括,几乎概括了推荐系统所涉及的每一个模块,为读者上了一堂很好的推荐引擎架构课。看过这本书后,基本上能对推荐系统有一个清晰地理解和相对完整的把控。关于本书,图灵社区曾做过一次访谈:《Dietmar Jannach和Gerhard Friedrich教授谈推荐系统的最新研究方向》(2013年) |
3‘ | (optional)推荐系统公开课——王树森 | 【大局观】 推荐的人没有其他的几本多,但是因为是为数不多的视频资源,所以也放在了这里,喜欢看视频的可以看这个 | https://space.bilibili.com/1369507485/channel/collectiondetail?sid=615109 YTB:https://www.youtube.com/watch?v=5dTOPen28ts&list=PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP |
4 | 《推荐系统实践》by 项亮 Or 《集体智慧编程 Programming collective intelligence: building smart web 2.0 applications》 | 【大局观】【实战】 这两本都是实战类的,可以先简单过一遍,再根据兴趣实现一些基础的算法 | 《推荐系统实践》: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgkr2HuwYovMLrIQ.pdf 《集体智慧编程》: 中文版: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgkr2HuwYo0PnHlAE.pdf 英文版: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgkb2HuwYorIbHWw.pdf 1. 这二者可以先任选一本,花两三天看一遍之后,建立对推荐系统的认识,后续再逐步对各个模块进行深入,比如召回模型、精排模型、混排、样本采样策略等。 2. 通过结合《推荐系统实践》以及《集体智慧编程》等,自己尝试编码实现类似协同过滤,基于内容的推荐中最基本的算法。这样对算法的流程等都会有一定的熟悉。 |
5 | 《深度学习推荐系统》by 王喆 | 【深度学习】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgkr2HuwYoiN23qwc.pdf 这本书介绍了使用深度学习技术来构建推荐系统的方法。它包括基于神经网络的推荐、基于自编码器的推荐、基于图神经网络的推荐等。书中提供了很多的代码和实践案例,并且适合有一定深度学习基础的读者。 == 推荐且只推荐这一本,这本书全部都是重点,前几章的知识点都得会,后面涉及到工程的东西可以先了解即可 |
6 | 模型介绍:AI-RecommenderSystem | 【大局观】 这个repo总结了一些经典算法模型和技术,并尝试用浅显易懂的语言把每个模型或者算法解释清楚。 可以作为查缺补漏用。 | https://github.com/zhongqiangwu960812/AI-RecommenderSystem 此次整理通过CSDN博客+GitHub的形式进行输出, CSDN主要整理算法的原理或者是经典paper的解读, 而GitHub上主要是模型代码复现。 |
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
1 | 《互联网大厂推荐算法》by 石塔西 | 【应用】【业界最新】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgvr_HuwYouuv-ugU.pdf https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgwL_HuwYopLvozAY.pdf 王喆的《深度学习推荐系统》和石塔西的《互联网大厂推荐算法》,这两本书囊括了推荐系统从实习到秋招的所有问题,基本上所有面试的问题都能在这里面找到答案,值得反复阅读 == 本书所讲的都是各互联网大厂当下主流的推荐算法。本书不会讲述协调过滤、矩阵分解这 类“经典但过时”的算法,尽管它们当下仍可能有用武之地,但绝非互联网大厂的主力算 法,也不是面试时的考察重点。另外,针对一些著名的前沿算法,由于其实现相当复杂, 复现效果也比较有争议,且不是业界主流算法,因此本书也没有在它们身上浪费笔墨。 |
2 | (optional)推荐系统遇上深度学习系列(1~27) | 【深度学习】 推荐的人不多,但是点赞的数目很多,而且整个系列很完整一共有27篇文章 | https://www.jianshu.com/p/152ae633fb00 |
3 | 《推荐系统:技术、评估及高效算法Recommender systems handbook》 | 【查字典用】 | 中文版: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgwb_HuwYogPLVqAI.pdf 英文版: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgwL_HuwYogKjfogQ.pdf 这本书被很多人称为“枕边书”。全书共有六百多页,目前已修订至第二版,中文译本也已经发行。对于想把推荐作为研究方向一直做下去的人来说, 这本书必看!这本书以专题的形式,涉及到了推荐系统相关的方方面面。每个专题都会列出专题中涉及到的论文及将来的发展趋势, 具有很好的指导作用,既可作为入门理论导读,又可作为特定问题的资料索引。 |
4 | 《Music recommendation and discovery》by Celma O. | 【应用】【音乐推荐】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgv7_HuwYomIfbsgY.pdf 这本书以音乐推荐为内容,对音乐推荐的需求和问题、常用做法和效果评价做了一个大体的介绍,关于效果评测部分的内容值得细读。 |
5 | 《词义消歧:算法与应用Word sense disambiguation: Algorithms and applications》 | 【关键词推荐】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgwL_HuwYo2o2_vAY.pdf 如果涉及到关键词推荐,或是文本推荐, 则可以查阅该书 |
6 | 工业界应用 | 【应用】 | 下面链接直接拉到“推荐系统工业界应用”这个部分:http://www.semocean.com/%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99/ 有的链接失效了,有的需要用百度网盘 |
7 | 推荐系统项目代码 | 【实战】 | Mrec(Python) Crab(Python) Python-recsys(Python) CofiRank(C++) GraphLab(C++) EasyRec(Java) Lenskit(Java) Mahout(Java) Recommendable(Ruby) |
8 | 数据集推荐 | 【数据集】 | 常用数据集: 1. Amazon: 2. Alibaba: 3. Retail Rocket: 4. Book Crossing: 5. Netflix: 6. Movie Lens: 7. CiaoDVD: 8. Film Trust: 9. Yahoo Music: 10. Amazon Music: 11. LastFM: 12. Million Song Dataset: 13. Steam Video Games: 14. Jester: 15. Chicago Entree: 16. Anime: 17. SNAP: 18. Grouplens: 19. Yahoo Research: 20. LibRec: 另一个数据集汇总: |
9 | FunRec by Datawhale | 【面试】 | 本教程主要是针对具有机器学习基础并想找推荐算法岗位的同学。教程内容由推荐系统概述、推荐算法基础、推荐系统实战和推荐系统面经四个部分组成。本教程对于入门推荐算法的同学来说,可以从推荐算法的基础到实战再到面试,形成一个闭环。 |
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
1 | 《计算广告》by 刘鹏 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgv7_HuwYonP-B5gQ.pdf 广告算法相比推荐算法,涉及到到广告主、用户、平台三方博弈,因此业务上比单纯推荐算法复杂很多。且业务上,各个公司的核心指标和数据很多都是商业机密,比较难找到公开的最新技术细节。所以,想在广告算法领域深入的话,还是要尽可能的去业界大公司广告部门进行实习/工作,在工作的过程中深入学习公司的具体业务和技术文档,才能逐步建立起这个领域的知识面。入门的资料可以看看刘鹏老师的《计算广告》,很经典的书。 关于广告出价的理解,这里推荐其他知友的3篇文章,写得非常好(这里只给链接,侵删):(1)江申:申探社:深入互联网广告中的出价模式(上)— 基础出价模式 https://zhuanlan.zhihu.com/p/87606755 (2)江申:申探社:深入互联网广告中的出价模式(中) — 智能出价模式 https://zhuanlan.zhihu.com/p/88522899 (3)江申:申探社:深入互联网广告中的出价模式(下) — 联盟,RTB和RTA | |
1‘ | 计算广告学课程 by 刘鹏 | 计算广告学课程: 刘鹏(北冥乘海生)的计算广告学在线课程,网易云课堂上有, 讲的比较全,从计算广告学的发展历史上讲的,偏DSP视角 | |
2 | 看领域内论文 | 【论文】 | 这个repo是更新的比较勤的,但是量很大: https://github.com/hongleizhang/RSPapers 这个知乎链接下面有很多回答,有长有短: https://www.zhihu.com/question/25566638/answer/337012082 在不断跟进推荐系统论文的过程中,你会发现推荐系统会借鉴各个领域的方法, 下面是一些借鉴其他领域方法的一些文章: 《DRN: A Deep Reinforcement Learning Framework for News Recommendation》 《Deep Reinforcement Learning for List-wise Recommendations》 多任务学习 《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》 《Why I like it: Multi-task Learning for Recommendation and Explanation》 GAN 《IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models》 《CFGAN: A Generic Collaborative Filtering Framework based on Generative Adversarial Networks》 知识图谱 《DKN: Deep Knowledge-Aware Network for News Recommendation》 《RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems》 《Multi-task Learning for KG enhanced Recommendation》 《Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks》 Transformer 《Next Item Recommendation with Self-Attention》 《Deep Session Interest Network for Click-Through Rate Prediction》 《Behavior Sequence Transformer for E-commerce Recommendation in Alibaba》 《BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer》 RNN & GNN 《SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS》 《Improved Recurrent Neural Networks for Session-based Recommendations》 《Session-based Recommendation with Graph Neural Networks》 Embedding技巧 《Real-time Personalization using Embeddings for Search Ranking at Airbnb》 《Learning and Transferring IDs Representation in E-commerce》 《Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba》 |
3 | 复现推荐论文开源代码 | 【实战】 | 推荐系统tensorflow实战代码: https://github.com/princewen/tensorflow_practice?tab=readme-ov-file 读论文中你也许会有很多疑惑,如DeepFM这个Embedding如何共享的?DIN里面的Attention如何实现?解决这些疑惑的最好办法我认为不是读论文、百度别人写的博客,最好的方法就是去找开源的代码,试着复现也好,比着代码自己实现一遍也好,对你加深认识都有很大的帮助! 有一些开源的代码我已经帮大家整理的差不多了,在下面的github中(以后不要再问我数据或者地址的问题了,数据都在github的readme中):https://github.com/princewen/tensorflow_practice 不管对一篇论文你看懂了还是没看懂也好,都去尝试复现一遍吧,真的很有帮助。 |
4 | 学习数据挖掘 | 【数据挖掘】 | 具体学习路径参考下面链接的“初阶”部分: |
5 | 关注会议,尤其是recsys | 【会议】 | AAAI : The National Conference of the American Association for Artificial Intelligence ACM RecSys : The ACM Conference Series on Recommender Systems ACM SIGKDD : The ACM SIGKDD Conference on Knowledge Discovery and Data Mining ACM SIGIR : The ACM International Conference on Research and Development in Information Retrieval https://link.juejin.cn?target=http%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttp%253A%2F%2Fsigir.org%2F ACM CIKM : The ACM International Conference on Information and Knowledge Management ICDM : The IEEE International Conference on Data Mining ICML : The International Conference on Machine Learning https://link.juejin.cn?target=http%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%2F%2Ficml.cc%2F IJCAI : The International Joint Conference on Artificial Intelligence NIPS: The Conference on Neural Information Processing Systems https://link.juejin.cn?target=http%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttp%253A%2F%2Fnips.cc%2F SDM : The SIAM International Conference on Data Mining WSDM : The International Conference on Web Search and Data Mining WWW :The International World Wide Web Conference |
6 | 相关技术博文 | 【博客】 | 1.blog.sciencenet.cn/home.php?mo… 3.zhan.renren.com/recommender… 4.groups.google.com/forum/#!for… |