本文是小小挖掘机2020年货的第三篇,主要回顾一下2019年转载的推荐系统相关的文章。后续还会有更多的年货送给大家,希望大家持续关注呦~。首先感谢以下公众号提供的支持:
本文将从推荐系统方法论、论文汇总、企业实践、未来探索等方面展开。
1、方法论
学习推荐系统,首先需要对推荐系统的整个流程有一个宏观的认识,那么下面几篇文章能够帮助你快速了解推荐系统的全茂:
推荐算法三视角一文中,通过一张二维表格,一个拓扑图,一条时间线这三种视角来看待推荐算法,值得阅读。
而下面的文章,完整介绍了电商搜索的整个流程:包括搜索前、搜索中、搜索后不同阶段的产品策略以及技术手段。
通过上面文章的理解,一个推荐系统大都包含数据处理、特征工程、模型训练、上线验证及效果评价等过程。下面就从这几部分分别展开。
对于数据的获取,一般首先想清楚要获取哪些数据,制订好采集的指标规划,然后通过埋点使原始数据落入日志,最后通过ETL & SQL和数据清理流程来获得数据。数据获取之后,需要进行数据预处理和特征工程,下面两篇文章带你了解数据处理和特征工程方面的工作:
然后是模型的训练,模型的选择有多种多样,比如协同过滤算法和FM算法。基于协同的SlopeOne推荐算法原理介绍和实现一文介绍了SlopeOne算法的实现,SlopeOne是基于不同物品之间的评分差的线性算法,预测用户对物品评分的个性化算法。文中的例子第二步写反了,在看的过程中要注意。一文看懂 FM ( Factorization Machine ) 模型的各种变式一文介绍了FM算法以及相关的改进工作,如Robust FM、Discrete FM、SFTRL FM等等。而目前深度学习模型也广泛应用在推荐系统中:
CCPM & FGCNN:使用 CNN 进行特征生成的 CTR 预测模型
在模型训练后,需要对训练的模型进行效果评价,评价一般分为离线评价指标和在线评价指标,常见的离线指标包括mse 、rmse 、auc 、ndcg 、roc 等,而线上指标包括ctr 、cvr 、gmv等。
离线效果评价可以在线下计算,但是在线指标往往看的不是绝对值,而是与Base模型的比较,通常通过ABtest框架进行衡量:
2、论文汇总&数据集
下图对近年来推荐系统和CTR预估工业界影响力较大的论文做一个简单的思路梳理:
下面几篇文章对部分推荐系统与CTR预估的论文进行了汇总:
KDD 2019高维稀疏数据上的深度学习Workshop论文汇总
想要亲身实践一个算法,对应的数据集是必不可少的,下文汇总了推荐系统相关的数据集列表:
3、企业实践
当了解了推荐系统的宏观之后,了解一些企业中的实践也是必要的,可以了解学习不同企业针对不同的业务场景所采取的解决方案,下面的文章汇总了阿里、点评、网易、Hulu、爱奇艺、贝壳等公司的推荐实践:
4、经验&未来思考
那么对于推荐系统的未来,不同的前辈会有不同的看法:
最后,放两篇推荐系统入门的文章,希望对大家有所帮助: