量化评估推荐系统效果

推荐系统最有效的方法就是A/B test进行模型之间的对比,但是由于现实原因的局限,存在现实实时的困难性,所以,梳理了一些可以补充替代的指标如下,但是离线评估也存在相应的问题:

  1. 数据集的稀疏性限制了适用范围,用户之间的交集稀疏。
  2. 评价结果的客观性,由于用户的主观性,不管离线评测的结果如何,都不能得出用户是否喜欢某推荐系统的结论,只是一个近似的评估。
  3. 深度评估指标的缺失。(如点击深度、购买客单价、购买商品类别、购买偏好)之间的关联关系。
  4. 冷启动
  5. Exploration 和 Exploitation问题

离线模型之间的评估

召回集测试

  • recall 命中skn个数/用户真实点击skn个数
  • precision 命中skn个数/所有预测出来的skn总数
  • F1-Measure 2/(1/recall+1/precison)
  • 交互熵
  • MAE
  • RMSE
  • 相关性 常见的比如:Pearson、Spearman和Kendall’s Tau相关,其中Pearson是更具数值之间的相似度,Spearman是根据数值排序之间的相似度,Kendall’s Tau是加权下的数值排序之间的相似度。
  • 基尼系数
  • 信息熵

排序部分测试

  • NDCG(Normalize DCG)
  • RBP(rank-biased precision)

RBP和NDCG指标的唯一不同点在于RBP把推荐列表中商品的浏览概率p按等比数列递减,而ND CG则是按照log调和级数形式。

离线模型与在线模型之间的评估

很多时候,我们需要确定离线模型的效果足够的健壮才能允许上线进行线上测试,那如何进行离线模型与线上模型的评估对比就是一个比较复杂的问题。

难点

  • 缺乏公平的测试数据 实际处理过程中,我们发现,所有的已知点击都是来自线上模型推荐的结果,所以极端情况下,线上的recall是100%
  • 缺乏公认的衡量指标 在线下对比中,我们发现比如recall、precision、F1-Measure等指标都是大家约定俗成的,不存在很大的争议,而离线在线模型对比却没有一个准确公认的衡量指标

指标设计

  • online_offline_cover_rate&first_click_hit_rate

这一组指标是结合在一起看的,其中online_offline_cover_rate是指针对每一个用户计算理线模型推荐的商品与在线模型推荐的商品的重合个数/在线模型的推荐商品个数,online_offline_cover_rate越低代表离线模型相对在线模型越独立;first_click_hit_rate是指offline模型对用户每天第一次点击的命中率,也就是命中次数/总统计用户数。 结合这两个指标,我们可以得到在online_offline_cover_rate越低的情况下,却能覆盖线上用户真实点击的次数越多,代表offline模型的效果优于线上模型。

  • online_precision_rate/offline_precision_rate

离线模型的准确率和在线模型的准确率。 这边在实际计算的时候采取了一个技巧,针对某个推荐位计算在线模型准确率的时候,用的是从来没有浏览过这个推荐位的用户的浏览历史匹配这个用户这个推荐位的推荐结果。这样可以避免用户的点击结果受到推荐位推荐结果影响的问题。

举个例子:用户在推荐位A上没有浏览过,他的点击是不受推荐位A推荐的商品影响的,拿这个用户推荐位A我们给他线上推荐的结果作为线上模型的推荐结果去计算,这样才更加合理。

  • online_recall_rate/offline_recall_rate

离线模型的召回率和在线模型的召回率。 同上解释。

  • roi_reall/roi_precision

同上解释,只是把未来的点击作为match源更换成了加购物车、购买、收藏这些数据。

其他评估方向

覆盖率

推荐覆盖率越高, 系统给用户推荐的商品种类就越多 ,推荐多样新颖的可能性就越大。如果一个推荐算法总是推荐给用户流行的商品,那么它的覆盖率往往很低,通常也是多样性和新颖性都很低的推荐。

多样性

采用推荐列表间的相似度(hamming distance、Cosine Method),也就是用户的推荐列表间的重叠度来定义整体多样性。

新颖性

计算推荐列表中物品的平均流行度。

其他

用户满意度、用户问卷、信任度、鲁棒性、实时性、

评测维度

最后说一下评测维度分为如下3种,多角度评测:

  • 用户维度 主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
  • 物品维度 包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
  • 时间维度 包括季节,是工作日还是周末,是白天还是晚上等。

附常规评价指标的整理结果(来自论文Evaluation Metrics for Recommender Systems):

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

OpenAI Baselines 更新,新增 HER 强化学习算法

AI 研习社按:富有挑战的新测试环境和任务,极具竞争力的基准模型,你感到兴奋和压力了吗? 为了方便快速开发迭代以及对比测试,各大人工智能机构都会在专门开发的模拟...

5259
来自专栏新智元

【重磅】谷歌发布Open Images图片数据集,包含9百万标注图片

AI World 2016世界人工智能大会 ❶ 业界领袖回溯60年AI历史,全球对话人工智能未来挑战,权威发布2016世界人工智能名人堂及中国人工智能产业发展报...

3755
来自专栏机器学习人工学weekly

机器学习人工学weekly-2018/1/21

1. Google Brain发布2017年总结贴,感觉今年vision方面已经没什么进展了,AutoML还是优先级最高的 链接:https://rese...

3807
来自专栏CDA数据分析师

GitHub上25个最受欢迎的开源机器学习库

在过去的几年里,机器学习为各行各业开创了新纪元,诞生了许多成功的案例: Facebook 的面部识别,Netflix 的智能电影推荐系统,PrimaAI 的图像...

812
来自专栏葡萄城控件技术团队

报表应用系统中如何正确使用图表功能

相信对于报表应用系统研发人员而言,都不会对图表功能感到陌生,因为报表数据通常以图表和表格的形式显示。但是,你真的了解为什么需要使用图表功能吗,不同图表类型的最佳...

1999
来自专栏智能算法

蚁群算法(独辟蹊径的进化算法)

1. 算法背景——蚁群的自组织行为特征 高度结构化的组织——虽然蚂蚁的个体行为极其简单,但由个体组成的蚁群却构成高度结构化的社会组织,蚂蚁社会的成员有分...

3459
来自专栏AI科技大本营的专栏

GitHub上25个最受欢迎的开源机器学习库

在过去的几年里,机器学习为各行各业开创了新纪元,诞生了许多成功的案例: Facebook 的面部识别,Netflix 的智能电影推荐系统,PrimaAI 的图像...

1071
来自专栏AI科技评论

学界 | 用强化学习转鸡蛋、转笔,OpenAI发起新的机械手挑战

AI 科技评论按:富有挑战的新测试环境和任务,极具竞争力的基准模型,你感到兴奋和压力了吗? 为了方便快速开发迭代以及对比测试,各大人工智能机构都会在专门开发的模...

3894
来自专栏新智元

【Science重磅】DeepMind生成查询网络GQN,无监督学习展现3D场景

1201
来自专栏机器之心

观点 | Reddit 热门话题:如何阅读并理解论文中的数学内容?

选自Reddit 机器之心编译 参与:Panda 有的机器学习论文中有大量的数学公式和推导过程,读这样的论文往往很是费力费时。为了了解阅读这样的论文的技巧,Re...

2928

扫码关注云+社区

领取腾讯云代金券