zl程序教程

您现在的位置是:首页 >  系统

当前栏目

推荐系统-召回阶段:协同过滤(CF)【基于近邻的协同过滤:UserCF、ItemCF】【基于模型的协同过滤:矩阵分解(MF)ModelCF】【仅能利用用户物品交互信息;无法引入用户、商品具体特征信息】

系统 基于 利用 用户 模型 信息 无法 推荐
2023-09-27 14:20:39 时间

协同过滤(Collaborative Filtering,CF)模型通过对大量用户给出的物品评分协同处理给出推荐,协同过滤的基本思想是根据已知的评分预测未知的评分 [31] ,已知评分和用户和物品息息相关。

协同过滤又可以细分为:

  • 基于近邻的协同过滤
  • 基于模型的协同过滤,

基于近邻的协同过滤是在近邻的基础上,根据用户或物品的相似度选出与目标用户最相似的用户的评分对未评分的物品进行评分预测,如两个用户,他们有相似的喜好物品,两人都给出评分时,评分的数值应该是非常相近的,他们之间的相似度可以通过算法计算出来,根据相似度为物品预测评分。通过用户与用户之间或物品与物品之间的存在的关联性作出预测,好处是易于实现,可以解释为何推荐,但是基于近邻的方法不能处理评分矩阵稀疏的情况,若不能通过评分信息找到相似用户或物品,则不能准确的预测评分。

  • 基于用户(user-based)的协同过滤主要思想是找到与目标用户兴趣相似的用户群,将相似用户偏好的若干个物品推荐给目标用户。可以使用 K 近邻算法进行实现,基于目标用户的 k 个邻居的历史喜好数据,为当前用户做推荐。
  • 基于物品 (item-based)的协同过滤的主要思想是根据目标用户对某些物品的偏好,计算偏好物品与其他物品之间的相似度,将物品相似度最高的几个物品推荐给用户。若用户在 E-Learning 平台学习了数据挖掘相关的课程,等下次用户登录平台时会推荐一系列数据挖掘,数据分析相关的课程,这里用到了基于物品的协同过滤思想。

基于模型的协同过滤基本思想是利用用户偏好信息来训练模型,涉及到机器学习常用的一些的算法如:关联规则,聚类,分类,回归,矩阵分解,奇异值分解和隐语义模型等。通过详细设计和优化算法创建训练模型,模型的参数通过优化框架学习得出,使用模型能估算出稀疏矩阵中缺失的值,通过离线计算实现推荐。

基于模型的协同过滤在以下几方面都优于基于近邻的协同过滤:

  1. 空间复杂度低。通过学习得到的模型的大小远小于初始的评分矩阵,因此对空间需求不高,基于用户协同过滤的算法和基于物品的协同过滤算法的空间复杂度分别为为 O(m 2 ) 和 O(n 2 ) [34] ,其中 m 表示为用户的数量、n 为物品的数量。
  2. 预测速度快。基于近邻的方法预处理环节需要用户数或物品数的平方级别时间,而基于模型的系统在建立训练模型的预处理环节需要的时间往往要少的多,并且通过对模型的优化能够加快预测。
  3. 避免过拟合。过拟合在很多机器学习算法中是非常严重的问题。在这些算法预测结果会被一些随机因素影响。此类问题在分类和回归模型中同样存在。在基于模型的方法中运用总结方法有助于避免过拟合。协同过滤算法的分类图如图 2.2 所示。

在这里插入图片描述
协同过滤(CF)缺点:

  • user-item interactions
  • cold start



参考资料:
《基于ALS和TF-IDF的混合推荐在E-Learning平台中的应用研究》