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.协同过滤算法深入解析:构建智能推荐系统的核心技术然而,协同过滤算法也存在一些局限性。例如,冷启动问题(Cold Start Problem),当新用户或新物品加入系统时,由于缺乏足够的评分数据,协同过滤算法难以准确地推荐相关物品。此外,数据稀疏性(Data Sparsity)也是协同过滤算法面临的一个挑战,由于用户-物品评分矩阵中大部分元素都是缺失值,这可能导致预测准确性较低。 https://developer.aliyun.com/article/1267365
3.通过社交网络关系的图卷积协同过滤实现的产品推荐方法它是一种轻量级的gcn网络构建模型,它舍弃了传统gcn的特征变换和非线性 激活,并通过实验验证了这两种操作对协同过滤是无效的。lightgcn通过在用户-物品交互矩阵 上进行线性传播来学习用户和物品的嵌入,最后将所有层学习到的嵌入的加权和作为最终嵌入。 lightgcn的提出虽然解决了上述方法存在的问题,但是它只限于处理用户-...https://www.xjishu.com/zhuanli/55/202111235556.html
1.基于物品的协同过滤算法(ItemCF)原理以及代码实践从前面的讨论可以看到,在协同过滤中两个物品产生相似度是因为它们共同出现在很多用户的兴趣列表中。换句话说,每个用户的兴趣列表都对物品的相似度产生贡献。那么是不是每个用户的贡献都相同呢? 假设有这么一个用户,他是开书店的,并且买了当当网上80%的书准备用来自己卖。那么他的购物车里包含当当网80%的书。假设当...https://blog.csdn.net/a15835774652/article/details/136583397
2.从原理到落地,七大维度读懂协同过滤推荐算法上面一节简单介绍了协同过滤的思想,基于协同过滤的两种推荐算法,核心思想是很朴素的”物以类聚、人以群分“的思想。所谓物以类聚,就是计算出每个标的物最相似的标的物列表,我们就可以为用户推荐用户喜欢的标的物相似的标的物,这就是基于物品(标的物)的协同过滤。所谓人以群分,就是我们可以将与该用户相似的用户喜...https://cloud.tencent.com/developer/article/1487831
3.第二章:基于物品(模型)的协同过滤基于物品的协同过滤又称为基于模型的协同过滤,不需要保存所有的数据,而是通过构建一个物品相似度模型来获取结果。 修正的余弦相似度 我们使用余弦相似度来计算两个物品的距离。考虑到“分数膨胀”现象,我们会从用户的评价中减去他所有评价的均值,获得修正的余弦相似度。 s(i, j) 表示物品 i 和 j 的相似度,分子...https://www.jianshu.com/p/74adaf07fa14
4.改进的基于物品的协同过滤推荐算法协同过滤物品相似度用户-物品评分矩阵准确率 分类号: TP399(计算技术、计算机技术) 资助基金: 国家自然科学基金(61702368)国家自然科学基金(61170174)国家自然科学基金(91646117)天津市自然科学基金(17JCYBJC15200)天津市自然科学基金(15JCYBJC46500)国家科技重大专项(15ZXZNCX00050) ...https://d.wanfangdata.com.cn/periodical/tjlgxyxb201901006
5.GitHub一个基于SSM框架与物品的协同过滤算法(ItemCF)的简单电子书推荐系统. Contribute to Sicmatr1x/EMAN development by creating an account on GitHub.https://github.com/Sicmatr1x/EMAN/
6.系列学习——推荐算法综述基于物品的协同过滤和基于用户的协同过滤相似,它使用所有用户对物品或者信息的偏好(评分),发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。基于物品的协同过滤可以看作是关联规则推荐的一种退化,但由于协同过滤更多考虑了用户的实际评分,并且只是计算相似度而非寻找频繁集,因此可以认为基...https://maimai.cn/article/detail?fid=242703356&efid=xCTosL0-evQLVNwAlACgEw
7.推荐系统系列之推荐系统概览(上)亚马逊AWS官方博客本质上是矩阵补全的思路,也正是因为基于矩阵的处理,只要用户或者Item有变化,甚至action有变化,可能需要重新计算或者重新训练(业界当前有一些方法做增量协同过滤或者近实时协同过滤)。基于协同过滤的召回策略,细分为如下三种方式:基于用户的协同过滤/UserCF;基于物品的协同过滤/ItemCF;基于模型的协同过滤。http://aws.amazon.com/cn/blogs/china/recommended-system-overview-of-recommended-system-series-part-1/
8.机器学习推荐算法之协同过滤(基于物品)案例+代码机器学习推荐算法之协同过滤(基于物品)【案例+代码】,目录协同过滤算法(基于物品)案例解说总结代码实操每文一语协同过滤算法(基于物品)基于用户的协https://blog.51cto.com/u_15172991/5428305
9.PythonDjango网页界面协同过滤推荐算法实现商品管理与推荐python这种算法通常分为两类:基于用户的协同过滤和基于物品的协同过滤。 基于用户的协同过滤:这种方法首先找出与目标用户兴趣相似的其他用户,然后根据这些相似用户的喜好来推荐物品给目标用户。 基于物品的协同过滤:与之相反,这种方法先找出与目标物品相似的其他物品,然后把这些物品推荐给那些喜欢目标物品的用户。 现在,让我们...https://www.jb51.net/python/305546cjo.htm