[转]推荐系统入门经验

Nov 5, 2019

1、第一阶段 - 掌握机器学习基础知识,打好基础

学习推荐系统,还是要掌握一定的机器学习知识的,从特征获取、特征处理、特征选择,到基本的机器学习模型如逻辑回归、GBDT等等,都需要你熟练掌握。

其中比较重要的就是特征这块,因为推荐系统中会面临大量的离散特征,对离散特征的处理方式需要有一定的了解。

这里还是推荐李航博士的《统计学习方法第二版》。

然后就是神经网络,推荐系统中神经网络运用非常多,神经网络中基础的如循环神经网络、卷积神经网络,以及一些模型结构的搭建、训练的技巧如Dropout、BN等等也需要有所理解。

这个推荐吴恩达的深度学习课程以及李宏毅老师的深度学习课程。

2、第二阶段 - 阅读推荐系统经典书籍,入门推荐

推荐系统市面上的书不是很多,而且写得往往不够深入,仅能够起到一定的入门作用,毕竟推荐在各个公司还是比较核心的内容,是比较受到保护的。但经典的书籍还是有的,入门的话推荐两本。

一是大家所熟知的《推荐系统实践》,这本的话对于大家了解推荐系统中最基本的算法如协同过滤、推荐系统中常用的评价指标、使用上下文和社交网络进行推荐、如何解决冷启动问题都有一定的帮助。

二是最近市面上新出现的《推荐系统开发实战》一书,虽然这本书我还没有看过,但不少的群友反映这本书对于入门推荐系统来说十分友好。理论和实战相结合,是挺不错的一本“小白实操书”。

M9YoRJ.jpg

然后还有的一些书籍如《推荐系统与深度学习》和《推荐系统-技术、评估及高效算法》,大家感兴趣的话也可以进行阅读。

3、第三阶段 - 精读推荐系统经典论文,掌握诀窍

在理解基本的推荐知识之后,你大概会了解到推荐具体是做什么的,那么其问题又可以分成几个方面。如召回、CTR预估、Learning to Rank等等。这个时候我建议的话就是开始阅读经典论文了。下面整理一些我看过的比较经典的论文吧,可能有遗漏,也欢迎大家补充。

FM:《Factorization Machines》

FFM:《Field-aware Factorization Machines for CTR Prediction》

DeepFM:《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》

Wide & Deep:《Wide & Deep Learning for Recommender Systems》

DCN:《Deep & Cross Network for Ad Click Predictions》

NFM:《Neural Factorization Machines for Sparse Predictive Analytics》

AFM:《Attentional Factorization Machines:Learning the Weight of Feature Interactions via Attention Networks》

GBDT + LR:《Practical Lessons from Predicting Clicks on Ads at Facebook》

MLR:《Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction》

DIN:《Deep Interest Network for Click-Through Rate Prediction》

DIEN:《Deep Interest Evolution Network for Click-Through Rate Prediction》

BPR:《BPR: Bayesian Personalized Ranking from Implicit Feedback》

Youtube:《Deep Neural Networks for YouTube Recommendations》

当然有些其他的论文也十分经典,咱们放在后面继续讲。

读论文也是需要一定的技巧,不同的人可能关注的点不一样,所以导致阅读重心不一样。对于我来说,我比较关注的点是这个论文要解决什么样的问题,是如何解决的,以及作者从哪几方面出发,使用什么评价指标来评判模型的好坏。至于效果,论文嘛,可信可不信,看看就好了。

4、第四阶段 - 复现推荐论文开源代码,加深理解

读论文中你也许会有很多疑惑,如DeepFM这个Embedding如何共享的?DIN里面的Attention如何实现?解决这些疑惑的最好办法我认为不是读论文、百度别人写的博客,最好的方法就是去找开源的代码,试着复现也好,比着代码自己实现一遍也好,对你加深认识都有很大的帮助!

有一些开源的代码我已经帮大家整理的差不多了,在下面的github中(以后不要再问我数据或者地址的问题了,数据都在github的readme中):https://github.com/princewen/tensorflow_practice

不管对一篇论文你看懂了还是没看懂也好,都去尝试复现一遍吧,真的很有帮助。

5、第五阶段 - 持续跟进最近推荐论文,思维发散

在不断跟进推荐系统论文的过程中,你会发现推荐系统会借鉴各个领域的方法, 持续跟进最近推荐论文,对我们学习其他领域如NLP、图像领域、强化学习等等都会有所帮助。接下来列举一些借鉴其他领域方法的一些文章吧,也算是对第三部分的一个补充。

强化学习

《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》

福粒:

  1. 论文下载

  2. 微信搜索:小小挖掘机

M9NpkT.jpg