基于领域的算法

UserCF:推荐更社会化,反映了用户所在小型兴趣群体中物品的热门程度;
ItemCF:推荐更个性化,反映了用户自己的兴趣传承;

基于用户的协同过滤算法

UserCF主要包括两个步骤:

  • 找到和目标用户兴趣相似的用户集合
  • 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户

可以通过余弦相似度计算用户u、v的兴趣相似度。
但是,直接计算,时间复杂度很大,可以先建立物品到用户的倒排表,再建立矩阵,再得到用户兴趣相似度。
再通过公式计算用户u对物品i的感兴趣程度。
原始的余弦相似度公式较为粗糙,有改进版

基于物品的协同过滤算法

给用户推荐和他之前喜欢的物品相似的物品。
ItemCF业界应用最多。
UserCF缺点:时间、空间复杂度高;难以对推荐结果进行解释。
步骤:

  • 计算物品之间的相似度
  • 根据物品的相似度和用户的历史行为给用户生成推荐列表

改进1:ItemCF-IUF算法,惩罚活跃用户
改进2:ItemCF-Norm算法,将ItemCF的相似度矩阵按最大值归一化,可以提高推荐的准确率、覆盖率和多样性。
改进3:哈利波特问题,惩罚热门物品

基于LFM隐语义模型

链接

基于人口统计学

链接

基于ALS推荐

常用推荐系统算法分类

  • 基于人口统计学的推荐与用户画像
  • 基于内容的推荐与特征工程
  • 基于协同过滤的推荐

image.png