码迷,mamicode.com
首页 > 其他好文 > 详细

推荐系统

时间:2019-02-09 10:38:09      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:能力   explore   view   href   很多   实验   复杂   tin   网络   

推荐系统是feed流背后的服务,从今日头条到手机百度、淘宝,所有app都有feed化的趋势,重要性不言而喻,这里说说我了解的推荐系统,有疏漏之处烦请指正。

相关资料

项亮的《推荐系统》想必都有耳闻,虽然成书较早内容和现在主流的embeding、神经网络方法有所不同,仍有助于了解领域相关知识。
较新的资料多是一些google等大厂的概述性paper,很有实用价值:
Ad Click Prediction: a View from the Trenches
Deep Neural Networks for YouTube Recommendations
Practical Lessons from Predicting Clicks on Ads at Facebook
Wide & Deep Learning for Recommender Systems
深度学习在搜索业务中的探索与实践

概述

从一条请求

排序

推荐系统的目标有很多需要考虑,点击率,时长,互动,最终判断是否上线的指标是留存,但是很难说清楚提升留存的原因,没有对留存直接建模,而是多模型融合,对点击、评论、时长和各类互动目标都训练一个模型,然后再调一个复杂的融合公式,以最后融合的分数作为排序的标准。
融合公式怎么弄,形式是加权求和还是累乘尚没有标准,超参数也是实验调出来的,自动搜参可以解决每次更新模型都要人工实验调整融合公式的烦恼;
多个模型带来的成本,解决方案是multitask,主要是共享神经网络的embeding部分,因为模型的大部分参数都在这部分。通常将相近的目标融合,或者密集的共享给稀疏的,这里同样没有行之有效的方法,需要尝试后给结论。

模型
lr,fm, mlp,通常都是几部分混合在一起,实践中约复杂拟合能力越强。

特征
推荐系统中一个item会大量展示,有大量数据做充分学习,id类特征作用最强,离散特征用处较小。

候选

传统是协同过滤和人工设计的规则召回,进化到使用模型,需要解决的问题是,从数量级亿级别的item中挑选出;需要保持多样性;

使用模型最直接的做法,对item 和 user 做embeding,问题抽象为从亿级别向量中寻找与给定向量内积最小的top k个向量。为了加速搜索过程,有kd-tree,ball-tree,fast ball tree等方法,效率都可以做到毫秒级。
另外一个困难时如何衡量一个召回的作用。

explore & exploit

冷启动:最简单的强插,要注意保量不足、过快。更有的可以做固定加权和动态加权,还有更理想的基于社交关系做冷启动。
多样性,同样很难衡量,有各种方法做打散,基于规则的,基于embeding向量算距离的,

推荐系统

标签:能力   explore   view   href   很多   实验   复杂   tin   网络   

原文地址:https://www.cnblogs.com/lessmore/p/recsys.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!