学习目标

要求:

了解推荐算法的基本概念

掌握推荐算法的类别

掌握基于协调过滤的推荐算法

了解其他常见的推荐算法


基本概念

推荐算法是一种基于用户行为、偏好、物品特征等数据,通过特定的数学模型和计算方法,为用户提供个性化物品推荐的技术。

目的是在信息过载的情况下,帮助用户更高效地发现感兴趣的物品,同时也能帮助商家或平台提高用户的参与度和转化率。

类别

  1. 基于内容的推荐算法

根据物品的内容特征(如文本描述、标签、属性等)来计算物品之间的相似度,为用户推荐与他们之前喜欢的物品在内容上相似的其他物品。

  1. 协同过滤算法

利用用户与物品的交互数据(如评分、点击、购买等),找到与目标用户兴趣相似的其他用户(邻居),或者找到与目标物品相似的其他物品,然后基于邻居的行为或相似物品的信息为目标用户进行推荐。

  1. 基于图结构的推荐算法

利用图模型来进行推荐的方法,它将用户和物品表示为图中的节点,通过分析图中节点之间的关系来生成推荐结果。

  1. 混合推荐算法

将多种不同的推荐算法进行组合,综合利用它们的优势,以提高推荐的准确性和多样性。


基于协调过滤的推荐算法

协同过滤算法主要基于用户行为数据,如用户对物品的评分、点击、购买等操作,发现用户之间或物品之间的相似性,然后利用这些相似性为用户提供个性化推荐。

其核心假设是:过去行为相似的用户,在未来对物品的偏好也可能相似;或者用户对相似物品的偏好具有一致性。

基于协调过滤的推荐算法,可分为 基于用户的协调过滤 和 基于内容的协调过滤。

关键步骤:

基于用户的协同过滤 基于物品的协同过滤
数据收集 收集用户对物品的显式评分数据(如用户对电影的打分)或隐式行为数据(如用户的浏览记录、购买记录等)
相似度计算 常用欧氏距离、余弦相似度、皮尔逊相关系数等计算用户之间的相似度,如余弦相似度通过计算两个用户评分向量夹角余弦值衡量相似程度,夹角越小,余弦值越大,用户越相似 常用杰卡德相似系数等,根据用户对不同物品的共同评分情况计算物品之间的相似性,如物品 A 和 B 的杰卡德相似系数等于同时喜欢 A 和 B 的用户数量除以喜欢 A 或 B 的用户总数
邻居选择 依据相似度结果,选与目标用户相似度高的若干用户作为邻居 为目标物品找与其相似度高的若干物品作为邻居
推荐生成 根据邻居用户对物品的评分或偏好,为目标用户推荐邻居喜欢但目标用户未接触的物品,按评分预测值或推荐得分排序 当用户对某物品感兴趣时,依据相似物品的流行度、用户对相似物品的历史评分等,推荐与其相似的其他物品
优点 1. 不需要对物品进行内容分析,适用于文本、图像、音频等各种类型物品,只要有用户行为数据即可推荐
2. 能够发现用户的潜在兴趣,为用户推荐新颖物品
3. 具有较好的个性化推荐效果,能根据用户独特行为模式进行个性化推荐,推荐结果更符合个人偏好

1.准确性较高:基于用户对物品的实际行为数据计算相似度,能较好地捕捉物品之间的真实关联,推荐结果相对准确。

2.推荐结果可解释性强:用户容易理解推荐的物品与自己已喜欢的物品之间的关系。

3.稳定性较好:物品的特征相对稳定,不像用户的兴趣可能会频繁变化,基于物品的协同过滤算法在不同时间点的推荐结果相对稳定,不会出现较大波动。

缺点 1. 数据稀疏性问题:实际中用户行为数据稀疏,大部分用户只对小部分物品评分或操作,导致相似度计算不准确,影响推荐效果
2. 冷启动问题:新用户或新物品因缺乏足够行为数据,难以计算与其他用户或物品的相似度,无法有效推荐
3. 可解释性相对较差:用户难以理解推荐某些物品的原因,可解释性不如基于内容的推荐算法

1.数据稀疏性问题:同基于用户的协同过滤一样,在实际应用中,用户行为数据往往是稀疏的,这会导致物品之间的相似度计算不准确,影响推荐效果。
2.冷启动问题:对于新物品,由于没有足够的用户行为数据,难以计算其与其他物品的相似度,从而无法进行有效的推荐。需要采用一些额外的策略来处理新物品,如基于物品的内容特征进行初步推荐或利用热门物品进行关联推荐。
3.缺乏个性化:虽然是基于用户的行为数据进行推荐,但该算法主要关注物品之间的相似性,对于用户的个性化特征挖掘不够深入。不同用户可能对相同的物品有不同的偏好原因,但算法难以区分这些差异,可能会为不同用户推荐相同的物品列表,而忽略了用户的独特需求。

计算相似度的方法:

  1. 欧式距离
  2. 余弦相似度
  3. 皮尔逊相关系数
  4. 杰卡德相似系数

其他常见的推荐算法

基于图结构的推荐算法:

原理
将用户 - 物品的交互数据构建成一个二分图,图中的节点分为用户节点和物品节点,边表示用户与物品之间的交互关系,如用户对物品的评分、购买、浏览等行为。通过在这个图结构上进行分析和计算,挖掘出用户与物品之间的潜在关联,从而为用户推荐可能感兴趣的物品。

关键步骤

  1. 图构建:根据用户 - 物品的交互数据,创建用户 - 物品二分图。每个用户和物品都对应图中的一个节点,当用户与物品之间存在交互时,就在相应的用户节点和物品节点之间建立一条边。边的权重可以根据交互的强度来设置,例如用户的评分高低、购买次数等。
  2. 节点嵌入:将图中的节点(用户和物品)映射到低维向量空间中,以便于计算机进行处理和分析。常用的方法有基于深度学习的图嵌入算法,如 DeepWalk、Node2Vec 等。这些算法通过在图上进行随机游走,生成节点的序列,然后利用自然语言处理中的词向量模型(如 Word2Vec)来学习节点的向量表示。
  3. 相似度计算:在得到用户和物品的向量表示后,可以使用各种相似度度量方法来计算用户与物品之间的相似度,如余弦相似度、欧式距离等。相似度越高,表示用户对该物品的潜在兴趣越大。
  4. 推荐生成:根据用户与物品的相似度,为每个用户生成一个推荐列表。通常会选择相似度较高的若干物品作为推荐结果,并按照相似度得分进行排序。

优缺点

优点 缺点
能够捕捉复杂关系:图结构可以很好地表示用户与物品之间的复杂交互关系,以及物品之间的关联关系,从而更全面地挖掘用户的兴趣和偏好。
可扩展性强:可以方便地融入其他信息,如用户的属性信息、物品的内容信息等,通过将这些信息也表示为图中的节点和边,进一步丰富图的结构,提高推荐的准确性。
适应性好:对于不同类型的数据和应用场景具有较好的适应性,无论是评分数据、行为数据还是其他类型的数据,都可以通过合适的方式构建图结构并进行推荐。

计算性能:图构建、节点嵌入及相似度计算计算量大,处理大规模数据时算法效率低、系统响应慢

可解释性:模型内部计算复杂,虽图结构直观,但推荐结果解释性不如简单算法,用户难理解推荐原因

数据适配:

存在数据稀疏问题,用户 - 物品交互数据稀疏使节点连接少,影响节点嵌入与相似度计算,降低推荐效果

基于关联规则的推荐算法:

通过分析用户行为数据,发现物品之间的关联规则,例如 “购买了商品 A 的用户通常也会购买商品 B”,然后根据这些规则为用户进行推荐。

基于模型的推荐算法:

利用机器学习或深度学习模型,如矩阵分解、神经网络等,对用户和物品的数据进行建模,学习用户的偏好模式和物品的特征表示,从而进行推荐。以矩阵分解为例,它将用户 - 物品评分矩阵分解为用户特征矩阵和物品特征矩阵,通过这两个矩阵的乘积来预测用户对未评分物品的评分,进而进行推荐。

基于知识的推荐算法:

利用关于用户和物品的领域知识、本体知识等来进行推荐。例如,根据用户的年龄、性别、职业等信息以及物品的功能、适用场景等知识,为用户推荐合适的物品。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐