Gorse推荐系统指南:制定推荐策略1推荐算法介绍:最新推荐最热推荐基于物品相似推荐基于用户相似推荐协同过滤推

Gorse推荐系统实现了很多类型的推荐算法,既包括了非个性化推荐算法,也包括了个性化推荐算法。实际上,没有一个推荐算法是万能的,只有将它们组合利用才能实现最好的推荐效果。

首先,本文介绍一下Gorse中的各类推荐算法,每一类推荐算法都有各种的优缺点。

某些场景下,用户会喜欢特定类型的物品,例子某游戏平台用户钟爱解谜类游戏、某视频平台用户喜欢看小姐姐跳舞。根据用户的历史记录和物品之间的相似度,就可以完成相似物品推荐。所以,相似物品推荐的关键在于计算物品之间的相似度。

Gorse计算物品相似度由三种模式,可以在配置文件中设置:

相似的用户之间也通常存在共同的喜好,例如计算机专业的学生一般会购买计算机类书籍、长辈喜欢购买保健品。

Gorse计算用户之间相似度同样有三种模式,同样在配置文件中制定:

基于相似物品和相似用户的推荐算法要求被推荐的物品需要通过其他用户或者其他物品和被推荐用户之间建立联系,这就局限了筛选推荐内容的范围。Gorse中的协同过滤推荐使用矩阵分解算法来推荐物品,训练算法将用户和物品映射为一个高维空间中的向量,用户对物品的喜好程度就是用户向量和物品向量的乘积。然而,协同过滤推荐的缺点就是无法利用用户和物品的标签信息,也无法处理新用户和新物品。

是否有一种算法可以结合相似推荐和协同过滤推荐各自的有点?那么就是Gorse推荐系统中的点击率预测模型。Gorse中的点击率预测模型为因子分解机,除了为每个用户和物品生成向量之外,还会给每个用户标签和物品标签生成向量,虽然因子分解机的效果不错,但是一般不会把它作为粗排的推荐算法。和协同过滤推荐、相似推荐相比,因子分解机预测时的计算复杂度非常高。Gorse的点击率预测模型的功能就是对上述推荐算法的结果进行融合排序。

单独的推荐算法无法很好地完成推荐任务,需要将多个推荐算法进行组合。Gorse提供了一个生成推荐结果的流程,我们可以在流程下制定适合于具体场景的推荐策略。推荐流程由两大部分构成:离线推荐和在线推荐。离线推荐主要从全体物品中为每个用户挑选推荐物品,缓存到Redis中。而在线推荐主要从拉取缓存的推荐结果,接着从推荐结果中删除已读内容,如果缓存的推荐结果已经用完,那么使用备用推荐算法实时生成推荐内容。

离线推荐由三阶段构成:

由于目前Gorse还未提供A/B测试功能,因此需要通过预览功能感性地制定推荐策略。

在线推荐有两个任务:

#Thefallbackrecommendationmethodforcold-startusers:#item_based:Recommendsimilaritemstocold-startusers.#popular:Recommendpopularitemstocold-startusers.#latest:Recommendlatestitemstocold-startusers.#Thedefaultvaluesis["latest"].fallback_recommend=["item_based","latest"]通过简单的配置,就可以得到一个支持多路召回、兼顾探索利用、能够服务降级的推荐系统了。

THE END
1.推荐算法——基于物品的协同过滤算法标签: 算法 收藏 基于用户的协同过滤算法在用户增长的时候,相似度计算的计算会越来越困难。基于物品的算法给用户推荐他们之前喜欢的物品相似的物品。 算法步骤 计算物品之间的相似度 根据物品的相似度和用户的历史行为给用户生成推荐列表 相似度公式如下: wij=|N(i)∩N(j)||N(i)||N(j)|...https://www.imooc.com/article/27099
2.协同过滤算法深入解析:构建智能推荐系统的核心技术表示用户V对物品I的评分,s i m ( U , V ) sim(U, V)sim(U,V)表示用户U和用户V之间的相似度。 四、基于物品的协同过滤 基于物品的协同过滤算法的基本思想是:找到与目标物品相似的物品,然后将这些相似物品推荐给对目标物品感兴趣的用户。这种方法主要包括两个步骤: ...https://developer.aliyun.com/article/1267365
1.[推荐算法]ItemCF,基于物品的协同过滤算法==>该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。 基于物品的协同过滤算法主要分为两步: 一、计算物品之间的相似度; 二、根据物品的相似度和用户的历史行为给用户生成推荐列表; 下面分别来看这两步如何计算: 一、计算物品之间的相似度: ...https://blog.csdn.net/yeruby/article/details/44154009
2.基于物品的协同过滤算法(ItemCF)原理以及代码实践基于用户(user-based)的协同过滤(UserCF) 基于物品(item-based)的协同过滤(ItemCF算法) 基于模型(model-based)的协同过滤 (ModelCF算法) 本文主要讲述基于物品的协同过滤(ItemCF)算法的原理以及代码实现。ItemCF算法跟UserCF算法十分相似,关于UserCF算法的介绍可以参考这篇文章。 https://www.jianshu.com/p/f306a37a7374
3.改进的基于物品的协同过滤推荐算法这种传统的基于物品的协同过滤算法忽略了物品本身之间内在的联系,完全只是依赖于用户-物品矩阵,这无法避免由于用户主观上的偏见所导致推荐精度的偏差.针对上述的问题,本文重新定义了物品相似度的计算方法,该方法加入了对于物品内在之间联系的计算.实验结果证明:本文提出的改进的基于物品的协同过滤算法能在进一步提高了推荐的...https://d.wanfangdata.com.cn/periodical/tjlgxyxb201901006
4.GitHub算法(基于物品的协同过滤算法(ItemCF))设计与实现 基于物品的协同过滤算法主要有两步: 计算物品之间的相似度。 根据物品的相似度和用户的历史行为给用户生成推荐列表。 设N(i)是表示喜欢物品 i 的用户数。N(i)?N(j)表示同时喜欢物品 i 物品 j 的用户数。则物品 i 与物品 j 的相似度为: ...https://github.com/Sicmatr1x/EMAN/
5.机器学习推荐算法之协同过滤(基于物品)案例+代码协同过滤算法(基于物品) 基于用户的协同过滤,适用于物品较少,用户也不太多的情况。如果用户太多,针对每个用户的购买情况来计算哪些用户和他品味类似,效率很低下。 如果商品很多,每个用户购买的商品重合的可能性很小,这样判断品味是否相似也就变得比较困难了。 https://blog.51cto.com/u_15172991/5428305
6.基于物品的协调过滤算法腾讯云开发者社区基于物品的协同过滤算法 (简称ItemCF)给用户推荐那些和他们之前喜欢的物品相似的物品。 比如,该算法会因为你购买过《数据挖掘导论》而给你推荐《机器学习》 。不过, ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似度...https://cloud.tencent.com/developer/article/1057554
7.基于用户相似度的随机游走社交网络事件推荐算法协同过滤是推荐领域应用最为广泛的算法[1], 主要包括3种类型:基于用户的协同过滤[2]、基于物品的协同过滤[3]及基于模型的协同过滤[4].基于用户与物品的协同过滤算法通过计算用户或物品之间的相似度完成对目标用户的推荐, 随着用户与物品的增加, 数据稀疏性和冷启动问题制约该算法的推荐质量.矩阵分解是应用最广泛的...https://xuebao.neu.edu.cn/natural/article/html/2019-11-1533.htm