龙空技术网

推荐系统常用模型总结

七月在线 1076

前言:

而今同学们对“推荐系统常用算法那”大约比较关注,你们都想要分析一些“推荐系统常用算法那”的相关知识。那么小编在网络上收集了一些对于“推荐系统常用算法那””的相关资讯,希望各位老铁们能喜欢,大家一起来学习一下吧!

9本电子书放文末,自取~

推荐系统的不同阶段

推荐系统的模型部分由召回层,排序层和重排层组成。而在进入召回阶段之前,通常需要构建索引和特征,且排序阶段还可以划分成粗排和精排,以便更精准,更有效地给用户推荐到合适的商品。

推荐系统的五个阶段

显然,从构建特征到得到最终的推荐列表,我们可以得到如下几个阶段。

索引&特征: 会根据内容特性提前建立若干种类型的索引。

召回阶段: 用户请求时会从各种索引种取出千/万 条item。

粗排阶段: 针对这上千/万条item,进行第一遍打分,再筛选出几百条或者千条。这个阶段的排序模型一般都比较简单,能够过滤掉一些与用户兴趣明显不相关的。

精排阶段: 得到几百条item后,精排阶段会建立相对精细的模型,根据用户的画像,偏好,上下文,结合业务目标进行排序。一般精排后返回50-100条给到engine侧。

重排阶段: engine 侧拿到精排的50条item。还会做很多的人工干预和产品逻辑,比如item之间的多样性,产品策略逻辑,比如热门,置顶,多种内容之间的位置混合等等。最终会返回5-10条左右的item,曝光给客户端。根据业务特性,在线流程还有许多比较细的模块,比如去重服务,避免给用户推荐重复的内容。特征预处理,特征抽取等模块。

召回阶段和排序阶段的特点

简单总结下召回阶段和排序阶段的特点如下:

召回阶段:候选集规模较大、模型和特征相对简单,速度快。排序阶段:候选集规模不大,目标是保证排序的精准,一般会使用复杂的模型和特征。推荐系统召回阶段常用模型召回模型的演化关系

召回模型从传统的召回算法,如基于用户的协同过滤、基于商品的协同过滤、基于矩阵分解的召回算法等,演变到embedding相关的模型,如 Item2Vec 召回,FM召回,以及基于Graph Embedding 的召回模型,如DeepWalk,Node2Vec等模型,对于一些Item还有包含Word2Vec、FastText、Bert等基于内容语义的召回算法,当然还有如Youtube DNN、DSSM等基于深度学习的召回算法,将比较常用的召回算法整体成如下图所示的思维导图,方便大家有一个比较系统的认识。

多路召回的必要性

在召回阶段,我们通常要考虑召回率和计算速度,以新闻推荐为例,为了保证用户尽可能地感兴趣,同时还要兼顾热点和时效性数据,常常会使用多路召回。下图显示了多路召回的方法。

推荐系统排序阶段常用模型排序算法的演变关系

排序算法大体经过了初期阶段(2010年前)、中期阶段(2010年-2015年)和深度阶段(2016年-至今),其中,初期阶段主要是人工特征 + 线性模型;中期阶段主要是自动特征交叉 + 线性模型或树模型;深度阶段主要是基于神经网络的各种模型。

初期阶段,主要是进行各种特征工程,模型主要使用LR模型。

中期阶段,进行二阶、 高阶特征交叉,使用FM/FFM、 GBDT+LR、 XGBoost等树模型。

深度阶段, 开始将特征映射至多维空间中, 然后再通过多层网络去学习特征之间的相关性( FNN、 PNN、 Wide & Deep、NFM、 AFM、 DeepFM、 xDeepFM等)。

按照不同的阶段,将常用的排序模型整理成如下图所示的思维导图。

当然,上面整理的召回算法和排序算法只是一部分,供大家进行参考,也可以将你自己学习过程中用到的相关算法加以整理,方便学习。

看完本篇如果对你有用请三连,你的支持是我持续输出的动力,感谢,笔芯~

↓ ↓ ↓以下9本书电子版免费领,直接送 ,想要哪本私我下说声,我发你↓ ↓ ↓

《2022年Q3最新大厂面试题》电子书,部分截图如下:

标签: #推荐系统常用算法那