本文来介绍一下显示反馈与隐式反馈,作为我学习推荐系统的笔记以便日后忘记了可以回过头来温习。

1. 数据分类

  • 显式反馈是指:用户明确喜欢和不喜欢的物品。

  • 隐式反馈是指:用户对于浏览过的物品没有明确表示喜欢或厌恶。这种类型数据只能认为全部是正反馈也即喜欢的物品。

特征

在这里插入图片描述

显式反馈 (如评分评级) 或单一的隐式反馈 (如浏览点击加入购物车)

  • 隐式反馈 (implicit feedback):

    • CTR (Wangchong)
    • CDL (Wang Hao)
    • Neural Collaborative Filtering (Xiangnan He)
  • 显式反馈 (explicit feedback)

    • ConvMF

2. 显性反馈数据模型评价方法:

模型判定推荐的 模型判定不被推荐的
测试集中应当被推荐的 true positives(TP 正类判定为正类) false positives(FP 负类判定为正类)
测试集中不应被推荐的 false negatives(FN 正类判定为负类) true negatives(TN 负类判定为负类)

根据TP ,FP , FN ,TN就可以计算精确率和召回率。再以精确率和召回率计算其他评价方法,精确率和召回率计算参考:

常用推荐系统评测指标

3. 显式反馈转换为隐式反馈

转换的方式主要有以下几种:
以 movielens 数据集为例,电影评分范围为:
1,2,3,4,5(observed) and missing value(unobserved)
(1) rating>=4 : r = 1(正样本,observeed, positive sample) otherwise r = 0(负样本,unobserved, negative sample)
(2) rating不为空 : r = 1(正样本,observeed, positive sample) otherwise r = 0(负样本,unobserved, negative sample),这种方式将所有缺失项都看成是负样本。
(3) rating不为空 : r = 1(正样本,observeed, positive sample) otherwise 通过负采样 r = 0(负样本,unobserved, negative sample),这种方式对缺失项都进行采样,选取一部分作为负样本,如论文Neural Collaborative Filtering (Xiangnan He)。

特别注意:
隐式反馈中,r = 1并不代表用户喜欢该物品(电影),因为不是每个打分都是5分,而且打分因人而异,有的用户比较宽容,打分偏高,有的用户比较严格,打分偏低;r=0也不意味着用户不喜欢该物品,也许用户喜欢该物品只是没有发现该物品而已。r的值仅仅代表用户对该物品有无评分操作,除此之外,别无他意。

4. 隐式反馈的作用

  • 隐式反馈能显著提高推荐系统的预测准确率:

换句话说,用户通过选择表达自己的意见并投票(高或低)来隐式地告诉我们她的偏好。这将评级矩阵简化为二进制矩阵,其中“1”表示“评级”,“0”表示“未评级”。诚然,这种二进制数据不像其他隐式反馈源那样庞大和独立。尽管如此,我们发现结合这种隐式数据-它固有地存在于每个基于评级的推荐系统中-显着提高了预测精度。

5. 参考资料

  1. 推荐系统/分类问题正确率计算和比较方法(显性反馈数据和隐性反馈数据)

  2. 隐式/显式反馈

  3. 显式反馈和隐式反馈

  4. 显式反馈和隐式反馈

  5. 常用推荐系统评测指标

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐