推荐系统

推荐系统

简介

“推荐系统的基本任务是联系用户和物品,解决信息过载的问题”

信息过载:

  • 分类目录:yahoo,hao123
  • 搜索引擎:google,百度
  • 推荐系统:amazon,今日头条

架构

image-20190809134526168

示例

  • 电子商务:amazon

评测

实验方式

  • 离线实验:在离线数据集上进行,简单
  • 用户调查:
  • 在线实验:AB测试

评测指标

  • 召回率: 有多少比例用户物品包含在最终推荐列表中

    $Recall =\frac{\sum_{u}{|R(u)\cap{T(u)}}|}{\sum_u{|T(u)|}}$

  • 准确率:最终的推荐列表中有多少比例是发生过的用户物品评分记录

    $Precision = \frac{\sum_{u}{|R(u)\cap{T(u)}|}}{\sum_{u}{|R(u)|}}$

  • 用户满意度

  • 预测准确度

    • 评分预测
    • TopN推荐
  • 覆盖率:推荐出来的物品占总物品集合的比例。

    $Coverage = \frac{|U_{u\in{U}}R(u)|}{|I|}$

  • 多样性:推荐列表需要能够覆盖用户不同的兴趣领域

  • 新颖性:给用户推荐那些他们以前没有听说过的物品

  • 惊喜度:“如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高”

  • 信任度:

  • 实时性:1. 推荐系统需要实时地更新推荐列表来满足用户新的行为变化;2. “推荐系统需要能够将新加入系统的物品推荐给用户

  • 健壮性:衡量了一个推荐系统抗击作弊的能力

  • 商业目标:

经典推荐算法

基于邻域的算法

  • 基于用户的协同过滤算法(UserCF)
  1. 找到和目标用户兴趣相似的用户集合。
  • Jaccard公式:

    $W_{uv} = \frac{|N(u)\cap{N(v)}|}{|N(u)\cup{N(v)}|}$

  • 余弦相似度:

    $W_{uv} = \frac{|N(u)\cap{N(v)}|}{\sqrt{|N(u)||N(v)|}}$

    改进:

    $W_{uv} = \frac{\sum_{i\in{N(u)I N(v)}}{\frac{1}{log1 + |N(i)|}}}{\sqrt{|N(u)||N(v)|}}$ (User-IIF)

    1. 从相似用户集合中选择与目标用户最相似的K个用户喜欢的物品。
  • 基于物品的协同过滤算法(ItemCF)

隐语义模型(LFM,latent factor model)

基于图的模型(graph-based model)

  • 二分图

updatedupdated2024-08-252024-08-25